我已经使用Tensorflow用Python编写了一个顺序模型(RNN),该模型已经对大量数据进行了训练,我们将其作为一个较大项目的一部分,用于分析客户活动电子邮件交互行为。
该项目的性质是每周都有可用的新数据,我们希望能够将其合并到现有模型中。
为此,作为初始训练阶段的一部分,我将模型保存如下:
FormControlLabel
这以其自己的独立Python脚本运行。
然后,稍后,我使用Jupyter Notebook脚本还原模型,其目的是1)合并新数据,或2)运行预测:
# Initialize the variables (i.e. assign their
default value)
init = tf.global_variables_initializer()
# Add ops to save and restore all the variables.
saver = tf.train.Saver()
# Start training
with tf.Session() as sess:
# Run the initializer
sess.run(init)
# Train using batches
# ...
# ...
print("Optimization Finished!")
# Calculate and display accuracy on test set
# ...
# Save the variables to disk.
save_name = '{0}/{1}_seqmdl_session'.format(outputdir, datasetname)
save_path = saver.save(sess, save_name, write_meta_graph=True)
print("Model saved in path: '{0}'".format(save_path))
hypersave_name = '{0}/{1}_seqmdl_hyperparams.dat'.format(outputdir, datasetname)
dumpHyperParams(hypersave_name)
print("Hyper parameters saved in: '{0}'".format(hypersave_name))
这似乎行得通,因为我得到了:
INFO:tensorflow:从data / Live / Week2 / quickmails_2018-03-01-2018_04-09_quickmail_deliveries_merged_encrypted_ot_seqmdl_session中恢复参数
但是,当我随后尝试运行预测时,例如,出现以下错误:
InvalidArgumentError:“ then”的批次数量必须与“ cond”的大小匹配,但看到的是:121680与243360 [[节点:rnn / cond_1 / cond / Select_1 =选择[T = DT_FLOAT,_device =“ / job:localhost /副本:0 /任务:0 /设备:CPU:0”]](rnn / cond_1 / cond / Select / Switch_1,rnn / cond_1 / cond / Select_1 / Switch,rnn / cond_1 / cond / Select_1 / Switch_1)]]
我不知道如何解决此问题。请问有人能对此有所启发吗?