Tensorflow入门-实现神经网络
Posted yqtaowhu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensorflow入门-实现神经网络相关的知识,希望对你有一定的参考价值。
学习tensorflow一段时间了,感觉非常的好用,在使用时,有时候最重要的是想好神经网络的结构,这样就可以随意的在神经网络中加如隐含层了,特别主要的是矩阵的维度相乘的问题,下面将使用tensorflow实现神经网络,做一下自己的理解.
实现无隐含层的神经网络
下面以手写数字识别的例子作为说明.
读入数据
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data/',one_hot=True)
查看数据情况:
分为训练数据,验证数据和测试数据三类.
print mnist.train.images.shape
print mnist.train.labels.shape
print mnist.test.images.shape
print mnist.test.labels.shape
print mnist.validation.images.shape
print mnist.validation.labels.shape
######################
##这里有55000*784,784为每一个图片的维度,被拉成一个长的向量
(55000, 784)
(55000, 10)
(10000, 784)
(10000, 10)
(5000, 784)
(5000, 10)
这里注意一下,输入训练的x为 n*784 ,w 为 784*10 输出的y为: n*10,即每一个行向量有10个列,表示了其代表0,1…9的概率值.
x = tf.placeholder(tf.float32,[None,784])
其表示,在进行run的时候才读入数据.
y = tf.nn.softmax(tf.matmul(x,W)+b)
softmax为转出每个标签的概率,表示预测的结果.其公式为:
softmaxi=exp(xi)∑jexp(xj)
以上是关于Tensorflow入门-实现神经网络的主要内容,如果未能解决你的问题,请参考以下文章
TensorFlow入门实战|第1周:实现mnist手写数字识别
TensorFlow入门实战|第1周:实现mnist手写数字识别
TensorFlow入门实战|第1周:实现mnist手写数字识别