一、tensorflow安装
如果安装是GPU版本Tensorflow ,在安装前安装好Cuda和Cudnn。
一般情况下安装好ubuntu系统后就会自带安装好了python最好用这个原装的python不需要再重新安装python的编辑器了。
在这里选择用pip安装tensorflow,所以先安装pip。
1、安装pip步骤很简单,依次在终端上编辑这三行代码:
1、$ sudo apt-get install python-pip python-dev build-essential
2、$ sudo pip install --upgrade pip
3、$ sudo pip install --upgrade virtualenv
2、终端输入:
$ pip list
查看pip的包是否安装完全,发现此时列表里并没有我们希望的tensorflow。
3、安装tensorflow工具包:
$ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
4、测试安装的tensorflow:
1、~$ python
2、Python 2.7.6 (default, Jun 22 2015, 17:58:13)
3、[GCC 4.8.2] on linux2
4、Type "help", "copyright", "credits" or "license" for more information.
5、>>> import tensorflow as tf
6、>>> hello = tf.constant("Haha, very happy!")
7、>>> sess = tf.Session()
8、>>> print sess.run(hello)
Haha, very happy!
9、>>> a = tf.constant(10)
10、>>> b = tf.constant(32)
11、>>> print sess.run(a+b)
42
恭喜你,tensorflow安装完全了,可以去happy啦!
二、mnist 入门
当我们学习编程的时候,第一件事情往往是学习如何打印出“Hello World”。正如编程中会有“Hello World”,Tensorflow中入门有mnist,关于mnist,谷歌官方给出了两篇教程。下面简单介绍下如何运行Tensorflow自带的mnist的Python程序。
Mnist是一个入门级的计算机视觉数据集,它包含各种手写数字图片:
它也包含每一张图片对应的标签,告诉我们这个是数字几。比如,上面这四张图片的标签分别是5,0,4,1。在此教程中,我们将训练一个机器学习模型用于预测图片里面的数字。
关于tensorflow手写数字识别的大致步骤:
1、将要识别的图片转为灰度图,并且转化为28*28矩阵(单通道,每个像素范围0-255,0为黑色,255为白色);
2、将28*28的矩阵转换成1维矩阵(也就是把第2,3,4,5…….行矩阵纷纷接入到第一行的后面);
3、用一个1*10的向量表示标签,也就是这个数字到底是几;
4、softmax回归预测图片是哪个数字的概率;
5、用交叉熵和梯度下降法训练参数。
关于上述几个步骤中所涉及到的softmax回归预测以及交叉熵、梯度下降法等可参见以下博文链接:
http://www.jianshu.com/p/2186766b69dc
http://www.jianshu.com/p/4195577585e6
http://www.jianshu.com/p/a1dc77933763
在运行mnist的入门示例程序的前提是正确安装配置tensorflow。
(1)进入tensorflow的安装目录,如图:
运行mnist目录下的convolutional.py程序:
运行结果如下:
运行结束后,会在mnist目录下生成data文件夹,进入data文件夹下查看,如图:
这里的t10k-images-idx3-ubyte.gz,t10k-labels-idx1-ubyte.gz,train-images-idx3-ubyte.gz,train-labels-idx1-ubyte.gz是mnist的数据集
(2)下载mnist-master文件夹(http://pan.baidu.com/s/1bpwYddl),并上传到服务器上,在mnist-master文件夹下,有如下文件,如图:
mnist_softmax.py:mnist机器学习入门
mnist_deep.py:深入mnist
fully_connected_feed.py:tensorflow运作方式入门
mnist_with_summaries.py:tensorboard训练过程可观化
并将(1)中data文件夹下的mnist数据集拷贝到Mnist_data文件夹下,如图:
运行mnist_softmax.py结果如图:
运行fully_connected_feed.py,如图: