我有一个关于张量流的问题;
我的网络状况是固定的,但由于每种情况的某些局部特征,我想在许多不同的情况下进行培训;由于输入(不同情况)是“相似的”,因此我想使用上一个的训练结果来初始化此新学习。
我尝试过以下操作(简化了我的代码),是否有人有更好的实现此主意?谢谢

   cae_in = tf.placeholder(tf.float32,(some size))

   cae_out = tf.placeholder(tf.float32,(None,(some size))

   out = some_function(cae_in)

   loss = tf.reduce_mean(tf.square(out-cae_out))

   optimiser = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(loss)

   init_op = tf.global_variables_initializer()

   with tf.Session() as sess:
       init_op.run()

       for inx in range(all_cases):
           feed_in = some array[i]
           feed_in2 = some array[i]

           for iteration in range(0,n_iterations):
               sess.run([optimiser], feed_dict = {cae_in: feed_in,cae_out:feed_in2})

最佳答案

在检查点完成一个会话后,可以尝试保存可训练的变量:

saver = tf.train.Saver(tf.trainable_variables())

with tf.Session():
    ...
    saver.save()


在开始另一项训练之前,从该检查点还原。

09-11 19:44
查看更多