我想对文件ConvNet.py
进行几次训练,以便生成有关其训练的一些统计信息,例如精度,混淆矩阵等。因此,我尝试(在Google colab中)做类似的事情
for k in range(10:
%run ConvNet.py
第一次训练进行得很好,但是在第二次训练开始时就出现了问题。它说“ weights
变量已被定义,不允许使用”(weights
是我在ConvNet.py中定义的第一变量),脚本停止了。
我尝试用os kill清除变量,但是仍然存在问题。我该如何解决?
答案 0 :(得分:0)
如果直接用Python进行迭代训练可能会更好。
您对设置没有太多的分享,但是您可以执行以下操作:
import tensorflow as tf
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
def build_model():
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten(input_shape=(28,28,)))
model.add(tf.keras.layers.Dense(32, activation="relu"))
model.add(tf.keras.layers.Dense(10, activation="sigmoid"))
model.compile(optimizer=tf.train.AdamOptimizer(),
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
return model
for i in range(10):
model = build_model()
model.fit(x_train, y_train)
model.save_weights(f"./weights-{i}.hdf5")
要进行分析时:
for i in range(10):
model = build_model()
model.load_weights(f"./weights-{i}.hdf5")
do_analysis(model)