Tensorflow 折腾之旅
路过学校某实验室的时候发现他们在使用TensorFlow做开发,就突然想折腾下这东西,当然我对此也是非常感兴趣的。
最后更新日期 2017/10/3
TensorFlow 折腾之旅
TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品如语音识别、Gmail、Google 相册和搜索其中许多产品曾使用过其前任软件DistBelief。TensorFlow最初由Google Brain团队开发,用于Google的研究和生产,于2015年11月9日在Apache 2.0开源许可证下发布。
安装的过程
感觉TensorFlow的中文教程还是比较少的,机器学习这东西对于我们学渣来讲非常高大上,要克服一些语言障碍来学习。相对而言英文文档描述的非常详细,在linux下只需要几条命令即可完成TensorFlow的安装过程。
因为我的显卡不支持英伟达的GPU加速,所以就选择了CPU版本的TensorFlow,然后使用的是Installing with virtualenv
的安装方式,这种方式和直接用pip的方式安装其实区别不大,可以根据自己的python版本以及系统型号还有是否支持CUDA的情况来选择适合自己的安装方式,在此不做各种安装方式的介绍,只是单纯的记录自己的安装过程。
先是安装依赖(以Python3为版本)
sudo apt-get install python3-pip python3-dev python-virtualenv
创建虚拟环境
virtualenv --system-site-packages -p python3 ~/tensorflow
进入虚拟环境
source ~/tensorflow/bin/activate
当bash前面出现(tensorflow)
的字样就说明进入了虚拟环境,然后使用下面的命令安装pip
easy_install -U pip
然后使用pip3安装tensorflow(只支持CPU的版本)
pip3 install --upgrade tensorflow
一阵等待过后tensorflow就应该安装完毕了,那么要怎样检验是否安装完毕呢,Google官方提供了这样的一个测试程序。
1 | # Python |
我们先在虚拟环境中(bash前带有(tensorflow)
)输入
python3
然后再将上方的python代码输入到虚拟环境的python编译器中。如果得到Hello, TensorFlow!
的结果就说明tensorflow已经安装完成啦完结撒花(大雾)
还有一些事情要说明,就是如何退出我们构建的虚拟环境,可以使用deactivate
命令来退出虚拟环境,那么问题来了我们要如何再次进入虚拟环境呢,可以再次使用source ~/tensorflow/bin/activate
来进入。
卸载的命令(其中targetDirectory为TensorFlow的存放目录)
rm -r targetDirectory
安装过程中出现的一些问题(什么嘛,不存在的)
1.在使用测试代码的时候出现了这样的警告The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
翻译大概的意思就是说TensorFlow库未编译和使用SSE4.2指令,但这些指令在您的机器上可用,并可加速CPU计算。问题出现的原因是TensorFlow为了兼容性在pip分发的包中没有编译SSE指令,SSE指令能够使TensorFlow的运行效率有很大的提升,那么要怎样才能开启SSE指令呢,需要使用源码安装的形式重新编译安装TensorFlow,如果忽略的话好像也没啥问题其实是懒。
2.在使用测试代码进行测试的过程中,测试返回的结果为b'Hello, TensorFlow!'
该b前缀是为了表明一个字节的字符串。这和当前使用的python版本有关。使用print(sess.run(hello).decode())
输出的结果就正常了。