python - 我需要在 Kfold 循环中重置模型权重吗?

标签 python machine-learning keras scikit-learn deep-learning

我想用 Kfold 检查我的模型的准确性。我希望在每次迭代之间重置模型权重,因此我不会继续计算之前的迭代权重。下面的代码够了吗?或者模型是否存在于 keras 后端循环之外?

from keras.models import Sequential
from keras.layers import Dense
from sklearn.model_selection import StratifiedKFold
from sklearn.utils import shuffle
import tensorflow as tf

kfold = StratifiedKFold(n_splits=10, shuffle=True, random_state=seed)
sess = tf.InteractiveSession()

for train, test in kfold.split(X, Y):
    model = Sequential()
    model.add(Conv2D)
    #Add more layers
    model.compile()
    model.fit()

    #Calculate accuracy for each test element (pseudo code)
    modelprediction=model.predict(testvalue1,2,3,4,5)
    indexes = tf.argmax(modelprediction, axis=1)

    print(totalAccuracy)

sess = tf.Interactive 和 Keras 后端是否以某种方式保存权重?我应该重置 sess 和 keras 吗?我该怎么做?

最佳答案

由于您在循环内使用 model = Sequential() (即您定义模型),您的模型确实在循环中“重置”(实际上是新定义的)每次迭代,因此您无需采取任何进一步的操作。

关于python - 我需要在 Kfold 循环中重置模型权重吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56114779/

相关文章:

从 Python 运行 Spark 时 Java 堆大小错误

python - 无法包装 QWebView.load 方法

python - 生成包含另一个 NumPy 数组索引的 NumPy 数组

python-3.x - Tensorboard 投影仪可视化 - PCA 不断加载

python - Keras:导入错误:没有名为 data_utils 的模块

python - model.save_weights 和 model.load_weights 未按预期工作

python - 在 pyinstaller 中包含 sqlite3

python - 如何在 tensorflow 中交替训练操作?

r - SMOTE算法及分类 : overrated prediction success

python - RandomForestClassifier 实例尚未安装。在使用此方法之前使用适当的参数调用 'fit'