此篇教程记录笔者搭建深度学习环境的详细过程+研究MNIST
MNIST问题看作深度学习的“Hello World”
硬件:
笔记本电脑,GPU为NVIDIA GTX1060
软件:
Windows10+Anaconda+tensorflow_gpu-2.1.0+CUDA10.1+cuDNN7.6+Keras2.3.1/Pytorch+Jupyter Notebook/Pycharm+MNIST
Anaconda是深度学习必备的一款软件,可方便我们同时创建多个虚拟环境。
官网下载网址:https://www.anaconda.com/products/distribution#Downloads
根据个人情况下载,笔者下的是Windows python3.9。点击安装。
下载安装参考教程:https://blog.csdn.net/fan18317517352/article/details/123035625
通常anaconda的默认源在境外,下载速度会非常慢甚至导致网络错误下载包失败,打开Anaconda Powershell Prompt使用以下方法将清华镜像添加到anaconda。
#配置国内清华源
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 --set show_channel_urls yes
笔者只列出常用的几个,其它命令可自行百度了解。
#创建虚拟环境
#创建一个名为env_name,python版本为3.7的虚拟环境
conda create -n env_name python=3.7
#进入虚拟环境
conda activate env_name
#退出当前环境
conda deactivate env_name
#删除环境
conda remove -n 环境名 --all
tensorflow分为CPU和支持GPU版本。只有NIVIDIA显卡支持tensorflow gpu版本,并且显卡的算力不能太低的,要求其Compute Capability须不低于3.5。笔者的显卡是1060。
官网列出支持的GPU:https://developer.nvidia.com/cuda-gpus
笔者截图显示部分支持的显卡,具体情况可参考上面的网址。
提醒:只有先确定安装的tensorflow版本,相应的Python,Keras,CUDA和cuDNN安装版本即可确定。否则版本不匹配,会报错。
tensorflow官网推荐:https://tensorflow.google.cn/install/source_windows
tensorflow和keras版本对应:
笔者准备安装tensorflow_gpu-2.1.0,故需要安装Python3.7,CUDA10.1,cuDNN7.6,keras2.3.1。
CUDA官网下载:https://developer.nvidia.com/cuda-toolkit-archive
cuDNN官网下载:https://developer.nvidia.cn/rdp/cudnn-archive
cuDNN需要注册账号才能下载。
B站安装教程:https://www.bilibili.com/video/BV1ov41137Z8?p=4
B站看到的视频,很详细。仅在此列出安装建议。
1、安装cuda_10.1.105_418.96_win10.exe
文件时,以管理员身份运行
。笔者默认路径安装。
2、CUDA选择自定义安装。组件的新版本如果比当前的版本低,建议就不要勾选。
3、CUDA安装位置。
ps:图1是视频里的,图2是笔者自己的安装路径。
图1:
图2:
4、测试CUDA是否成功安装。
5、安装cuDNN
将下载的压缩包解压
复制这三个文件
粘贴至此。
至此cuDNN已安好。
#创建一个名为tf5,python版本为3.7的虚拟环境
conda create -n tf5 python=3.7
列出现存的虚拟环境
conda env list
#激活虚拟环境
conda activate tf5
#安装tensorflow_gpu-2.1.0,安装源为豆瓣
pip install tensorflow_gpu==2.1.0 -i https://pypi.douban.com/simple --trusted-host pypi.douban.com
1、建一个空文件夹,用pycharm打开。
2、解释器修改为我们刚建立的anaconda虚拟环境tf5中的python.exe。
3、测试是否安装成功
#网上找的测试代码
import tensorflow as tf
import os
#os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
a = tf.constant(1.)
b = tf.constant(2.)
print(a+b)
print(tf.__version__)
print('GPU:', tf.config.list_physical_devices('GPU'))
print(tf.test.is_gpu_available())
运行测试代码,发现报错。
复制报错代码,在网上搜索,发现是protobuf版本过高。
网上教程:https://blog.csdn.net/weixin_44834086/article/details/125090000
#进入虚拟环境
#卸载高版本的protobuf
pip uninstall protobuf
#安装低版本protobuf
pip install protobuf==3.19.0
#进入虚拟环境,安装keras
pip install keras==2.3.1
#进入虚拟环境,安装jupyter notebook
pip install jupyter notebook
#将虚拟环境添加到jupyter中,其中“new”为虚拟环境在jupyter中显示的名称,与虚拟环境名称可不一致,可自行设置
python -m ipykernel install --name= new
1、anaconda自带jupyter notebook,点Launch
。
2、打开的网页中选择我们创建的虚拟环境tf5
。
下面为成功显示: