环境:ubuntu 20.10 Core™ i7-8750H GeForce GTX 1060 Mobile
最近因为学习,需要在电脑中使用TensorFlow,我选择在自己的ubuntu系统中进行配置并在pycharm中进行使用;找寻到的网上的教程大多比较零散,走了不少弯路,历经周折才最终完成,故将配置过程进行记录:
1. 准备工作
1.0 访问TensorFlow网站中的安装指南部分
1.1 安装NVIDIA驱动
1.2 安装CUDA
1.3 安装cuDNN
2. 安装TensorFlow
2.0 安装Anaconda
2.1 创建新环境
2.2 基于Anaconda安装TensorFlow
2.3 测试是否安装成功
3. 配置pycharm
4. 附录
GPU 支持 | TensorFlowhttps://tensorflow.google.cn/install/gpu可以看到TensorFlow对软件的需求有四点:驱动、CUDA 工具包、CUPTI和cuDNN,其中CUPTI会在安装CUDA工具包是一并完成安装,因此我们需要做的准备工作主要及时安装NVIDIA显卡驱动、CUDA工具包和cuDNN,下面逐一完成。
在安装ubuntu时,系统会默认使用开源的显卡驱动(nouvean),导致系统默认识别的不是NVIDIA的独立显卡,而是核显。故我们需要手动安装显卡驱动。
最简单的办法是使用系统工具软件和更新将开源驱动更换为专有驱动,打开软件和更新后进入附加驱动选项卡,选择合适的专有驱动,前文提到TensorFlow的软件要求中提到CUDA11.2要求450.80.02或更高版本,因此前三个都可以选择(我的建议是使用最新的驱动),完成选择后点击右下角应用更改便会开始安装。
如果出现报错,可以选择在英伟达官网下载驱动后进入命令行界面进行安装:
禁用nouvean:
sudo gedit /etc/modprobe.d/blacklist.conf
在文档尾部打上一下内容后保存:
# nouveau
blacklist nouveau
options nouveau modeset=0
更新更改:
sudo update-initramfs -u
随后注销当前账户,按Ctrl+Alt+F1进入命令行界面,停用Xserver,并安装在官网下载的.run文件,方法如下(******部分为你的.run文件的路径和名称):
sudo /etc/init.d/lightdm stop
sudo /etc/init.d/lightdm status
chmod +x *******.run
sudo ./*******.run
如果操作不明白或者遇到问题,可以去看我详细介绍NVIDIA驱动安装的帖子,里面有更详细的步骤和可能出现的问题的解决办法:
在ubuntu系统中安装NVIDIA显卡驱动|CSDN创作打卡_dui_dui_的博客-CSDN博客在安装ubuntu时,系统会默认使用开源的显卡驱动(nouvean),导致系统默认识别的不是NVIDIA的独立显卡,而是核显。而在很多情况下(如部分编程和建模需求)我们需要使用独立显卡尤其是cuda,因此我们需要安装NVIDIA专有驱动。最简单的办法是使用系统工具软件和更新将开源驱动更换为专有驱动,打开软件和更新后进入附加驱动选项卡,选择合适的专有驱动,如CUDA11.2要求450.80.02或更高版本,因此前三个都可以选择(我的建议是使用最新的驱动),完成选择后点击右下角应用更改便会开始安装。https://blog.csdn.net/dui_dui_/article/details/122304763?spm=1001.2014.3001.5501
CUDA Toolkit Archive | NVIDIA Developer---CUDA下载地址https://developer.nvidia.com/cuda-toolkit-archive---CUDA%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80
上面是CUDA各个历史版本的下载地址,选择喜欢的版本下载就可以,但不建议选择最新的或者很老的,最新的可能部分优化还未支持或者出现无法兼容的情况,一般建议第三或者第四新的版本,比如我在安装的时候已经更新到11.5,但我选择11.3。
点进去之后便可以进入下载界面,根据自己的情况选择好系统类型和你要下载的文件类型之后,下方就会出现安装方法,这里不建议使用wget下载,因为会比较慢,建议直接复制后面的网址在浏览器中下载,实测会快很多(当然这个每个人的网络环境不同有关)。下载完成后同样进行安装即可:
sudo sh cuda_11.3.1_465.19.01_linux.run
启动安装程序后,选择continue+Enter,然后输入accept,最后来到安装选项环节,CUDA安装时会附带显卡驱动,但是由于我们已经安装过显卡驱动了,这里可以按Space(空格键)取消选择,其他全部安装。
随后添加环境变量:
gedit ~/.bashrc
在文件末尾添加如下信息,并保存。PATH:是你的cuda11的bin目录,LD_LIBRARY:是你的cuda中的lib64的目录,要按照你安装的情况进行修改。
#cuda 11.3
export PATH=/usr/local/cuda-11.3/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-11.3
这时CUDA的安装就算完成了,可以使用nvcc --version
指令进行查看,这里使用的CUDA确实是11.3版本的了。
此处需要了解的是,nvcc --version指令查看的是运行的CUDA版本,而nvidia-smi指令查看到的是驱动CUDA版本,两者可以不同,因此如果采用后者发现版本不一致也不用担心安装失败了。
另外,可能会遇到nvcc --version报错的情况,可能是路径修改没有更新,一般重启电脑之后就能解决,也可以手动应用修改:
source ~/.bashrc
GPU 支持 | TensorFlowhttps://tensorflow.google.cn/install/gpu安装cuDNN前可以访问上面的网站查看TensorFlow支持(前文已经提到),因此我们需要选择8.1.0及以上。
NVIDIA cuDNN | NVIDIA Developer---cuDNN下载https://developer.nvidia.cn/zh-cn/cudnn从上面的网址进入官网,并选择下载cuDNN:
下载cuDNN需要NVIDIA账号,按照引导注册并加入会员即可,登录账号后再次点击下载cuDNN便可以看到下载入口:
选择查看各版本cuDNN,选择自己需要的版本并点击合适的系统版本进行下载。
下载完成之后将.tgz压缩文件提取,在CUDA目录下存在两个文件夹include和lib64。解压之后,将cuda/include/cudnn.h文件复制到usr/local/cuda-10.1/include文件夹,将cuda/lib64/下所有文件复制到/usr/local/cuda-10.1/lib64文件夹中,并添加读取权限即可:
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
也可以用root权限打开文件管理器:
sudo nautilus
之后通过右键菜单的属性-权限栏目设置读取权限。
至此,TensorFlow安装的准备工作全部完成。
Anaconda历史版本库https://repo.anaconda.com/archive/通过以上链接进入Anaconda历史版本库,选用最新的版本也可以,选择对应你系统的进行下载即可。我选择的就是最新的版本。
进入到下载目录执行bash Anaconda3-2020.07-Linux-x86_64.sh
即可安装。他会自动地在.bashrc中添加环境变量。
接下来打开命令窗口,就会直接进行到anaconda的base环境下:
基于Anaconda创建虚拟环境:
conda create --name pytorch_env python=3
我已经配置好了环境,为做演示,我将虚拟环境命名为tTensorFlow_env_1,当然命名可以随便,符合自己的习惯就好:
等待环境创建完成就好,过程中会询问,选择"y"即可,后边会给出切换环境的提示信息:
根据提示激活我们刚刚创建的环境:
conda activate TensorFlow_env
可以看到当前环境已经从base变成了我们创建的新环境:
然后为了安装tensorflow和pytorch,linux下最好对conda进行换源,在终端中输入如下指令(不然国内会很慢或者连接错误,如果有梯子可以忽略这步)。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes
conda config --show-sources
TensorFlow安装指南https://tensorflow.google.cn/install/gpu
TensorFlow安装指南网址中提供了TensorFlow的安装方法,我这里直接安装推荐的最新的TensorFlow版本:
pip install tensorflow
安装完成后,依次执行以下指令:
python
import tensorflow as tf
tf.__version__
tf.test.is_gpu_available()
如果第三行指令返回tf版本,第四行返回true则说明安装成功。(最后一个指令可能会出现warning,不用担心,这是因为这个指令在tf2中改成了tf.config.list_physical_devices('GPU'))
首先可以新建一个python项目,然后我们再对Python Interpreter进行修改。
点击File,打开下拉菜单
点击Settings
选择左边栏的Project的子菜单 Python Interpreter
点击右边Python Interpreter的下拉按钮,选择show all,这是你就可以看到第五步需要操作的页面
点击+号添加Python解释器
选择Conda Environment
选择Existing environment
选择/anaconda3/envs/tensorflow_env/bin/python3
一路点击OK,完成解释器配置
配置完成后同2.3部分一样进行测试,返回true则说明配置成功,可以快乐编程了:
我自己在配置的过程中主要参考了下面这位大神的文章:
ubuntu环境下Tensorflow、Pytorch的安装以及基于Pycharm的使用 - 哔哩哔哩https://www.bilibili.com/read/cv7973269/在过程中解决了很多新的问题,对大神教程中的很多细节处进行了修正,同时我的软件版本也更新,因此重新写下了这篇文章,希望能够对朋友们有所帮助。