1.安装GPU版本的tensorlfow时,需确定显卡型号,并安装匹配的显卡驱动,先输入
nvidia-smi 查看显卡型号
再去www.nvidia.com/Download/index.aspx网站可以查询和下载显卡驱动
点击search,下载NVIDIA-Linux-x86_64-384.125.run
2、安装显卡驱动
linux下切换到
NVIDIA-Linux-x86_64-384.125.run的目录,运行:bash NVIDIA-Linux-x86_64-384.125.run
运行完成后再次查看显卡型号,是否变化。如果安装遇到提示:error……X server 时,
#重启电脑并进入命令行模式(ctrl alter F6),禁用x server,
输入:init 3
3、下载cuda,https://developer.nvidia.com/cuda-downloads?,选择runfile[local]版本
切换到文件的存储目录,运行 bash ………….run,安装完成后
进入用户的根目录
cd home 或 cd root
然后打开.bashrc若不存在则新建.bashrc文件
vim .bashrc
若cuda安装在usr/local目录下,输入
export CUDA_HOME=/usr/local/cuda-9.0
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib:${LD_LIBRARY_PATH}"
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib:${LD_LIBRARY_PATH}"
最后执行
source ~/.bashrc
使得设置生效,"~"表示当前根目录,运行:nvcc -V查看版本,安装成功
4、cudnn下载后,
tar -xvf
cudnn
-
8.0
-linux
-x64
-v5
.1
.
solitairetheme8
再将解压后cudnn目录下的cuda子目录对应的lib和include文件拷贝到之前安装的cuda相应lib和include目录下
sudo tar -xzvf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
5、安装anaconda3, 官网下载很慢,去清华镜像下载
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
切换到linux目录下,运行:run Anaconda3-5.1.0-Linux-x86_64.sh,根据提示输入yes和enter,安装完成后, 输入canda -V查看是否安装成功及当前版本,conda list查看安装了哪些包,可以参考https://www.cnblogs.com/swje/p/7642929.html,输入python,显示如下结果:
证明安装成功
6、下载tensorflow, https://github.com/tensorflow/tensorflow/tree/r1.6,
安装tensorflow有两种方法:一是在下载tensorflow文件的目录下输入:pip install xxxx.whl即可安装下载好的版本
二是先利用anaonda先创建虚拟环境,
使用 conda create -n your_env_name python=X.X(2.7、3.6等)命令创建python版本为X.X、名字为your_env_name的虚拟环境,使用
conda create -n tensorflow python=3.6激活虚拟环境使用source active tensorflow 退出虚拟环境
使用source deactivate tensorflow,再在激活后的虚拟环境下
安装tensorflow:pip install tensorflow-gpu==1.6
安装完成后,如果使用anaconda的虚拟环境,cd到anaconda的envs目录下,我的是root/anaconda3/envs,终端输入
python
import tensorflow
验证,如果没有报错,证明安装成功.这个时候就可以在虚拟环境下调用python和tensorflow.
但是你编写tensorflow代码时,可能会遇到
AttributeError
:
'module'
object has no attribute
'placeholder'的错误,这是因为你的虚拟环境下有个名叫tensorflow的文件夹,而你import是想导入tensorflow script,导致导入了一个文件目录,而不是脚步文件。所以解决办法是将给文件夹重命名为其他名字。 输入conda info -e 可以看到自己的anconda3基本环境和虚拟环境
当需要重新为配置tensorflow和python的虚拟环境时,输入:conda remove -n tensorflow --all删除虚拟所有tensorflow的东西,再次回到envs环境下重新输入conda creat -n 虚拟环境名称(如py36tf) python=3.6 ,也可以默认安装一下python的计算库conda create -n py36tf python=3.6 numpy scipy matplotlib -y,不设置以上参数,在安装时也会提示是否安装依赖库。
创建完成虚拟环境后,使用source activate py36tf激活虚拟环境py36tf,这个时候cd ..可以在虚拟环境下切换到你下载好的tensorflow文件目录下去,我自己下载的存在opt/tf_nightly_gpu-1.head-cp36-cp36m-linux_x86_64.whl, 使用pip install
tf_nightly_gpu-1.head-cp36-cp36m-linux_x86_64.whl 安装tensorflow, 这就实现了在虚拟环境下利用自己已经下载的tensorflow包进行安装,而不是anconda 自己去下载。在激活虚拟环境下使用conda list 可以看到自己安装的python 和tensorflow,非虚拟环境下看不到
使用虚拟环境编写tensorflow程序时,需要先source activate py36tf, 退出时需要source deactivate
安装完成每一步都需要修改环境变量,具体可以参考https://www.linuxidc.com/Linux/2016-09/135476.htm和https://www.linuxidc.com/Linux/2016-09/135477.htm
我是修改的root目录下面.bashrc文件,home目录root目录下的.bashrc文件通常被隐藏,直接进入到home和root根目录下vim .bashrc即可,如设置cuda的环境变量,输入
export PATH="/usr/local/cuda-9.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH"
则每次启动系统时,环境变量自动加载