【tensorflow】Ubuntu18系统python27环境下安装tensorflow环境
前言
对之前自己学习tensorflow的笔记整理了一下。
下列操作都是基于ubuntu 18.04 的系统,python是2.7,tf是1.3.0。其他系统或软件版本可能会存在细微差别。有问题多谷歌、百度,遇到的问题基本上都有人遇到过了。
1 安装
1.1 下载TF前提环境
先查看基础条件是否具备:
python,pip 是扩展包管理工具, virtualenv是开发环境管理工具。
python --version
pip --version
virtualenv --version
可以使用: sudo apt-get install 文件名 安装缺少的部分。
示例:如安装pip
输入:sudu apt install python-pip
或 sudo apt-get install python-dev python-pip
1.2 创建虚拟环境
使用virtualenv创建虚拟环境,不同的开发任务需要的包和版本也不同,所以一般分开管理。anaconda也会自带,只是anaconda体积太大。
- 查看当前已有的:
ll
创建一个虚拟环境:
virtualenv —system-site-packages -p python2.7 ./venv
激活切换到创建好的环境:
source venv/bin/activate
退出当前环境,再切换到其他需要的环境
deactivate
1.3 包管理
创建好环境,安装好pip等文件之后就可以安装第三方的包了。
先看下已经安了哪些:
pip list installed
如果没有在已安装的列表里,手动安装:
pip install tensorflow
安装完了测试一下:进入python
import tensrflow as tf
print tf.__version__
可以显示版本就OK了。
exit()退出python。
1.4 更高级的API (初学忽略)
TFLearn是一个深度学习库,它提供了基于tensorflow的高层API接口.是在tensorflow上建立的一个模块化的易于使用的库,有助于加快构建deep learning网络的过程,节省冗长的代码时间.
去 tflearn.org 的左侧 installation 找到对应 系统、python版本的TensorFlow文件下载指令,如64位ubuntu、py2.7对应的:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.1.0-cp27-none-linux\_x86\_64.whl
再输入下面对应的安装指令:
python2 的:
sudo pip install $TF_BINARY_URLPython 3
sudo pip3 install $TF_BINARY_URL
即可安装。
1.5 安装注意事项(没问题可忽略)
pip临时安装包时使用镜像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
推荐^^
或者:
pip install requests -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
或者:
sudo apt-get install 包 -i https://pypi.tuna.tsinghua.edu.cn/simple
也可以直接更换ubuntu系统的镜像源文件。
python里的pip版本太新安装包可能报错:
File “/usr/bin/pip”, line 9, in from pip import main ImportError: cannot import name main
解决方法:
sudo vim /usr/bin/pip
将打开文件中的:
from pip import main
if __name__ == '__main__':
sys.exit(main())
改为如下:一定注意下划线的数量、位置
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
2 Hello World
进入虚拟环境,打开python,输入:
import tensorflow as tf
hello = tf.constant("hello world!")
sess = tf.Session()
sess.run(hello)
输出:‘hello world!’ 说明没问题了,tensorflow里的张量(Tensor)、会话(Session)、计算图(Graph)等其他概念之后进一步说明。
3 安装编辑器(jupyter notebook)
在命令行编写、调试代码不方便,推荐安装jupyter notebook,通过前端网页调用系统里的python编译环境,需要配置kernel,功能和spyder里的Ipython窗口一样。
在这里我遇到了接触比较常见的一个坑,建议先不要急着做,把下文都看一下再操作安装,系统、包版本不同还有可能产生其他没遇到的错误。
ubuntu18.04,py2.7安装的jupyter notebook好像有一个bug,使用jupyter notebook打开的时候可能报一个编码解码错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 4: ordinal not in range(128)
安装(可能出问题)
3.1 官方文档方法(py2.7)
附带的文件比较多,如果速度比较慢可以用 带-i的镜像安装。
python -m pip install --upgrade pip
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyter
官方文档没带sudo,为了提前避免权限问题可以加上:sudo
3.2 创建kernel和虚拟环境连接
就是将前端的调用内核kernel和工作环境venv(自己创建的时候命名的)对应起来:
python -m ipykernel install --user --name=venv
#python3 的版本
python3 -m ipykernel install --user --name=py3
可以用:jupyter kernelspec list
查看已经存在的kernel连接。
3.3 启动
jupyter notebook
然后就报上面那个编码错误了,这个错误感觉是接触python以来解决起来最麻烦的一个错误。可能也和不同的系统、包版本有关系,因为搜索看到很多人只是改了一下调用方式就可以了,有的重装一下jupyter也好了,我是都没有解决,谷歌百度搜了Stack Overflow,CSDN,Github和官方文档,最后也是一点一点搞好的,而且好了以后还不清楚到底是哪一步才导致的好了。
可能解决的方法:链接
还没有评论,来说两句吧...