tensorflow深度学习入门

本文介绍了Tensorflow作为强大开源软件库的基础知识,包括其优势,如TF.Learn和TF-Slim API,以及Keras和PrettyTensor等高级API。详细阐述了Tensorflow的基本使用流程,从准备数据到评估模型,并通过MNIST数据集实战展示了softmax分类和CNN的实现。同时,提到了TensorBoard的可视化工具和模型保存的重要性。
摘要由CSDN通过智能技术生成

Tensorflow是什么

TensorFlow是一个用于数值计算的强大开源软件库, 非常适合大型机器学习。 它背后的原理很简单: 首先在Python中定义一个用来计算的图 , 然后TensorFlow就会使用这个图, 并用优化过的C++代码来执行计算。

Tensorflow的优势

  • 提供了一个非常简单的名叫TF.Learn(tensorflow.contrib.learn)的Python API来兼容Scikit-Learn。
  • 可以将计算图分解进行并行计算。
  • 提供另一个叫作TF-Slim(tensorflow.contrib.slim)的简单API来简化神经网络的构建、 训练和评估。
  • 在TensorFlow之上, 独立构建了一些高级的API, 比如Keras(http://keras.io) 和PrettyTensor(https://github.com/google/prettytensor/)
  • 提供一个非常强大的叫作TensorBoard的可视化工具

Tensorflow使用基本流程

详见tensorflow中文主页
(1)准备数据,创建节点,包括变量,常量,占位符,并定义节点运算

#变量,占位符定义
x = tf.placeholder("float", shape=[None, 784])
y_ = tf.placeholder("float", shape=[None, 10])
W = tf.Variable(tf.zeros([784,10]))
b = tf.Variable(tf.zeros([10]))
#节点运算
y = tf.nn.softmax(tf.matmul(x,W) + b)

(2)初始化节点

sess.run(tf.initialize_all_variables())

(3)创建损失函数

cross_entropy = -tf.reduce_sum(y_*tf.log(y))

(4)对损失函数进行优化

train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)

(5)启动图, 加载数据,运行节点,训练模型

import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)

for i in range(1000):
  batch = mnist.train.next_batch(50)
  train_step.run(feed_dict={x: batch[0], y_: batch[1]})

(6)评估模型

correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
print accuracy.eval(feed_dict={x: mnist.test.images, y_: mnist.test.labels})

(7)使用tensorboard查看训练曲线
(8)保存模型

利用MNIST来实现Tensorflow基本语法

softmax分类基于tensorflow实现MNIST

方法步骤&#

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值