大家好,我是帅气小伙,我要开始探索人工智能了!其实也不是难的事情,写这篇文章的目的是,记录自己在安装Tensorflow的过程,方便以后查看;帮助广大朋友搭建学习环境。如果大家能看到这篇文章,就证明我已经成功地搭建了学习环境,安装步骤是可靠的。
前言
1.我为什么要学习Tensorflow?
因为我想学Linux,学python,学docker,学git,学tensorflow,就是这么贪心。
2.如何克服在Linux上的水土不服?
我自己本身沉浸在windows的图形界面不能自拔,但是换去了Linux的命令行操作模式,显然会感到不舒服。
首先我们必须在安装虚拟机的时候,装纯英文版。一切畏惧命令行的根本原因在于,你害怕记英语单词。
然后我们必须强迫自己去用命令行,一开始不懂命令行没关系,多去查就知道了,在搜索时前缀 “Linux用命令行实现XXXX”,这样搜到的基本是命令行的了。
最后就是多看多学多练了,花了时间就能熟练
3.如何去入门Tensorflow?
其实如果你想学Tensorflow,关键在于弄懂
什么是tensor(张量);什么是flow(流)。搞清楚深度学习和Tensorflow的关系。我还是觉得不要拘泥于那些python代码。
学习资源我推荐:
准备
64位Ubuntu16.04LTS 虚拟机
4G内存(最低了,因为人工智能的需要大量的内存,这点内存仅够学习使用)
65G硬盘(越多越好,因为我们需要下载大量的数据集去训练模型)
其他没什么可以说的了,开搞!
安装Tensorflow
1.安装git
sudo apt-get install git -----安装
git --version -----验证
2.安装Bazel
官方教程----很官方
a.JDK8的安装(必须的)
sudo add-apt-repository ppa:webupd8team/java ----添加仓库
sudo apt-get update ----更新软件列表
sudo apt-get install oracle-java8-installer ----正式安装jdk8
java -version ----验证安装
b.Bazel的安装
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install bazel
bazel version
3.Tensorflow的源码安装
包依赖检查 (全部复制进去就可以了)
sudo apt-get update&&sudo apt-get install -y \
build-essential \
curl \
libcurl3-dev \
git \
libfreetype6-dev \
libpng12-dev \
libzmq3-dev \
pkg-config \
python-dev \
python-numpy \
python-pip \
software-properties-common \
swig \
zip \
zlib1g-dev
Tensorflow 真正的安装
git clone --recurse-submodules https://github.com/tensorflow/serving ----拉取源代码
cd tensorflow
./configure ----配置tensorflow
cd..
执行configure的时候会问你问题
Please specify the location of python. [Default is /usr/bin/python]:
/usr/bin/python -
Please specify optimization flags to use during compilation [Default is -march=native]:
-march=native
Do you wish to use jemalloc as the malloc implementation? [Y/n]
y
Do you wish to build TensorFlow with Google Cloud Platform support? [y/N]
y
Do you wish to build TensorFlow with Hadoop File System support? [y/N]
y
Do you wish to build TensorFlow with the XLA just-in-time compiler (experimental)? [y/N]
y
Do you wish to build TensorFlow with OpenCL support? [y/N]
n(虚拟机就不用OpenCL了)
Do you wish to build TensorFlow with CUDA support? [y/N]
n(虚拟机没有CUDA,就不用这个了)
配置成功后即可
4.安装Tensorflow python API
sudo apt-get install python-pip python-dev
sudo pip install tensorflow
测试
恭喜你!你已经成功安装了Tensorflow了!
运行Tensorflow源码中的model
这是教程中的入门案例,也就是tensorflow的hello,world。初次运行比较慢,需要下载数据集(20M左右)
cd serving/tf_models/tutorials/image/mnist
python convolutional.py
如果你想运行别的model可以参考
每个模型对应一个README.md,然后都有对应的Bazel命令,跟着玩就可以了,注意的时,大多数模型需要下载数据集(较大),在这里我就不弄了。
Python IDE搭建
我是java开发者。因此我选择eclipse+python插件
Eclipse安装
(我选择了jee版本的,因为我的学习目的是开发一个web调用tensorflow提供的RPC服务)
cd Downloads ----把文件放在Downloads文件夹吧
sudo wget sudo wget http://eclipse.stu.edu.tw/technology/epp/downloads/release/neon/2/eclipse-jee-neon-2-linux-gtk-x86_64.tar.gz
tar -zxvf eclipse-jee-neon-2-linux-gtk-x86_64.tar.gz
cd eclipse
sudo ./eclipse
总结
经过一个星期的学习,我的感受是越来越觉得代码只是一种表达方式,重要的是代码背后的思想。在学习Tensorflow的过程中,我才渐渐发现英文能力的重要性,自此,我已经开始强迫自己处在英文包围的环境下了,相信这能够让我适应英文。
我觉得现在处于大二的同学是最适合学Tensorflow的,因为课程刚好学完高数,线性代数,正常情况过了四级,再学3个月Tensorflow考六级,稳!但是前提是看纯英文的文档和教程。
自学的动机源于恐慌,而又止于恐慌。在学习的过程中最重要的我觉得是要克服内心的孤独。这种内心的孤独不仅是你因为专注而缺乏交际带来的,更多的是你渴望获得外界的的关注和承认。也就是说缺乏在自学过程中的自我评估和激励。再说到编程,这个行业很特别,别人很难从外界去纠正你的错误,最好的导师只能够告诉你错误可能的原因和努力的方向,大部分是靠自己的摸索和探寻。所以我总是和我的朋友说,程序员天天都在Debug。其实这就是在成长吧。