Pytorch基础第6期|task1 Pytorch基础及概念

Python部分:

我电脑上之间安装的python 是3.6.5版本的。编译器常用的是Pycharm。也可以直接下载annoconda就可以下载python环境及常用的第三方库。

Pytorch部分:

  1. 什么是pytorch

PyTorch是一个基于python的科学计算包,主要针对两类人群:

(1)作为NumPy的替代品,可以利用GPU的性能进行计算

(2)作为一个高灵活性、速度快的深度学习平台

PyTorch 是Torch7 团队开发的,从它的名字就可以看出,其与Torch 的不同之处在于PyTorch 使用了Python 作为开发语言。所谓“Python first”,同样说明它是一个以Python 优先的深度学习框架,不仅能够实现强大的GPU 加速,同时还支持动态神经网络,这是现在很多主流框架比如Tensorflow 等都不支持的。

意义:Pytorch是facebook生态下的框架,Facebook关注的领域是图像和视频,这是未来社交的趋势。Facebook旗下还有caffee2.

2、为什么要选择pytorch

面对如此多的深度学习框架,我们为何要选择PyTorch 呢?Tensorflow 不是深度学习框架默认的老大吗,为什么不直接选择Tensorflow 而是要选择PyTorch 呢?下面分4个方面来介绍为何要使用PyTorch。

(1)掌握一个框架并不能一劳永逸,现在深度学习并没有谁拥有绝对的垄断地位,就算是Google 也没有,所以只学习Tensorflow 并不够。同时现在的研究者使用各个框架的都有,如果你要去看他们实现的代码,至少也需要了解他们使用的框架,所以多学一个框架,以备不时之需。

(2)Tensorflow 与Caffe 都是命令式的编程语言,而且是静态的,首先必须构建一个神经网络,然后一次又一次使用同样的结构,如果想要改变网络的结构,就必须从头开始。但是对于PyTorch,通过一种反向自动求导的技术,可以让你零延迟地任意改变神经网络的行为,尽管这项技术不是PyTorch 独有,但目前为止它实现是最快的,能够为你任何疯狂想法的实现获得最高的速度和最佳的灵活性,这也是PyTorch 对比Tensorflow 最大的优势。

(3)PyTorch 的设计思路是线性、直观且易于使用的,当你执行一行代码时,它会忠实地执行,并没有异步的世界观,所以当你的代码出现Bug 的时候,可以通过这些信息轻松快捷地找到出错的代码,不会让你在Debug 的时候因为错误的指向或者异步和不透明的引擎浪费太多的时间。

(4)PyTorch 的代码相对于Tensorflow 而言,更加简洁直观,同时对于Tensorflow高度工业化的很难看懂的底层代码,PyTorch 的源代码就要友好得多,更容易看懂。深入API,理解PyTorch 底层肯定是一件令人高兴的事。一个底层架构能够看懂的框架,你对其的理解会更深。

3、PyTorch 的特点:

(1)支持GPU;

(2)动态神经网络;

(3)Python 优先;

(4)命令式体验;

(5)轻松扩展。

拥有着如此多优点的PyTorch 也有着它的缺点,首先PyTorch 于2017 年3 月开源发布,目前还是beta 测试版,没有发布正式版本,所以可能有一些小的Bug;其次因为这款框架比较新,所以使用的人也就比较少,这也就使得它的社区没有那么强大,但是PyTorch 提供了一个官方的论坛,大多数碰到的问题都可以去里面搜索,里面的答案一般都是由作者或者其他PyTorch 使用者提供的,论坛的更新也特别频繁,同时也可以去Github 上面提Issue,一般很快就会得到开发者的回应,也算是一定程度上解决了社区的问题。

4、pytorch基础概念:

Pytorch和numpy很像。

Pytorch既可以看作是有GPU支持的numpy,看可以看作是有自动求导功能的深度神经网络。(torch是类似于numpy的张量(tensor)操作库,能很好支持GPU,Lua是torch的上层包装,但是比较小众,Face book用Python调用torch的底层形成pytorch,在Face book中用pytorch进行科学研究,使用Caffe2进行产品部署。)

PyTorch中,所有神经网络的核心是autograd包。先简单介绍一下这个包,然后训练我们的第一个的神经网络。

autograd为张量上的所有操作提供了自动求导机制。它是一个在运行时定义(define-by-run)的框架,这意味着反向传播是根据代码如何运行来决定的,并且每次迭代可以是不同的.

