ubuntu16.04+anaconda3+CUDA9.0+cudnn7.1+tensorflow1.6+python3.6环境配置

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}"

最后执行

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"
则每次启动系统时,环境变量自动加载



猜你喜欢

转载自blog.csdn.net/zhuiyuanzhongjia/article/details/79998294