Machine learning Tensorflow MNIST初学者需要了解一些评估步骤

Machine learning Tensorflow MNIST初学者需要了解一些评估步骤,machine-learning,classification,tensorflow,mnist,Machine Learning,Classification,Tensorflow,Mnist,我浏览了Tensorflow中评估训练模型的基本示例。它是这样说的: accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float")) print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels})) 我没有遵循这个代码,受过训练的“模型”在哪里?或者它是tf.reduce_平均值(..)?检查经过培训的模型。正如“Guy Coder

我浏览了Tensorflow中评估训练模型的基本示例。它是这样说的:

accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
我没有遵循这个代码,受过训练的“模型”在哪里?或者它是tf.reduce_平均值(..)?检查经过培训的模型。

正如“Guy Coder”所说,在开始使用tensorflow之前,也许你应该检查其他在线资源或MOOC

但不管怎样,也许你会对这个有更清晰的了解

在tensorflow中训练模型分为两部分

  • 首先声明模型的结构,包括不同的层和变量。Tensorflow将从中生成一个图表,但目前还没有进行任何计算
  • 然后让tensorflow“运行”并优化模型。这里你要做的是告诉tensorflow你想要减少交叉熵,或者你定义的任何损失函数,所以你提供输入数据和标签,图形需要计算它
  • 在这之后,你会得到一个训练有素的模型。也许您希望保存模型并在以后重用它,但这是另一回事

    因此,在训练期间或训练结束后可以调用
    print(sess.run(accurity,feed_dict={x:mnist.test.images,y:mnist.test.labels}))

    <>这是在告诉ToSoFrof使用变量的当前值来计算精度(也许你在训练的中间)。你将图像和标签输入这个精度函数。Tensorflow将取x值,并尝试预测y_,其准确性将取决于他的表现

    与经过训练的模型的连接来自
    correct\u prediction
    功能,该功能应将正确的输出与模型的预测进行比较,即y与y

    希望这有帮助

    编辑

    我会根据你的评论来回答,但要知道你的问题解释得很糟糕。。。正如苏卡尔所指出的那样

    要保存模型,请执行以下操作:

    # model declared before this line
    with tf.Session() as sess:
        # Merge all the summaries and write them out to /tmp/tf
        merged = tf.merge_all_summaries()
        writer = tf.train.SummaryWriter("/tmp/tf", sess.graph_def)
        tf.initialize_all_variables().run()
    
        saver = tf.train.Saver()
    
        """
        train the model...
        """
    
        print "Model succesfuly trained"
    
        # now save the model in a subdirectory called "model"
        checkpoint_path = os.getcwd() + "/model/model.ckpt"
        saver.save(sess, checkpoint_path)
        print "Model saved"
    
    要恢复模型,请像“Guy Coder”所说的那样,在开始使用tensorflow之前,也许您应该查看其他在线资源或MOOC

    但不管怎样,也许你会对这个有更清晰的了解

    在tensorflow中训练模型分为两部分

  • 首先声明模型的结构,包括不同的层和变量。Tensorflow将从中生成一个图表,但目前还没有进行任何计算
  • 然后让tensorflow“运行”并优化模型。这里你要做的是告诉tensorflow你想要减少交叉熵,或者你定义的任何损失函数,所以你提供输入数据和标签,图形需要计算它
  • 在这之后,你会得到一个训练有素的模型。也许您希望保存模型并在以后重用它,但这是另一回事

    因此,在训练期间或训练结束后可以调用
    print(sess.run(accurity,feed_dict={x:mnist.test.images,y:mnist.test.labels}))

    <>这是在告诉ToSoFrof使用变量的当前值来计算精度(也许你在训练的中间)。你将图像和标签输入这个精度函数。Tensorflow将取x值,并尝试预测y_,其准确性将取决于他的表现

    与经过训练的模型的连接来自
    correct\u prediction
    功能,该功能应将正确的输出与模型的预测进行比较,即y与y

    希望这有帮助

    编辑

    我会根据你的评论来回答,但要知道你的问题解释得很糟糕。。。正如苏卡尔所指出的那样

    要保存模型,请执行以下操作:

    # model declared before this line
    with tf.Session() as sess:
        # Merge all the summaries and write them out to /tmp/tf
        merged = tf.merge_all_summaries()
        writer = tf.train.SummaryWriter("/tmp/tf", sess.graph_def)
        tf.initialize_all_variables().run()
    
        saver = tf.train.Saver()
    
        """
        train the model...
        """
    
        print "Model succesfuly trained"
    
        # now save the model in a subdirectory called "model"
        checkpoint_path = os.getcwd() + "/model/model.ckpt"
        saver.save(sess, checkpoint_path)
        print "Model saved"
    

    要恢复模型,请查看

    清楚地询问您的问题,清除格式。学习如何提问。你的问题没有多大意义。我对学习TensorFlow很感兴趣,但我意识到,除了开始时运行示例之外,我还缺乏做任何事情的基本词汇和概念。所以,要想了解我转向的基础知识并清楚地问你的问题,请清除你的格式。学习如何提问。你的问题没有多大意义。我对学习TensorFlow很感兴趣,但我意识到,除了开始时运行示例之外,我还缺乏做任何事情的基本词汇和概念。因此,为了获得基础知识,我使用了完整的MNIST示例来说明它的工作原理,但从我的角度来看,我们获取数据、创建模型、训练模型并测试模型。重点是TensorFlow中的这个模型对象在哪里,我如何保存它并在应用程序中使用它,哪个对象是经过训练的模型?Tensorflow模型是如何保存和使用的?您需要要求OP发布一个新问题。我知道新人们习惯于讨论板,但StackOverflow不是讨论板。通过发布新问题,它可以让寻求答案的人快速找到答案。感谢这真的很有帮助!在制定下一个问题时,请尽量弄清楚。我遵循了完整的MNIST示例,说明了它是如何工作的,但从我看到的我们如何获取数据、创建模型、训练模型和测试模型。重点是TensorFlow中的模型对象在哪里,我如何保存它并在应用程序中使用它,哪个对象是经过训练的模型?Tensorflow模型是如何保存和使用的?您需要要求OP发布一个新问题。我知道新人们习惯于讨论板,但StackOverflow不是讨论板。通过发布新问题,它可以让寻求答案的人快速找到答案。感谢这真的很有帮助!在制定下一个问题时,请尽量弄清楚