PyTorch:深度学学习框架PyTorch的简介、安装、使用方法之详细攻略

PyTorch的简介
       pytorch是一个python优先的深度学习框架,是一个和tensorflow,Caffe,MXnet一样,非常底层的框架。     
       Torch官网:https://pytorch.org/
       Torch官网的gitHub:https://github.com/torch/torch7
       pypi torch :  https://pypi.org/project/torch/

       Torch 自称为神经网络界的 Numpy, 因为他能将 torch 产生的 tensor 放在 GPU 中加速运算 (前提是你有合适的 GPU), 就像 Numpy 会把 array 放在 CPU 中加速运算. 所以神经网络的话, 当然是用 Torch 的 tensor 形式数据最好。 就像 Tensorflow 当中的 tensor 一样。pytorch是一个动态的建图的工具。不像Tensorflow那样,先建图,然后通过feed和run重复执行建好的图。相对来说,pytorch具有更好的灵活性。
      如图所示,Torch已经实现了很多库,比如ML、RL等
(1)、比如查询BatchNormalization算法的实现

1、pytorch的三大优势
(1)、Python优先支持策略:Pytorch主推的特性之一,就是支持python(官方的提法:puts Python first)。因为直接构建自 Python C API,Pytorch从细粒度上直接支持python的访问。相比于原生Python实现,引入的新概念很少,这不仅降低了 python 用户理解的门槛,也能保证代码基本跟原生的 python 实现一致。事实上,开发者可以直接用原生 python 代码扩展 Pytorch 的 operation。
(2)、动态图的良好支持:Tensorflow运行必须提前建好静态计算图,然后通过feed和run重复执行建好的图。但是Pytorch却不需要这么麻烦:PyTorch的程序可以在执行时动态构建/调整计算图。相对来说,pytorch具有更好的灵活性。这得益于Pytorch直接基于 python C API 构建的 python 接口。
(3)、易于Debug:Pytorch在运行时可以生成动态图,开发者就可以在堆栈跟踪中看到哪一行代码导致了错误。你甚至可以在调试器中停掉解释器并看看某个层会产生什么。
(4)、通常使用PyTorch可以使用GPU的功能代替numpy。 一个深刻的学习研究平台,提供最大的灵活性和速度。
2、pytorch和tensorflow相互PK
    在便利性和上手难度上,pytorch远胜于tensorflow,原因是pytorch是基于动态图,而tensorflow是基于静态计算图,因此pytorch能随时打印tensor的值,但是Tensorflow需要设置回调的方法才能打印,如果想在tensorflow中想判断一个变量的值的正确性,只能使用assert方法,这一点确实tensorflow不及pytorch,而在上手难度上pytorch也是比tensorflow容易。

 

PyTorch的安装

pip install torch
pip install torch==0.4.1.post2
 
 
T1方法
git clone https://github.com/pytorch/vision
cd vision
python setup.py install
T2方法
pip3 install http://download.pytorch.org/whl/cu80/torch-0.4.0-cp36-cp36m-win_amd64.whl 
pip3 install torchvision
 
T3方法
pip install torch-0.4.0-cp36-cp36m-win_amd64.whl
pip install torchvision

1、20181114更新版本到 torch-0.4.1

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

(1)、测试

import torch  
print(torch.__version__)          #输出版本信息
print(torch.cuda.is_available())  #查看是否支持cuda

 

PyTorch的使用方法
一、Torch运算命令
1、三行命令即可运算

二、Pytorch
1、PyTorch是一个提供两个高级功能的python包:  
具有强GPU加速度的张量计算(如numpy) 
深层神经网络建立在基于磁带的自动调整系统上 
  可以重用您最喜爱的python软件包,如numpy,scipy和Cython,以便在需要时扩展PyTorch。  
2、PyTorch在细粒度级别是由以下组件组成的库:
torch   像NumPy这样的Tensor图书馆,拥有强大的GPU支持 
torch.autograd   一种基于磁带的自动分类库,支持所有可区分的Tensor操作手电筒。pytorch的自动求导工具包在torch.autograd中。
torch.nn   一个神经网络库与autograd设计了最大的灵活性。pytorch神经网络构建很容易,主要使用的包是torch.nn这个包,可以尝试使用pytorch构建一个简单的二层神经网络结构。

torch.optim   一种与torch.nn一起使用的优化包,具有标准优化方法,如SGD,RMSProp,LBFGS,Adam等。 
torch.multiprocessing   python多处理,但是具有魔法内存共享的手电筒传感器跨过程。适用于数据加载和hogwild培训。
torch.utils   DataLoader,Trainer等实用功能为方便起见 torch.legacy(.nn / .optim) 由于向后兼容性原因,已经从割炬移植的旧代码 。

 

参考文献

PyTorch官网

PyTorch中文文档

pytorch入门

pytorch 学习笔记(一)

Win10 Python3.6下安装PyTorch

原文:https://blog.csdn.net/qq_41185868/article/details/80152596 

  • 15
    点赞
  • 115
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值