Tensorflow 在一个脚本中训练多个Keras模型
我想在一个队列中训练不同的Keras模型(或者在某些情况下只是对同一模型进行多次运行以比较结果)(如果需要的话,使用TensorFlow作为后端)。在我当前的设置中,我在一个大型python脚本中创建并适应所有这些模型,例如(以简化的方式):Tensorflow 在一个脚本中训练多个Keras模型,tensorflow,keras,Tensorflow,Keras,我想在一个队列中训练不同的Keras模型(或者在某些情况下只是对同一模型进行多次运行以比较结果)(如果需要的话,使用TensorFlow作为后端)。在我当前的设置中,我在一个大型python脚本中创建并适应所有这些模型,例如(以简化的方式): create\u model(i)函数为i的第次运行创建特定的模型。例如,这包括更改输入/标签的数量。每次运行的编译函数也可能不同(例如,不同的优化器) 虽然这段代码对我有效,我没有发现任何问题,但我不清楚这是否是正确的方法,因为所有模型都位于同一张Ten
create\u model(i)
函数为i
的第次运行创建特定的模型。例如,这包括更改输入/标签的数量。每次运行的编译函数也可能不同(例如,不同的优化器)
虽然这段代码对我有效,我没有发现任何问题,但我不清楚这是否是正确的方法,因为所有模型都位于同一张TensorFlow图中(如果我正确理解Keras/TensorFlow的工作方式)。我的问题是:
I
第次运行对I+1
第次运行产生任何影响)for
循环中的some\u函数to\u save\u model()
),则通过keras.backend.clear\u Session()
清除会话/删除图表是否有任何影响?与当前设置相比,这在某种程度上是否有益for i in range(10):
model = create_model(i)
model.compile(...)
model.fit(...)
some_function_to_save_model(model)
for i in range(10):
model = create_model(i)
model.compile(...)
model.fit(...)
some_function_to_save_model(model)
# clear session:
keras.backend.clear_session()
for i in range(10):
model = create_model(i)
model.compile(...)
model.fit(...)
some_function_to_save_model(model)
for i in range(10):
model = create_model(i)
model.compile(...)
model.fit(...)
some_function_to_save_model(model)
# clear session:
keras.backend.clear_session()
i = 5 # (e.g.)
model = create_model(i)
model.compile(...)
model.fit(...)
some_function_to_save_model(model)
例如,一个bash脚本循环通过这些