当前位置:   article > 正文

Python深度学习环境配置全流程

python深度学习环境

前言

Python 的学习过程中:

  • 管理环境使用 Anacondaminiconda
  • 项目开发使用 PycharmVSCode

深度学习平台分为两类

1. 基于 CPU
2. 基于 GPU

无论哪一类,都需要搭建一个深度学习框架和配置依赖环境,具体而言都是一个个库,其中基础库的版本必须严格匹配,否则搭建的平台将涌现大量奇怪 bug

基于 CPU

基于 CPU 的框架兼容性强,通常用于深度学习项目的快速测试,无论是 Tensorflow 或 Pytorch 框架都很好的向下兼容,配置环境通常不会遇到困难,在 Tensorflow官网Pytorch官网 安装官方列出内容即可,通常会提供一键安装的命令,即 CMD 中的 Conmand ,没有激活其它环境时,安装在系统默认环境中完成

基于 CPU 的 Tensorflow 框架

基于CPU的Tensorflow框架的依赖关系

基于 CPU 的 Pytorch 框架

基于CPU的Pytorch框架的依赖关系

CMDPower Shell (Win10接管 CMD 的壳) 与 Aanconda Prompt(Anaconda接管 CMD 的壳)中在线安装可能会网络超时,给常用的包管理器 pipconda 添加 镜像源通道,以便改善网络超时的情况

# 给pip添加清华通道
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 给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添加社区通道
conda config --add channels conda-forge
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

倘若在线安装无法成功,可以选择访问在线仓库下载安装包,本地安装;把我们的深度学习环境比作 Windows 环境,那么这一过程等价于下载目标程序的 .exe 安装包并执行安装

深度学习框架手动下载与安装

# 前往在线仓库地址
# tensorflow-gpu
http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/
# pytorch
https://download.pytorch.org/whl/torch_stable.html

# 本地安装
pip install (Windows下)本地的.whl安装包的绝对路径
conda install --use-local (Windows下)本地的.conda安装包的绝对路径
conda install --offline (Windows下)本地的.tar.bz2安装包的绝对路径
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

基于 GPU

这是我们的重头戏,基于 GPU 的框架运行速度快,通常用于深度学习项目的开发工作,无论是 Tensorflow 或 Pytorch 框架的效率都十倍甚至百倍基于 CPU 的框架,是毫无争议的大哥,但相应的依赖环境复杂很多,因此安装也更为麻烦

依赖关系从底层到表层的顺序是

Gpudriver > Msvc > Cudatoolkit > Cudnn > Python > Tensorflow+Keras or Pytorch

配置逻辑与 基于 CPU 相同的,它同样可在 TensorflowPytorch 官网找到在线安装的命令,即 CMD 中的 Conmand ,如果能够通过此命令一键安装自然最为省心,但大多数时候都会失败,理解万岁,此时我们就要根据需要逐个装包,通过 pipconda 命令逐个在线安装,倘若失败,则在 CMD 中执行失败包的 搜索命令,寻找通道中的在线仓库中的目标安装包,通过返回的链接下载安装包,本地安装

# 搜索命令
conda search 库名 --info
  • 1
  • 2

基于苹果 ARM 芯片

# 注意:必须使用miniforge3或者适配ARM的miniconda3管理虚拟环境时才能使用下述方法安装tensorflow
# github中下载miniforge3安装包并本地安装
# 地址链接
https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
# 安装命令
cd /myprogrampath
chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
# 激活管理器环境变量
source ~/miniforge3/bin/activate
# 安装miniconda
brew install miniconda
# tensorflow
# 激活虚拟环境后,首先建立依赖关系
conda install -c apple tensorflow-deps
# 其次安装Tf框架
python -m pip install tensorflow-macos
# 最后安装苹果API
python -m pip install tensorflow-metal
# pytorch
pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 经过测试 Python3.8.x 版本兼容性远胜 Python3.9.x 其中 numpy torch tenseflow sklearn 能够同时在一个环境工作,目前仅 tenseflow 可以调用 Apple Gpu 进行深度学习但效率低于 RTX 3070(该结论截止至2021年12月25日仍有效)
  • Pytorch 1.13 已支持调用 M1 处理器的 GPU
  • 经过测试在 16G Macbook 运行相同算法模型 tensorflow 效率约为 1660super 四分之一,GPU 可吃满单 CPU 负载不高,pytorch 则CPU 和 GPU 负载较为均衡效率约为 1660super 三分之一,两者均有优化空间

