社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习环境配置指南:Pytorch、TensorFlow、Keras汇总

江大白 • 1 年前 • 596 次点击  

以下章来源于微信公众号:小白学视觉

作者:小白学视觉

链接:https://mp.weixin.qq.com/s/cWb9-HUgnD2p3xxPRGmI9Q

本文仅用于学术分享,如有侵权,请联系台作删文处理

导读
环境配置是做深度学习的第一步。本文为读者带来从零开始配置深度学习环境,包括主流框架:Pytorch、TensorFlow、Keras,整个流程可供读者参考。

最近刚入了3090,发现网上写的各种环境配置相当混乱而且速度很慢。所以自己测了下速度最快的3090配置环境,欢迎补充!
基本环境(整个流程大约需要5分钟甚至更少)
py37py38cuda11.0cudnn8.0.4tf2.5tf-nightly)或 tf1.15.4pytorch1.7keras2.3
(1)官网下载,安装显卡驱动:
bash NVIDIA-Linux-x86_64-455.23.04.run
(2)安装Anaconda并换源
bash Anaconda3-5.2.0-Linux-x86_64.shvim ~/.bashrcexport PATH=/home/XXX/anaconda3/bin:$PATH(XXX为自己的用户名)(在文件末尾处添加该语句)source ~/.bashrc
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/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/msys2/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/conda config --set show_channel_urls yes之后vim ~/.condarc,把defaults删掉
(3)创建虚拟环境,一般用py37或py38(以下都在虚拟环境中操作)
conda create -n exp38 python==3.8conda activate exp38
(4)安装cuda11.0和pytorch1.7(不用再conda install cudatoolkit==11.0)
conda install pytorch torchvision cudatoolkit=11
(5)安装cudnn8(因为conda还不支持cudatoolkit=11中下载cudnn)
从https://developer.nvidia.com/rdp/cudnn-download下载cudnn,解压后进入cuda/lib64路径下,把里面所有文件拷入对应虚拟环境(exp38)的lib中
(6)装tf2.5(不要装tensorflow-gpu==2.4.0rc0,会报错'NoneType' object has no attribute 'TFE_MonitoringDeleteBuckets')
pip install tf-nightly-gpu -i http://pypi.douban.com/simple --trusted-host pypi.douban.compip install tf-nightly -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
(7)装tf1.15.4
此处参考这位大佬的tf1.15.4安装步骤
https://blog.csdn.net/wu496963386/article/details/109583045?utm_medium=distribute.wap_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.wap_blog_relevant_pic
pip install google_pasta-0.2.0-py3-none-any.whl nvidia_cublas-11.2.1.74-cp36-cp36m-linux_x86_64.whl nvidia_cuda_cupti-11.1.69-cp36-cp36m-linux_x86_64.whl nvidia_cuda_nvcc-11.1.74-cp36-cp36m-linux_x86_64.whl nvidia_cuda_nvrtc-11.1.74-cp36-cp36m-linux_x86_64.whl nvidia_cuda_runtime-11.1.74-cp36-cp36m-linux_x86_64.whl nvidia_cudnn-8.0.4.30-cp36-cp36m-linux_x86_64.whl nvidia_cufft-10.3.0.74-cp36-cp36m-linux_x86_64.whl nvidia_curand-10.2.2.74-cp36-cp36m-linux_x86_64.whl nvidia_cusolver-11.0.0.74-cp36-cp36m-linux_x86_64.whl nvidia_cusparse-11.2.0.275-cp36-cp36m-linux_x86_64.whl nvidia_dali_cuda110-0.26.0-1608709-py3-none-manylinux2014_x86_64.whl nvidia_dali_nvtf_plugin-0.26.0+nv20.10-cp36-cp36m-linux_x86_64.whl nvidia_nccl-2.7.8-cp36-cp36m-linux_x86_64.whl  nvidia_tensorrt-7.2.1.4-cp36-none-linux_x86_64.whl tensorflow_estimator-1.15.1-py2.py3-none-any.whl nvidia_tensorboard-1.15.0+nv20.10-py3-none-any.whlnvidia_tensorflow-1.15.4+nv20.10-cp36-cp36m-linux_x86_64.whl -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
(8)装keras2.3
pip install keras==2.3 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
(9)测试(使用cuda10.2也可以测试使用gpu,但貌似不能把数据写入gpu)
pytorch
tensorflow-2.5或1.15.4
keras(测试需要改部分源码_get_available_gpus())
import tensorflow as tfimport keras.backend.tensorflow_backend as tfbackprint("tf.__version__ is", tf.__version__)print("tf.keras.__version__ is:", tf.keras.__version__) def _get_available_gpus():    if tfback._LOCAL_DEVICES is None:        devices = tf.config.list_logical_devices()        tfback._LOCAL_DEVICES = [x.name for x in devices]    return [x for x in tfback._LOCAL_DEVICES if 'device:gpu' in x.lower()]tfback._get_available_gpus = _get_available_gpus
from keras import backend as KK.tensorflow_backend._get_available_gpus()
后记:实际3090需要cuda11.1,但pytorch和tf目前只支持11.0。而且讲真不需要单独配cuda、cudnn,在虚拟环境里搞就行了。

推荐阅读

AIHIA | AI人才创新发展联盟2023年盟友招募

AI同学会 | AI同学会开启试运营,快来Pick你的AI同学

AI融资 | 智能物联网公司阿加犀获得高通5000W融资

Yolov5应用 | 家庭安防告警系统全流程及代码讲解

江大白 | 这些年从0转行AI行业的一些感悟

注意:大白梳理对接AI行业的一些中高端岗位,年薪在50W~120W之间,图像算法、搜索推荐等热门岗位,欢迎感兴趣的小伙伴联系大白,提供全流程交流跟踪,各岗位详情如下:

《AI未来星球》陪伴你在AI行业成长的社群,各项福利重磅开放:

(1)198元《31节课入门人工智能》视频课程;

(2)大白花费近万元购买的各类数据集;

(3)每月自习活动,每月17日星球会员日,各类奖品送不停;

(4)加入《AI未来星球》内部微信群;

还有各类直播时分享的文件、研究报告,一起扫码加入吧!

人工智能行业,研究方向很多,大大小小有几十个方向
为了便于大家学习交流,大白创建了一些不同方向的行业交流群
每个领域,都有各方向的行业实战高手,和大家一起沟通交流。
目前主要开设:Opencv项目方面、目标检测方面模型部署方面,后期根据不同领域高手的加入,建立新的方向群!
大家可以根据自己的兴趣爱好,加入对应的微信群,一起交流学习!
© THE END 


大家一起加油! 

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/155986
 
596 次点击