Pytorch是动态框架(其他大部分是伪动态的)

例如;【3000*3000】的矩阵运算,在CPU上的速度是350ms,而在gpu上用pytorch只需要0.1ms。用GPU做神经网络时间快了巨多。

 

Torch是一个对显存利用都还比较高的框架;Pytorch比Torch稍微慢一点(可以查看官方评测),但效率也可以。Torch,PYTORH可以和Tensorflow意义可以自动求导。

 

Pytorch官方网站有一个60Min的简介,可以帮助入门pytorch:

5、pytorch安装:

Tips: 这里的 Anaconda一个是 anaconda3,即python 的版本是 3版本的,这里 windows 下 pyorch 不在支持 python2.7。无论是pip的安装方式还是conda的安装方式

这里以 python3.6 版本为例,若为3.5,或者3.7版本的,conda 安装方式没有变化,只是将pip 方式的安装 xxx-cp36-cp36m-xxx,手动换成对应的xxx-cp35-cp35m-xxx或者xxx-cp37-cp37m-xxx就可以了。

请根据自己电脑中的相关配置信息选择下列安装方式(conda或者pip 任选其一即可):

(windows 下 CUDA + cudnn 安装方法见:Windows 下用 build_win.cmd 直接编译 GPU 版caffe 1、2 部分)----本文链接(6)

安装方法:

1. 没有安装CUDA(或者没有GPU)

conda 方式

conda install pytorch-cpu -c pytorch

pip install torchvision

pip 方式

pip install http://download.pytorch.org/whl/cpu/torch-0.4.1-cp36-cp36m-win_amd64.whl

pip install torchvision

 

2. CUDA8.0

conda 方式

conda install pytorch cuda80 -c pytorch

pip install torchvision

pip 方式

pip install http://download.pytorch.org/whl/cu80/torch-0.4.1-cp36-cp36m-win_amd64.whl

pip install torchvision

3. CUDA9.0

conda 方式

conda install pytorch cuda90 -c pytorch

pip install torchvision

pip 方式

pip install http://download.pytorch.org/whl/cu90/torch-0.4.1-cp36-cp36m-win_amd64.whl

pip install torchvision

4. CUDA9.2

conda 方式

conda install pytorch cuda92 -c pytorch

pip install torchvision

pip 方式

pip install http://download.pytorch.org/whl/cu92/torch-0.4.1-cp36-cp36m-win_amd64.whl

pip install torchvision

可能遇到下载失败的情况

以 Pytorch 0.4.1 为例,安装包大小是 535.5 MB,在下载过程中只能看到进度条,可能下载过程中因为网络原因,出现下载失败的情况,这种通常情况下只能重新运行命令,继续从头下载,也可能多次失败。

 

1. conda 方式

2. pip 方式

(这里下载速度只有 几十 KB/s 的速度,我就手动停止了),也可以看出 pip 安装方式是可以实时看到当前下载速度和进度条的,而 conda 安装方式只可以看到进度条。

解决方法

一般可以通过选择将 pip install xxx,这里的 xxx 代表上面的下载链接,直接将链接复制到浏览器中,使用浏览器来下载,以 CUDAO8.0+3.5 版本的为例,3.6或3.7 的只要将对用 xxx–cp35-cp35m-xxx 换成 xxx–cp36-cp36m-xxx,xxx–cp37-cp37m-xxx 就可以了。

打开浏览器输入:

http://download.pytorch.org/whl/cu80/torch-0.4.1-cp36-cp36m-win_amd64.whl

然后回车:

若在下载中途出现问题,还可以点 继续 下载,而不是每次都从头下载,并且安装包可以多次使用。

下载完成后,在对应的 ,whl 下载路径下打开命令行工具输入:

pip install torch-0.4.1-cp35-cp35m-win_amd64.whl

稍等就可以完成安装了。

安装完可以打开 Python 环境输入:

import torch

不报错就说明安装完成!!

Python部分:

我电脑上安装的python 是3.6.5版本的。编译器常用的是Pycharm。也可以直接下载annoconda就可以下载python环境及常用的第三方库。

Pytorch部分:

  1. 什么是pytorch

PyTorch是一个基于python的科学计算包,主要针对两类人群:

(1)作为NumPy的替代品,可以利用GPU的性能进行计算

(2)作为一个高灵活性、速度快的深度学习平台

