为了能让 Tensorflow GPU 版本跑起来,我折腾了1个多星期。
总体参照 https://zhuanlan.zhihu.com/p/32118549 ,安装成功,但还是有不足的地方, 在此记录,为以后重新装系统方便。
1. 我选择Ubuntu版本的原则
目前,我选择Ubuntu版本的原则就是能否立即连上网络(无论有线还是无线,得先能连接网络才行)。因为不同机器网卡的原因,导致低版本Ubuntu安装状态时无法识别网卡。我在本机上安装过Ubuntu 14.04, 16.04版本,均无法识别我的网卡,最后Ubuntu17.10版本可以自动找到网卡。我可不想在连不上网的状态下,寻找联网的方法,那样很恐怖,不是吗。
一个好的方式是,在刚安装Ubuntu系统时,有个“试用Ubuntu”选项,试用期间能判断该版本能否识别我们机器上的网卡。识别不了的话,二话不说,赶紧换高版本Ubuntu得了!
2. 创建 Anaconda3 的虚拟环境
帖子 https://zhuanlan.zhihu.com/p/32118549 已经提到了。 这里我要说的是,在 Anaconda 虚拟环境中, 安装的包只在当前的虚拟环境中起作用。另外在某贴子中看到,虚拟环境中不要使用 sudo
命令(那帖子说的对不对以及为什么,我目前不清楚)。下面把几个重要的 Anaconda 虚拟环境命令列出来,方便以后查找:
conda create --name tf python=3.6 #创建tf环境
source activate tf #激活tf环境
pip install --ignore-installed --upgrade tensorflow-gpu # pip 安装 tensorflow-gpu 版本, 应该也可用 conda install tensorflow-gpu 命令安装, 我没试
测试tensorflow
# 命令行下:
source activate tf
python
# 输入以下代码:
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
其他命令
source deactivate tf #退出tf环境
conda remove --name tf --all #删除tf环境(全部删除)
3. jupyter notebook 更换解释器
按照上述方法安装完tensorflow后,在虚拟环境下在命令行状态下输入 python,打开黑乎乎的python环境,然后测试tensorflow,测试是可以通过的。但是若启动 jupyter notebook去测试tensorflow,会找不到tensorflow包。
这时候,需更换 虚拟环境下 jupyter notebook 的解释器!(参考 https://www.jianshu.com/p/f70ea020e6f9)
现在我们做的所有事情都得在 Anoconda3 虚拟环境下 做,否则不起作用,切记!!!过程如下:
我们已经有了名为: tf 的anoconda虚拟环境,那么在命令行下输入:
source activate tf
然后参照这个 https://www.jianshu.com/p/f70ea020e6f9
按照上面的教程,我选择为自己的虚拟环境(tf)安装ipykernel包,而不是手动更改kernel.json文件。如下:
在当前 名为tf的anoconda虚拟环境 下,在命令行中输入:
conda install -n tf ipykernel # 为jupyter安装名为tf的kernel
python -m ipykernel install --user # 激活这个kernel
若当前kernel不是你想要的,比如想换 python 2.7 的kernel, 请继续参考 https://www.jianshu.com/p/f70ea020e6f9 的结尾部分。