聊到深度学习, 大家第一感觉就是很高大上。
就像我们曾经说到机器学习,很多人也是感觉很高大上,但是慢慢接触之后,发现其无非是数学+编程实现,所以从线性回归开始,不断学习,把各种机器学习方法都学习了一遍,并能够通过Python的sklearn库编程实现。
有很多朋友和我聊到学习深度学习这个事情,我会推荐他们去看一些相关理论算法,从CNN、RNN到LSTM,从各种传统的深度学习网络结构到比较新的网络结构。在这个过程中发现了一点,就是他们看完了网络结构和算法原理后,往往难以下手去操作,因为Python使用sklearn库实现机器学习的流程非常方便,而且学习了Python的numpy、pandas基础即可快速上手,而深度学习的编程则需要更上一层,对Python新手不太友好,基础部分的张量各种操作和计算图编程都会让新手头大,而深度学习还面临着选择深度学习框架的问题,可供我们选择的框架实在太多,例如较为流行的Tensorflow、Pytorch、Keras、Mxnet、PaddlePaddle等等。各种相关的书也是如雨后春笋般出版出来,我翻看过一些书,还看过一些目录,发现了一个现象,就是各种深度学习框架书在对应的深度学习框架基础部分讲解往往不够详细,让人看完觉得跳跃感很大,而过于强调各种网络结构的实现,这十分不利于新手进行学习。而且初学者会了解到深度学习需要使用GPU训练模型,对于没有GPU配置的初学者,往往觉得学习之路出现了第一道坎,而对于有GPU的初学者,往往因为GPU环境搭建太复杂而从入门到放弃。其实没有GPU环境,也是可以进行深度学习编程学习的。
我个人的感受是,GPU环境的搭建变得越来越容易,这是我们放开去学习深度学习的一个好时机,关于在《从零开始深度学习Pytorch笔记》连载中,我会一步步从安装Pytorch环境开始写,慢慢夯实Pytorch的基础,再带大家熟练使用Pytorch编程网络结构,实现深度学习算法。
聊聊为什么使用Pytorch,个人觉得Pytorch比Tensorflow对新手更为友善,大家如果对Tensorflow也感兴趣,完全可以学习了Pytorch之后继续学习Tensorflow。
接下来进入正题吧:
如果你没有gpu环境,想使用Pytorch,打开Pytorch的官网:https://pytorch.org/
在首页我们可以看到有各种配置可选,我们这里选择CPU的版本(CUDA部分选择None):
根据你的操作系统,还有Python的版本可以选择不同选项(当然Python版本问题其实问题不大,因为我们可以通过创建虚拟环境搞定,详情见:
你不知道的Python环境管理技巧,超级好用!
)选完选项之后,我们看到底部出现了一个命令,我们将命令复制到cmd中运行,即可安装cpu版本的Pytorch(本配置生成的命令为:
如果下载过慢,可以切换镜像下载,戳这里:
Python快速安装库的靠谱办法
当然,如果你有GPU环境,或者愿意为学习深度学习去配置GPU,我们可以搭建GPU的Pytorch环境。
GPU环境具体搭建流程如下:
(1)安装Python编程环境
首先是你得有个Python编程环境,如果没有,推荐安装Anaconda,这个是Python的集成环境,这个Anaconda的安装方法在网络上教程很多(推荐的是对应Python3.6或3.7)。
(2)安装CUDA
我们可以看到,Pytorch对应的CUDA版本为9.2或者10.1:
我们选择CUDA9.2进行下载
进入CUDA9.2的下载界面
https://developer.nvidia.com/cuda-92-download-archive
选择相应的参数后我们点击下载文件:
运行下载好的CUDA安装包:
使用默认路径点击OK安装,一路按照默认安装即可。
安装完成后,测试CUDA是否安装成功,复制安装路径:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin
打开cmd,切换到安装路径下,执行: nvcc-V
可以看到CUDA成功安装了。
(3)安装cuDNN
cuDNN需要注册登录才能下载,cuDNN下载页面如下:
https://developer.nvidia.com/cudnn
登陆后,点击Download即可:
然后点击I Agree,点击CUDA9.2,点击win10下载:
之后我们将下载的cuDNN的压缩包解压
将解压出的cuda文件夹下的三个文件夹复制到cuda安装目录下,去覆盖掉cuda目录下的三个同名文件夹
cuDNN安装完成。
然后进入demo_suite文件夹,查看cuDNN是否安装成功:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\extras\demo_suite
切换到该路径下执行bandwidthTest.exe
结果如下图:显示PASS,则cudnn安装成功。
我们输入deviceQuery.exe
可以查询设备信息:
最后那段显示的信息:
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.2, CUDA Runtime Version = 9.2, NumDevs = 1, Device0 = GeForce GTX 1060 6GB
Result = PASS
说明CUDA和cuDNN都安装成功,还显示了我的显卡是GTX 1060 6GB。
(4)安装Pytorch
回到Pytorch网站:
https://pytorch.org/
我们的选择如下:
可以看到安装命令中有个网站:
可以找到我们要的:cu92/torch-1.2.0%2Bcu92-cp37-cp37m-win_amd64.whl
然后点击下载即可。
然后搜索:torchvision-0.4.0
找到我们要的:cu92/torchvision-0.4.0%2Bcu92-cp37-cp37m-win_amd64.whl
点击下载即可。
(5)创建项目环境
我们打开Python的IDE,例如我喜欢的VS Code,你也可以使用其他软件。
打开后创建一个py文件名为hello pytorch.py(名字任意)。
然后在TERMINAL中创建虚拟环境:
输入:conda create -n pytorch-gpu python=3.7,并且回车运行
关于为什么要创建虚拟环境可以看这里:
你不知道的Python环境管理技巧,超级好用!
等创建完成后,激活虚拟环境:conda activate pytorch_gpu
然后进入到刚才两个文件的下载目录,我们要在该虚拟环境中安装pytorch
我的电脑上目录是:C:\Users\Administrator\Downloads
然后进到目录下pip install 回车进行安装两个文件:
我们在py文件中输入:
结果显示Pytorch安装成功,Pytorch版本为:pytorch1.2.0+cu92
CUDA可用!
至此,我们的Pytorch GPU版安装成功。
![7354d5c7c886629affa54e1a50097da6.png](https://i-blog.csdnimg.cn/blog_migrate/72d3ea2496cb2fa8abe5cd96b1b7882a.jpeg)
![8708ede267c0452725c8887455d2d9bb.png](https://i-blog.csdnimg.cn/blog_migrate/08fa6aab50a45ab04c46386e04d11873.png)
pip3 install torch==1.3.1+cpu torchvision==0.4.2+cpu -f https://download.pytorch.org/whl/torch_stable.html
![fc5c94961740967e5433bcb75f57af8f.png](https://i-blog.csdnimg.cn/blog_migrate/971b46e8e12b30eecaea0ec9a4bcc923.png)
![934f527f0b0a9bcbdedd538850c7cdab.png](https://i-blog.csdnimg.cn/blog_migrate/9b3f23c4d22feb3482944a498c77258c.png)
![76ba03d94d29d82d8b6c234f652456ff.png](https://i-blog.csdnimg.cn/blog_migrate/dbf5cd18781e238c66c52b069e34b1e9.png)
![b6c537e7d586272aa756fbbcee8b6849.png](https://i-blog.csdnimg.cn/blog_migrate/fc7cc5f5c0e230dd5c883100c814e4f7.png)
![1340b9a8649657902688e62c3c052d2b.png](https://i-blog.csdnimg.cn/blog_migrate/06e841683ad7e1a95ce380583f075792.png)
![fba0b3a94d256452df43295ec1aecdb9.png](https://i-blog.csdnimg.cn/blog_migrate/44448862b511e5032f13d163651afb36.jpeg)
![53fb1fae4bd432a1a9ee876534484311.png](https://i-blog.csdnimg.cn/blog_migrate/479044813c5b57361ed6765a9388d6ad.jpeg)
![887b373401fd63c816e36d506c4046ae.png](https://i-blog.csdnimg.cn/blog_migrate/12d9c33d3fc208f7002403ac1fe9b71d.png)
![52ea1210dc40d6396d561608e541e412.png](https://i-blog.csdnimg.cn/blog_migrate/c8110ee4376efbb6063b231155037b78.png)
![5b0692748fc24a5245ff6448c55bd9be.png](https://i-blog.csdnimg.cn/blog_migrate/675a5740ed5a435f8ee3c1c5d264291e.png)
![27e5709c5f06e4e53ea4492f9958d1ef.png](https://i-blog.csdnimg.cn/blog_migrate/40361f2778ac1fa0855fd5b94555e242.jpeg)
![99c5066d024b44d1c4506bf19ef342ad.png](https://i-blog.csdnimg.cn/blog_migrate/3d8bb93c8b1f04930f67d97eb220b1ac.png)
https://download.pytorch.org/whl/torch_stable.html
我们Ctrl+F搜索:CU92/torch-1.2.0
![d4d6bf94e700a434ca38abd10b86bad3.png](https://i-blog.csdnimg.cn/blog_migrate/c6465ec63738b0be656c8726ec05e9d7.jpeg)
![1753e04aaac0a84ef32ed50c366065ae.png](https://i-blog.csdnimg.cn/blog_migrate/6226b95107d83bb3226b86d3f451d38b.jpeg)
![b6a14088e9d71bba331fef3d633927eb.png](https://i-blog.csdnimg.cn/blog_migrate/77553d54c1c42c4db10ac45d1bd66f36.png)
![362684b86acb3a5e7633262b11a874e3.png](https://i-blog.csdnimg.cn/blog_migrate/fd2692b5bc5dced0ad9e82c2b0641fbd.png)
![5ad853ff932b0d9d636fef2c3c9fff3b.png](https://i-blog.csdnimg.cn/blog_migrate/b2b2c0cc484fd5cd2a851ceba9b7508b.jpeg)
![a3007267e3faca5a435009fd39bad547.png](https://i-blog.csdnimg.cn/blog_migrate/e15948c07cf483652a675daa25292d3a.png)
![18aab5bd0e0d36e61404fff281b7eb9e.png](https://i-blog.csdnimg.cn/blog_migrate/1bb0405fabd79607ea424f7fe2f7b1ae.png)
![95fc64a61c1d9df37a0ba4050d8eeb6b.png](https://i-blog.csdnimg.cn/blog_migrate/de990d2c9e590e9424e0262edd1662a2.jpeg)
import torchprint("hello pytorch{}".format(torch.__version__))print(torch.cuda.is_available())
然后运行代码:
![c145dde238f87439505bf0e5af5ce5d7.png](https://i-blog.csdnimg.cn/blog_migrate/0bdd62d8d32ca01714ae4f4143329c8f.jpeg)
欢迎赞赏
扫二维码加飞总微信
欢迎加飞总星球