PyTorch 是Torch7 团队开发的,从它的名字就可以看出,其与Torch 的不同之处在于PyTorch 使用了Python 作为开发语言。所谓“Python first”,同样说明它是一个以Python 优先的深度学习框架,不仅能够实现强大的GPU 加速,同时还支持动态神经网络,这是现在很多主流框架比如Tensorflow 等都不支持的。

意义:Pytorch是facebook生态下的框架,Facebook关注的领域是图像和视频,这是未来社交的趋势。Facebook旗下还有caffee2.

  1. 为什么要选择pytorch

面对如此多的深度学习框架,我们为何要选择PyTorch 呢?Tensorflow 不是深度学习框架默认的老大吗,为什么不直接选择Tensorflow 而是要选择PyTorch 呢?下面分4个方面来介绍为何要使用PyTorch。

(1)掌握一个框架并不能一劳永逸,现在深度学习并没有谁拥有绝对的垄断地位,就算是Google 也没有,所以只学习Tensorflow 并不够。同时现在的研究者使用各个框架的都有,如果你要去看他们实现的代码,至少也需要了解他们使用的框架,所以多学一个框架,以备不时之需。

(2)Tensorflow 与Caffe 都是命令式的编程语言,而且是静态的,首先必须构建一个神经网络,然后一次又一次使用同样的结构,如果想要改变网络的结构,就必须从头开始。但是对于PyTorch,通过一种反向自动求导的技术,可以让你零延迟地任意改变神经网络的行为,尽管这项技术不是PyTorch 独有,但目前为止它实现是最快的,能够为你任何疯狂想法的实现获得最高的速度和最佳的灵活性,这也是PyTorch 对比Tensorflow 最大的优势。

(3)PyTorch 的设计思路是线性、直观且易于使用的,当你执行一行代码时,它会忠实地执行,并没有异步的世界观,所以当你的代码出现Bug 的时候,可以通过这些信息轻松快捷地找到出错的代码,不会让你在Debug 的时候因为错误的指向或者异步和不透明的引擎浪费太多的时间。

(4)PyTorch 的代码相对于Tensorflow 而言,更加简洁直观,同时对于Tensorflow高度工业化的很难看懂的底层代码,PyTorch 的源代码就要友好得多,更容易看懂。深入API,理解PyTorch 底层肯定是一件令人高兴的事。一个底层架构能够看懂的框架,你对其的理解会更深。

3、PyTorch 的特点:

(1)支持GPU;

(2)动态神经网络;

(3)Python 优先;

(4)命令式体验;

(5)轻松扩展。

拥有着如此多优点的PyTorch 也有着它的缺点,首先PyTorch 于2017 年3 月开源发布,目前还是beta 测试版,没有发布正式版本,所以可能有一些小的Bug;其次因为这款框架比较新,所以使用的人也就比较少,这也就使得它的社区没有那么强大,但是PyTorch 提供了一个官方的论坛,大多数碰到的问题都可以去里面搜索,里面的答案一般都是由作者或者其他PyTorch 使用者提供的,论坛的更新也特别频繁,同时也可以去Github 上面提Issue,一般很快就会得到开发者的回应,也算是一定程度上解决了社区的问题。

4、pytorch基础概念:

Pytorch和numpy很像。

Pytorch既可以看作是有GPU支持的numpy,看可以看作是有自动求导功能的深度神经网络。(torch是类似于numpy的张量(tensor)操作库,能很好支持GPU,Lua是torch的上层包装,但是比较小众,Face book用Python调用torch的底层形成pytorch,在Face book中用pytorch进行科学研究,使用Caffe2进行产品部署。)

PyTorch中,所有神经网络的核心是autograd包。先简单介绍一下这个包,然后训练我们的第一个的神经网络。

autograd为张量上的所有操作提供了自动求导机制。它是一个在运行时定义(define-by-run)的框架,这意味着反向传播是根据代码如何运行来决定的,并且每次迭代可以是不同的.

Pytorch是动态框架(其他大部分是伪动态的)

例如;【3000*3000】的矩阵运算,在CPU上的速度是350ms,而在gpu上用pytorch只需要0.1ms。用GPU做神经网络时间快了巨多。

 

Torch是一个对显存利用都还比较高的框架;Pytorch比Torch稍微慢一点(可以查看官方评测),但效率也可以。Torch,PYTORH可以和Tensorflow意义可以自动求导。

 

