文章标题
来源:互联网 发布:剑灵邀请一直网络忙 编辑:程序博客网 时间:2024/06/01 09:47
第一天接触深度学习tensorflow,简单记录一下今天的代码尝试。首先当然是mnist数据集。这里忽略tensor等基本知识,因为目前还不是很了解,先从mnist代码找一下初试感觉。
1 首先要配置好tensorflow,进行“hello world”测试,交互平台用的pycharm
2 开始码mnist代码
mnist数据集下载和读取数据: from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
运行程序run
然后会在工程文件下看到新建了一个MNIST_data文件,里边包含了下载好的mnist数据集;
导入tensorflow:
import tensorflow as tf
定义x,x不是具体的价值,这是一个placeholder值,当我们要求TensorFlow运行一个计算时,我们将输入一个值。我们希望能够输入任何数量的MNIST图像,每个图像被平铺成784维的向量。我们将其表示为具有形状的浮点数的2-D张量[None, 784]。(这里None表示尺寸可以是任意长度。)
x = tf.placeholder(tf.float32, [None, 784])
我们还需要我们的模型的权重和偏差。我们可以想象,像其他输入一样处理这些信息,但是TensorFlow有一个更好的处理方式:Variable。A Variable是一个可修改的张量,居住在TensorFlow的交互操作图中。它可以被计算使用甚至修改
W=tf.Variable(tf.zeros([784,10]))b=tf.Variable(tf.zeros([10]))
模型定义,这里只用一层softmax ,y为预测值,
y = tf.nn.softmax(tf.matmul(x, W) + b)
y_为样本真实标签
y_ = tf.placeholder(tf.float32, [None, 10])
然后我们可以实现交叉熵函数, cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
首先,tf.log计算每个元素的对数y。接下来,我们将每个元素乘以y_相应的元素tf.log(y)。然后 tf.reduce_sum,由于该reduction_indices=[1]参数,在y的第二维中添加元素 。最后,tf.reduce_mean计算批次中所有示例的平均值。
用反向传播算法训练:
train_step = tf.train.GradientDescentOptimizer(0.05).minimize(cross_entropy)
cross_entropy使用 学习率为0.5 的 梯度下降算法进行最小化。
我们现在可以在以下模式中启动InteractiveSession: sess = tf.InteractiveSession()
全局变量初始化:
tf.global_variables_initializer().run()
训练 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})
评估模型:
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
我这里迭代一万次,准确率为92.2%
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- D_D系统构建-MBR(8)filesystem.inc代码整改适配32位(附提供当前整个开发目录文件)
- BZOJ 2100 [Usaco2010 Dec]Apple Delivery 最短路
- The RT Patch---what needs to be done to get it into Mainline ---Steven Rostedt
- 汉诺塔
- C++中static、const、static const修饰变量作用详解
- 文章标题
- Logstash插件filter介绍及ELK相关预警配置
- 识别浏览器的方法
- POJ.1321 棋盘问题 (DFS)
- 第五章 神经网络
- 王小二切饼
- pageEncoding和charset 编码 以及<%@ page contentType="text/html; charset=utf-8"....>作用
- attention 机制入门
- 以开始、中间、最后为基准的递归快排实现