赞
踩
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。