Pytorch官方网站有一个60Min的简介,可以帮助入门pytorch:

4、pytorch安装:

Tips: 这里的 Anaconda一个是 anaconda3,即python 的版本是 3版本的,这里 windows 下 pyorch 不在支持 python2.7。无论是pip的安装方式还是conda的安装方式

这里以 python3.6 版本为例,若为3.5,或者3.7版本的,conda 安装方式没有变化,只是将pip 方式的安装 xxx-cp36-cp36m-xxx,手动换成对应的xxx-cp35-cp35m-xxx或者xxx-cp37-cp37m-xxx就可以了。

请根据自己电脑中的相关配置信息选择下列安装方式(conda或者pip 任选其一即可):

(windows 下 CUDA + cudnn 安装方法见:Windows 下用 build_win.cmd 直接编译 GPU 版caffe 1、2 部分)----本文链接(6)

安装方法:

1. 没有安装CUDA(或者没有GPU)

conda 方式

conda install pytorch-cpu -c pytorch

pip install torchvision

pip 方式

pip install http://download.pytorch.org/whl/cpu/torch-0.4.1-cp36-cp36m-win_amd64.whl

pip install torchvision

 

2. CUDA8.0

conda 方式

conda install pytorch cuda80 -c pytorch

pip install torchvision

pip 方式

pip install http://download.pytorch.org/whl/cu80/torch-0.4.1-cp36-cp36m-win_amd64.whl

pip install torchvision

3. CUDA9.0

conda 方式

conda install pytorch cuda90 -c pytorch

pip install torchvision

pip 方式

pip install http://download.pytorch.org/whl/cu90/torch-0.4.1-cp36-cp36m-win_amd64.whl

pip install torchvision

4. CUDA9.2

conda 方式

conda install pytorch cuda92 -c pytorch

pip install torchvision

pip 方式

pip install http://download.pytorch.org/whl/cu92/torch-0.4.1-cp36-cp36m-win_amd64.whl

pip install torchvision

可能遇到下载失败的情况

以 Pytorch 0.4.1 为例,安装包大小是 535.5 MB,在下载过程中只能看到进度条,可能下载过程中因为网络原因,出现下载失败的情况,这种通常情况下只能重新运行命令,继续从头下载,也可能多次失败。

 

1. conda 方式

2. pip 方式

(这里下载速度只有 几十 KB/s 的速度,我就手动停止了),也可以看出 pip 安装方式是可以实时看到当前下载速度和进度条的,而 conda 安装方式只可以看到进度条。

解决方法

一般可以通过选择将 pip install xxx,这里的 xxx 代表上面的下载链接,直接将链接复制到浏览器中,使用浏览器来下载,以 CUDAO8.0+3.5 版本的为例,3.6或3.7 的只要将对用 xxx–cp35-cp35m-xxx 换成 xxx–cp36-cp36m-xxx,xxx–cp37-cp37m-xxx 就可以了。

打开浏览器输入:

http://download.pytorch.org/whl/cu80/torch-0.4.1-cp36-cp36m-win_amd64.whl

然后回车:

若在下载中途出现问题,还可以点 继续 下载,而不是每次都从头下载,并且安装包可以多次使用。

下载完成后,在对应的 ,whl 下载路径下打开命令行工具输入:

pip install torch-0.4.1-cp35-cp35m-win_amd64.whl

稍等就可以完成安装了。

安装完可以打开 Python 环境输入:

import torch

不报错就说明安装完成!!

本文参考链接:

(1)https://pytorch.apachecn.org/#/

(2)https://blog.csdn.net/weixin_39280774/article/details/89057577

(3)https://blog.csdn.net/qq_30648853/article/details/89046613

(4) https://pytorch-cn.readthedocs.io/zh/latest/#pytorch

(5)https://blog.csdn.net/Chris_zhangrx/article/details/82694882

(6) https://blog.csdn.net/Chris_zhangrx/article/details/83339684

 

 

本文参考链接:

(1)https://pytorch.apachecn.org/#/

(2)https://blog.csdn.net/weixin_39280774/article/details/89057577

(3)https://blog.csdn.net/qq_30648853/article/details/89046613

(4) https://pytorch-cn.readthedocs.io/zh/latest/#pytorch

(5)https://blog.csdn.net/Chris_zhangrx/article/details/82694882

(6) https://blog.csdn.net/Chris_zhangrx/article/details/83339684

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值