1,安装Anaconda
下载地址:https://www.continuum.io/downloads/(我安装的是linux-64-python3.6)
我一开始是直接在python上装,但是python3.4(和python3.5)的numpy版本(1.12.0)似乎有问题,tensorflow可以安装成功,但是运行时调用numpy便报错了。报错如下:
import numpy Traceback (most recent call last):
File “”, line 1, in
File “/usr/local/lib/python3.4/dist-packages/numpy/init.py”, line 142, in from . import add_newdocs
File “/usr/local/lib/python3.4/dist-packages/numpy/add_newdocs.py”, line 13, in from numpy.lib import add_newdoc
File “/usr/local/lib/python3.4/dist-packages/numpy/lib/init.py”, line 18, in from .polynomial import *
File “/usr/local/lib/python3.4/dist-packages/numpy/lib/polynomial.py”, line 20, in from numpy.linalg import eigvals, lstsq, inv
File “/usr/local/lib/python3.4/dist-packages/numpy/linalg/init.py”, line 51, in from .linalg import *
File “/usr/local/lib/python3.4/dist-packages/numpy/linalg/linalg.py”, line 29, in from numpy.linalg import lapack_lite, _umath_linalg
ImportError: /usr/local/lib/python3.4/dist-packages/numpy/linalg/lapack_lite.cpython-34m.so: undefined symbol: zgelsd_
在github https://github.com/numpy/numpy/issues/8697上也提问了,但是也没有解决我的问题 :undefined symbol: zgelsd_。(期间还出现过ImportError: cannot import name ‘multiarray’ 这种问题,对于linux菜鸟完全不知道怎么办)
这是numpy的问题,与tensorflow无关,但是我也迟迟无法解决。无果,转向直接安装anaconda,装好之后,numpy可以正常运行,tensorflow的安装却无比曲折。
- conda create -n tensorflow python=3.6
- source activate tensorflow
tensorflow CUDA cudnn 版本对应关系
https://blog.csdn.net/yuejisuo1948/article/details/81043962
上面两张图是在这里找到的:https://www.tensorflow.org/install/source下载tensorflow1.12.0
https://pypi.org/project/tensorflow-gpu/
找到对应的版本
切记不要用sudo pip,也不要用pip3,下面我试了pip install tensorflow_gpu-1.12.0-cp36-cp36m-manylinux1_x86_64.whl,没有报错。
也有博主说用 --ignore-installed --upgrade等参数,大家也可以试试,
pip install --ignore-installed --upgrade tensorflow_gpu-1.12.0-cp36-cp36m-manylinux1_x86_64.whl
验证:
python
import tensorflow as tf
hello = tf.constant(‘Hello, TensorFlow!’)
sess = tf.Session()
sess.run(hello)
- 在用tensorboard查看训练生成结果时,
查看的指令是(将logdir指向你训练保存的结果目录):
tensorboard --logdir=yourpath/train_dir
字面意思是端口6006被占用中,有如下解决方法:
解决方法一:
搜索网上的参考解决方案是:
在终端输入
lsof -i:6006
这时候在终端会发现,如图:
然后关闭11894(视你实际的输出)这个端口就可以了
kill -9 11894
然后再执行如上用tensorboard的指令;
解决方法二:
(插句话,如果你是在windows下运行的,建议使用谷歌浏览器,且版本高些。参考:tensorboard无法打开https://blog.csdn.net/c20081052/article/details/79054403)
指定一个新的端口来查看
tensorboard --logdir=yourpath/train_dir --port=6008
参考我写的指令,给port指明一个新的端口号来查看,比如端口号:8800
倘若你上网使用的是代理,仍遇到上面报的错误,请先将你的上网代理关闭。
方法二本人亲测有效。
推荐 pytorch使用tensorboard实现训练过程的可视化
https://www.jianshu.com/p/b1796d676bf1
另外附上下载链接:
CUDA 下载地址 点击打开链接
https://developer.nvidia.com/cuda-toolkit-archive
cudnn 下载地址(需要注册账号) 点击打开链接
https://developer.nvidia.com/cudnn
tensorflow-cpu 下载地址 点击打开链接
http://mirrors.aliyun.com/pypi/simple/tensorflow/
tensorflow-gpu 下载地址 点击打开链接
http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/
anaconda/python下载见另一篇博客
https://blog.csdn.net/yuejisuo1948/article/details/81043823