常用命令

  • 环境命令
'''  
MAC环境命令
man command,查看命令的用法
open ~/.bash_profile,外部打开环境变量
sudo vi ~/.bash_profile,打开环境变量
source ~/.bash_profile,激活环境变量

更新命令
conda update conda,先把conda更新到最新版
conda update anaconda,把anaconda更新到最新版
conda update --all,自定义配置环境也更新到最新版
python -m pip install --upgrade pip,更新pip

查看当前存在的虚拟环境   
conda env list
&
conda info -e

创建激活删除虚拟环境
conda create -n 环境名 python=X.X
activate 环境名
conda env remove -n 环境名
deactivate,退出当前环境

克隆旧环境名环境为新环境名
conda create --name 新环境名 --clone 旧环境 
彻底删除旧环境
conda remove --name 旧环境 --all 

查看可安装版本信息命令
conda search 任意库名 --info

安装卸载库
pip install 任意库名

conda install 任意库名

conda install --use-local  Windows绝对路径+任意库全称(事先下载好库的安装包.conda)

conda install --offline Windows绝对路径+任意库全称(事先下载好库的安装包.tar.bz2)

pip install Windows绝对路径+任意库全称(事先下载好库的安装包.whl)

pip uninstall tensorflow-gpu(卸载库名) 

添加通道
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
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/

恢复默认
找到 C:**\pip\pip.ini(删除其中内容)
conda config --remove-key channels

搜索时显示
conda config --set show_channel_urls yes

查看信息
conda info

查看已安装的包
conda list 
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
'
运行
  • 通道命令
'''
阿里云
http://mirrors.aliyun.com/pypi/simple

豆瓣
http://pypi.douban.com/simple

清华大学
https://pypi.tuna.tsinghua.edu.cn/simple

中国科学技术大学
http://pypi.mirrors.ustc.edu.cn/simple

特定通道安装举例
pip install numpy -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

安装包的网址=通道+库名
http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/

或特定网址
https://download.pytorch.org/whl/torch_stable.html
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
'
运行

举例

1. Tensorflow为GPU版本,Pytorch为CPU版本
2. 以下各库经验证互相兼容

首先,创建项目环境

conda create -n 环境名 python=X.X
# 例如
conda create -n Cu110Py38 python=3.8
  • 1
  • 2
  • 3

其次,并激活它

conda activate 环境名
# 例如
conda activate Cu110Py38
  • 1
  • 2
  • 3

最后,下载项目环境所需的安装包并安装

搜索下载地址

# 搜索
conda search cudatoolkit --info
conda search cudnn --info
  • 1
  • 2
  • 3

搜索

下载的安装包

本地库安装包

# 安装
1, conda install --use-local Y:\Downloads\Cu113Py38\cudatoolkit-11.3.1-h59b6b97_2.conda
2, conda install --use-local Y:\Downloads\Cu113Py38\cudnn-8.2.1-cuda11.3_0.conda
3, pip install Y:\Downloads\Cu113Py38\torch-1.10.1+cu113-cp38-cp38-win_amd64.whl
2, pip install Y:\Downloads\Cu113Py38\torchaudio-0.10.1+cu113-cp38-cp38-win_amd64.whl
5, pip install Y:\Downloads\Cu113Py38\torchvision-0.11.1+cu113-cp38-cp38-win_amd64.whl
...
...
...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

可行的配置

Name                                Version

python                              3.6.12  
cudatoolkit                         8.0    
cudnn                               6.0  
tensorflow-gpu                      1.4.0    
keras                               2.1.2      	
torch                               1.1.0                            
torchvision                         0.3.0   
numpy                               1.16.0  
matplotlib                          2.1.2   
h5py                                2.10.0   
pip                                 20.3.3        
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • Tensorflow 早期的可互相兼容的版本

运行的结果
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/849245
推荐阅读
相关标签
  

闽ICP备14008679号