Anaconda搭建深度学习tensorflow-GPU编程环境
Anaconda是Python的一个开源发行版本,主要面向科学计算。Anaconda指的是一个Python集成开发软件,号称有两千万用户。Anaconda基于云的存储库,可查找并安装超过7,500个数据科学和机器学习模块。
Anaconda使用conda-install命令,您可以开始使用数千个开源模块。而且相比于大家熟悉的pip install命令,Anaconda中增加了conda install命令。当你熟悉了Anaconda以后会发现,conda install会比pip install更方便一些。比如大家经常烦恼的lxml包的问题,在Windows下pip是无法顺利安装的,而conda命令则可以,后面会详细展示。
Anaconda是一个预装了很多我们用的到或用不到的第三方库的Python。因为包含了大量的科学包,Anaconda 的下载文件比较大500 MB左右。不同版本Anaconda大小不一样。如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换。
Anaconda主要特点包括:
1.安装过程简单
2.包含了数百个科学模块,高效运用于各种项目
3.可下载python2和python3版本,并根据项目需求切换使用。
Anaconda使用开源社区构建的最佳Python软件包(包括scikit-learn,TensorFlow和PyTorch)构建和训练机器学习模型。
从机器人技术到数据可视化,Anaconda高效运用于各种项目,特别是在数据科学领域有杰出应用。
Anaconda Navigator是Anaconda的桌面可视化窗口导航。它使启动应用程序以及管理软件包和环境变得很容易,而无需使用命令行命令。“Anaconda-Navigator”中已经包含“Jupyter Notebook”、“Jupyterlab”、“Qtconsole”和“Spyder”。用户可以轻松访问培训材料,文档和社区资源(包括Anaconda.org),可加速您的数据科学之旅。
Anaconda Navigator的Environment是模块管理库,我们可以轻松看到已经安装过python模块,搜索和安装需要的第三方模块。
介绍了Anaconda的特征和使用后,接下来介绍如何下载和安装Anaconda。
Windows系统安装Anaconda
Anaconda分为商业版本和免费版本。商业版本有更多的模块,运用于项目效率更高。针对一般使用者,我建议下载免费版本就完全足够了。点击products产品,选择individual edition,这是个人版本,免费使用。
点击download,下载Anaconda。
Anaconda有两个版本可供选择:Python 3.7 和 Python 2.7,选择版之后根据自己操作系统的情况点击“64-Bit Graphical Installer”或“32-Bit Graphical Installer”进行下载。完成下载之后,双击下载文件,启动安装程序。
下载好后,以管理员身份运行Anaconda软件。
弹出选项框后,选择“Next”。
阅读许可证协议条款,然后勾选“I Agree”并进行下一步。
除非是以管理员身份为所有用户安装,否则仅勾选“Just Me”并点击“Next”。
在“Choose Install Location”界面中选择安装Anaconda的目标路径,然后点击“Next”。
注意:目标路径中不能含有空格,同时不能是“unicode”编码。除非被要求以管理员权限安装,否则不要以管理员身份安装。
在“Advanced Installation Options”中不要勾选“Add Anaconda to my PATH environment variable.”(“添加Anaconda至我的环境变量。”)。因为如果勾选,则将会影响其他程序的使用。如果使用Anaconda,则通过打开Anaconda Navigator或者在开始菜单中的“Anaconda Prompt”(类似macOS中的“终端”)中进行使用。除非你打算使用多个版本的Anaconda或者多个版本的Python,否则便勾选“Register Anaconda as my default Python 3.7”。然后点击“Install”开始安装软件。如果想要查看安装细节,点击“Show Details”。
然后点击“Next”等着软件自动安装,安装需要一定时间,请耐心等待。如果进入“Thanks for installing Anaconda!”界面则意味着安装成功,点击“Finish”完成安装。如果你需要“Anaconda云”和“Anaconda支持”,就不勾选“Learn more about Anaconda Cloud”和“Learn more about Anaconda Support”。
安装完毕后用户可以去电脑的开始菜单里核实安装是否成功,具体步骤是:
“开始 → Anaconda3(64-bit)→ Anaconda Navigator”。若可以成功启动Anaconda Navigator则说明安装成功。
环境变量添加
之前我们没有选择添加anaconda3到环境变量路径里,我们安装后需要收到环境变量路径设置。如果之前勾选添加anaconda3到环境变量路径,则软件之间容易发生冲突。
假设我在D盘安装的anaconda,需要添加以下路径到环境变量里
D:naconda3
D:naconda3Scripts
D:naconda3Libraryin
打开高级系统设置(win10):
找到电脑屏幕左下角的windows图标,右键鼠标点击运行,输入sysdm.cpl,确定即可
找到系统变量,点击path进行编辑:
编辑内容如下,添加后记得点击确定,保存更新后设置。
更改镜像
因服务器在国外,pip和conda下载速度很慢,经常下载链接中断。我们清华大学有服务器定期同步备份国外资料。如果我们计算机链接清华大学有服务器,通过pip和conda下载第三方包就会很快。
conda镜像更换说明文档链接如下:
https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
pip镜像更换说明文档链接如下:
https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
conda镜像更换:
我们打开用户文件夹路面:C:UsersAdministrator
如果有.condarc文件,我们用notebook++打开。
然后把.condarc原文内容更换为:
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
内容更换后保存关闭.condarc文件。
pip下载只需要加上-i https://pypi.tuna.tsinghua.edu.cn/simple,即可链接到清华大学服务器高速下载,例如我们下载jupyter notebook的命令
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple notebook
我们也可以同时下载多个第三方包,例如pandas,matplotlib和notebook,语句如下:
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple pandas matplotlib notebook
虚拟环境运行项目
设置好镜像以后,我们继续进行环境管理。
因为我现在安装的是最新版Anaconda3,其自带的Python版本为3.9,如果我们需要添加3.8版本的Python,可以进行如下操作。
conda create --name tensorflow_name python=3.8
其中tensorflow_name是新添加环境的名字,可以自定义修改。
键盘输入y,执行创建虚拟环境命令,n是拒绝退出。
由于更换了conda镜像,我快速创建了tensorflow_name虚拟环境。
之后通过activate tensorflow_name和deactivate tensorflow_name令激活、退出该环境。(Linux和OS系统的命令似乎是source activate和source deactivate)
activate tensorflow_name
注意,括号内名字已经从base更换为tensorflow_name,说明虚拟环境已经激活。
我们通过虚拟环境tensorflow_name搭建深度学习系统,即tensorflow-gpu版本,可以调用显卡高速计算,推荐显卡为N卡,显存大于等于6G,算力大于3.5(推荐算力7.5-9)。
首先安装cudatoolkit,这个库不是Python的库,因此pip不能安装,需要用conda安装,Python 3.8推荐匹配的cudatoolkit版本为11.3.1,具体命令如下:
conda install cudatoolkit=11.3.1
下图显示cudatoolkit安装成功。
接着安装cudnn,这个库不是Python的库,因此pip不能安装,需要用conda安装,Python 3.8推荐匹配的cudnn版本为8.2.1,具体命令如下:
输入y,下图显示cudnn安装成功。
接着安装tensorflow-gpu==2.10.0,记住这些版本号一定不要改,否则以后容易报错。
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==2.10.0
然后显示安装成功。
验证tensorflow-gpu安装是否成功,输入python
输入import tensorflow as tf,下图可见没有报错,说明现在没问题。
import tensorflow as tf
输入tf.config.list_physical_devices(),如下图我发现显卡有一个cpu和GPU,GPU成功安装上了。tensorflow会根据具体情况来处理,一般优秀调用GPU加速,不行再调用CPU。
tf.config.list_physical_devices()
输入exit()退出python环境
exit()
接着安装pandas,matplotlib,jupyter notebook工具,pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple pandas matplotlib notebook
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple pandas matplotlib notebook
安装成功,无报错。
安装open cv,用于图像识别,如下图安装成功。
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
安装seaborn,用于数据可视化,如下图安装成功。
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple seaborn
安装sklearn,用于机器学习建模和模型验证,如下图安装成功。anaconda自带sklearn等包,但虚拟环境没有,需要重新安装。为了避免包版本冲突,很多包要重新安装,这也是代价。
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-learn
输入jupyter notebook,可网页编程。
点击new,新建一个notebook
选择python3(ipykernel)
运行之前验证脚本,jupyter notebook可以成功调用tensorflow-GPU。
最后Toby老师提醒一下tensorflow-GPU虽然可以提速,但有的命令执行不了。tensorflow-CPU版本报错率更低。我们再运行项目时一定要看别人用的tensorflow版本,然后在虚拟环境创建这个版本。这样才能减少报错率。不同tensorflow版本对应不同python,cudatoolkit,cudnn版本,因此想要用tensorflow-GPU去运行不同项目有非常大难度。