从零开始深度学习Pytorch笔记(1)——安装Pytorch
聊到深度学习, 大家第一感觉就是很高大上。就像我们曾经说到机器学习,很多人也是感觉很高大上,但是慢慢接触之后,发现其无非是数学+编程实现,所以从线性回归开始,不断学习,把各种机器学习方法都学习了一遍,并能够通过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编程网络结构,实现深度学习算法。

如果你没有gpu环境,想使用Pytorch,打开Pytorch的官网:https://pytorch.org/在首页我们可以看到有各种配置可选,我们这里选择CPU的版本(CUDA部分选择None):

pip3 install torch==1.3.1+cpu torchvision==0.4.2+cpu -f https://download.pytorch.org/whl/torch_stable.html

如果下载过慢,可以切换镜像下载,戳这里:Python快速安装库的靠谱办法当然,如果你有GPU环境,或者愿意为学习深度学习去配置GPU,我们可以搭建GPU的Pytorch环境。GPU环境具体搭建流程如下:
(1)安装Python编程环境首先是你得有个Python编程环境,如果没有,推荐安装Anaconda,这个是Python的集成环境,这个Anaconda的安装方法在网络上教程很多(推荐的是对应Python3.6或3.7)。(2)安装CUDA
我们可以看到,Pytorch对应的CUDA版本为9.2或者10.1:



安装完成后,测试CUDA是否安装成功,复制安装路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin打开cmd,切换到安装路径下,执行: nvcc-V

cuDNN需要注册登录才能下载,cuDNN下载页面如下:https://developer.nvidia.com/cudnn登陆后,点击Download即可:


之后我们将下载的cuDNN的压缩包解压


然后进入demo_suite文件夹,查看cuDNN是否安装成功:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\extras\demo_suite切换到该路径下执行bandwidthTest.exe
结果如下图:显示PASS,则cudnn安装成功。

可以查询设备信息:

Result = PASS说明CUDA和cuDNN都安装成功,还显示了我的显卡是GTX 1060 6GB。(4)安装Pytorch
回到Pytorch网站:
https://pytorch.org/我们的选择如下:

https://download.pytorch.org/whl/torch_stable.html
我们Ctrl+F搜索:CU92/torch-1.2.0


打开后创建一个py文件名为hello pytorch.py(名字任意)。然后在TERMINAL中创建虚拟环境:输入:conda create -n pytorch-gpu python=3.7,并且回车运行






import torch
print("hello pytorch{}".format(torch.__version__))
print(torch.cuda.is_available())
然后运行代码:

评论