由于GFW的缘故,直接安装Tensorflow需要翻墙,选择了docker安装的方式,感谢国内极客学院提供了编译好的docker镜像,也可以下载另一个地方的docker镜像。
1、安装tensorflow
环境:ubuntu14.04+Docker1.6.2
第一步,安装ubuntu虚拟机。一定要安装14.04版本的。
第二步,配置ubuntu的源,使用阿里云的源。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份
sudo vim /etc/apt/sources.list #修改
...
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
...
sudo apt-get update #更新列表
第三步,安装docker。
sudo apt-get install docker.io
第四步,上传tensorflow的docker镜像到ubuntu虚拟机。
第五步,docker中加载和运行tensorflow镜像。
sudo docker load < tensorflow.tar
加载成功后,利用docker images命令查看:
显示已成功加载镜像,来自b.gcr.io这个docker repository的镜像。
执行运行:
docker run -it b.gcr.io/tensorflow/tensorflow
运行成功后,可以看到docker中已经新增了一个container,这个container与主机(ubuntu虚拟机)的文件交互,会用到下面的信息:
第六步,tensorflow安装完成。可以通过python命令验证。
2.MNIST例子
MNIST是机器学习中”hello world”类型的例子。
tensorflow的python例子在 /usr/local/lib/python2.7/dist-packages/tensorflow中,MNIST例子在其子目录 models/image/mnist中
第一步,准备数据。
去大牛yannlecun网站下载4个数据:
train-images-idx3-ubyte.gz: training set images (9912422 bytes)
train-labels-idx1-ubyte.gz: training set labels (28881 bytes)
t10k-images-idx3-ubyte.gz: test set images (1648877 bytes)
t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes)
第二步,拷贝数据到docker容器下的mnist文件夹。
上传到ubuntu虚拟机主机,从主机上拷贝数据的步骤如下:
1、利用docker ps命令找到容器的id。
2、利用docker inspect 命令得到容器的完整id:
3、利用docker
sudo cp train-* t10k-* /var/lib/docker/aufs/mnt/{这里填完整的id}
可以把mnist数据从主机拷贝到当前这个docker容器的根目录,然后把数据cp到mnist文件夹data目录下,执行神经网络的程序:
…
最终结果:
随机批量梯度下降的错误率:0.0%
测试集上的错误率:0.8%
验证集上的错误率:0.9%
可见,深度学习在计算机视觉(CV)上应用是十分强大。
有时间再来详细解读神经网络的python程序,看看如何利用tensorflow这款利器的。