TensorFlow官方教程学习笔记之2-用于机器学习初学者学习的MNIST数据集(MNIST For ML Beginners)
来源:互联网 发布:淘宝拍卖会的字画真假 编辑:程序博客网 时间:2024/05/17 01:22
1.数据集
MNIST是机器视觉入门级的数据集
2.算法
1)核心
回归(Regression)算法:
2)代价函数
交叉熵(cross-entropy):
3)优化
梯度下降法
3.代码
# Copyright 2015 The TensorFlow Authors. All Rights Reserved.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.# =============================================================================="""A very simple MNIST classifier.See extensive documentation athttps://www.tensorflow.org/get_started/mnist/beginners"""from __future__ import absolute_importfrom __future__ import divisionfrom __future__ import print_functionimport argparseimport sysfrom tensorflow.examples.tutorials.mnist import input_dataimport tensorflow as tfFLAGS = Nonedef main(_): # Import data mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True) # Create the model x = tf.placeholder(tf.float32, [None, 784]) W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) y = tf.matmul(x, W) + b # Define loss and optimizer y_ = tf.placeholder(tf.float32, [None, 10]) # The raw formulation of cross-entropy, # # tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(tf.nn.softmax(y)), # reduction_indices=[1])) # # can be numerically unstable. # # So here we use tf.nn.softmax_cross_entropy_with_logits on the raw # outputs of 'y', and then average across the batch. cross_entropy = tf.reduce_mean( tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y)) train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy) sess = tf.InteractiveSession() tf.global_variables_initializer().run() # Train for _ in range(1000): batch_xs, batch_ys = mnist.train.next_batch(100) sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys}) # Test trained model correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1)) accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--data_dir', type=str, default='/tmp/tensorflow/mnist/input_data', help='Directory for storing input data') FLAGS, unparsed = parser.parse_known_args() tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
4.参考资料
[1] MNIST For ML Beginners
阅读全文
0 0
- TensorFlow官方教程学习笔记之2-用于机器学习初学者学习的MNIST数据集(MNIST For ML Beginners)
- TensorFlow官方教程学习笔记之3-用于机器学习专家学习的MNIST数据集(MNIST For ML Beginners)
- TensorsFlow学习笔记3----面向机器学习初学者的MNIST教程(MNIST For ML Beginners)
- TensorFlow官方教程学习 MNIST For ML Beginners
- 学习MNIST For ML Beginners笔记
- TensorFlow学习篇【2】MNIST For ML Beginners
- tensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试(MNIST For ML Beginners)
- tensorflow 学习笔记(1) MNIST for beginners
- TensorFlow官方教程学习笔记(四)——MNIST数据集的读取
- TensorFlow笔记1-mnist机器学习教程
- TensorFlow之三 ----- 机器学习初学者的MNIST
- TENSORFLOW官方文档-MNIST机器学习入门-数据集准备
- TensorFlow教程01:针对机器学习初学者的MNIST实验——MNIST介绍
- TensorsFlow学习笔记4----面向机器学习专家的深度MNIST教程(Deep MNIST for Experts)
- Tensorflow教程-MNIST机器学习入门
- MNIST For ML Beginners
- TensorFlow教程02:针对机器学习初学者的MNIST实验——Softmax回归
- TensorFlow教程04:针对机器学习初学者的MNIST实验——源码和运行结果
- 有趣的JavaScript原生数组函数
- ThreadLocal工作机制-基于安卓sdk 25
- scrapyd部署项目时的错误:environment can only contain strings
- 欢迎使用CSDN-markdown编辑器
- whereis查找指定文件、命令和手册页位置
- TensorFlow官方教程学习笔记之2-用于机器学习初学者学习的MNIST数据集(MNIST For ML Beginners)
- 关于thinkphp生成的验证码不显示问题解决
- spring框架
- 一个JS图片放大镜,实现动态记录的图片放大,避免内存泄露,解决IE6下无法遮盖select控件问题
- Maximum Subarray(分治法)
- linux环境下安装redis,绝对ok
- Java 异常学习总结
- Redis数据迁移-键迁移
- JavaScript操作DOM节点元素重排