保存和恢复张量流RNN

时间:2018-11-20 10:45:46

标签: python tensorflow conditional rnn

我已经使用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)]]

我不知道如何解决此问题。请问有人能对此有所启发吗?

0 个答案:

没有答案