Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tensorflow 1x为什么将会话运行优化器保存为变量?_Tensorflow_Optimization - Fatal编程技术网

tensorflow 1x为什么将会话运行优化器保存为变量?

tensorflow 1x为什么将会话运行优化器保存为变量?,tensorflow,optimization,Tensorflow,Optimization,我正在从DataCamp教程学习tensorflow,在最后的培训阶段,我有以下代码。我的问题是台词 opt=sess.run(优化器,feed_dict={x:batch_x,y:batch_y}) 为什么我们要将sess.run(优化器,…)保存为变量?变量“opt”不会在任何地方再次使用。。。关于tensorflow优化器如何在引擎盖下工作的一些解释将非常棒,谢谢 cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(l

我正在从DataCamp教程学习tensorflow,在最后的培训阶段,我有以下代码。我的问题是台词

opt=sess.run(优化器,feed_dict={x:batch_x,y:batch_y})

为什么我们要将sess.run(优化器,…)保存为变量?变量“opt”不会在任何地方再次使用。。。关于tensorflow优化器如何在引擎盖下工作的一些解释将非常棒,谢谢

cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=pred, labels=y))
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)

training_iters = 20
saver = tf.train.Saver()
# tf.reset_default_graph()
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    train_loss = []
    test_loss = []
    train_accuracy = []
    test_accuracy = []
    summary_writer = tf.summary.FileWriter('./Output', sess.graph)

    for i in range(training_iters):
        for batch in range(len(train_X)//batch_size):
            batch_x = train_X[batch*batch_size:min((batch+1)*batch_size,len(train_X))]
            batch_y = train_y[batch*batch_size:min((batch+1)*batch_size,len(train_y))]    

            opt = sess.run(optimizer, feed_dict={x: batch_x, y: batch_y})

            # print(type(opt)) # class 'NoneType'

            loss, acc = sess.run([cost, accuracy], feed_dict={x: batch_x, y: batch_y})
        print("Iter " + str(i) + \
              ", Loss= " + "{:.6f}".format(loss) + \
              ", Training Accuracy= " + "{:.5f}".format(acc))      # prints the loss and training accuracy after each epoch

        print("Optimization Finished!")

        # Calculate accuracy for all 10000 mnist test images
        test_acc, valid_loss = sess.run([accuracy,cost], feed_dict={x: val_X, y: val_y})
        train_loss.append(loss)
        test_loss.append(valid_loss)
        train_accuracy.append(acc)
        test_accuracy.append(test_acc)
        print("Testing Accuracy:","{:.5f}".format(test_acc))

    saved_path = saver.save(sess, './my-model', global_step=training_iters)    

    summary_writer.close()