一、简介
此篇教程记录笔者搭建深度学习环境的详细过程+研究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
二、环境安装
2.1 Anaconda的安装
2.1.1Anaconda下载安装
Anaconda是深度学习必备的一款软件,可方便我们同时创建多个虚拟环境。
官网下载网址:https://www.anaconda.com/products/distribution#Downloads
根据个人情况下载,笔者下的是Windows python3.9。点击安装。
下载安装参考教程:https://blog.csdn.net/fan18317517352/article/details/123035625
2.1.2配置Anaconda源
通常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
示例:
2.1.3 Anaconda相关命令
笔者只列出常用的几个,其它命令可自行百度了解。
#创建虚拟环境
#创建一个名为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
2.2安装CUDA和cuDNN
- CUDA。用于GPU的一组驱动程序,它让GPU能够运行底层编程语言来进行并行计算。
- cuDNN。用于深度学习的高度优化的原语库。使用cuDNN并在GPU上运行时,通常可以将模型的训练速度提高50%到100%
2.2.1写在前面
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。
2.2.2下载安装CUDA和cuDNN
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站看到的视频,很详细。仅在此列出安装建议。
2.2.2.1安装tips
1、安装cuda_10.1.105_418.96_win10.exe
文件时,以管理员身份运行
。笔者默认路径安装。
2、CUDA选择自定义安装。组件的新版本如果比当前的版本低,建议就不要勾选。
3、CUDA安装位置。
ps:图1是视频里的,图2是笔者自己的安装路径。
图1:
图2:
4、测试CUDA是否成功安装。
5、安装cuDNN
将下载的压缩包解压
复制这三个文件
粘贴至此。
至此cuDNN已安好。
2.3安装tensorflow_gpu
2.3.1创建虚拟环境
#创建一个名为tf5,python版本为3.7的虚拟环境
conda create -n tf5 python=3.7
列出现存的虚拟环境
conda env list
#激活虚拟环境
conda activate tf5
2.3.2安装tensorflow_gpu-2.1.0
#安装tensorflow_gpu-2.1.0,安装源为豆瓣
pip install tensorflow_gpu==2.1.0 -i https://pypi.douban.com/simple --trusted-host pypi.douban.com
2.3.3pycharm测试是否成功安装tensorflow_gpu-2.1.0
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
此时再运行测试代码即可成功运行。
2.4安装Keras
#进入虚拟环境,安装keras
pip install keras==2.3.1
2.5安装Jupyter Notebook
2.5.1安装
- Jupyter笔记本:运行深度学习实验的首选方法
- notebook是Jupyter Notebook应用生成的文件,可以在浏览器中编辑。
- 笔记本还可以将冗长的实验代码拆分为可独立执行的短代码,这使得开发具有交互性,而且后面的代码出现问题,你也不必运行前面的所有代码。
#进入虚拟环境,安装jupyter notebook
pip install jupyter notebook
#将虚拟环境添加到jupyter中,其中“new”为虚拟环境在jupyter中显示的名称,与虚拟环境名称可不一致,可自行设置
python -m ipykernel install --name= new
2.5.2运行jupyter notebook
1、anaconda自带jupyter notebook,点Launch
。
2、打开的网页中选择我们创建的虚拟环境tf5
。
下面为成功显示:
三、深度学习实例–MNIST数据集
- 用的代码示例为《Python 深度学习》,在P21。