PyTorch | (1)初识PyTorch
PyTorch | (1)初识PyTorch
介绍
PyTorch是一个非常有可能改变深度学习领域前景的Python库。我尝试使用了几星期PyTorch,然后被它的易用性所震惊,在我使用过的各种深度学习库中,PyTorch是最灵活、最容易掌握的。
PyTorch的概述
PyTorch的创始人说过他们创作的一个准则——他们想成为当务之急。这意味着我们可以立即执行计算。这正好符合Python的编程方法,不需要完成全部代码才能运行,可以轻松的运行部分代码并实时检查。对于我来说把它作为一个神经网络调试器是一件非常幸福的事。
PyTorch是一个基于Python的库,用来提供一个具有灵活性的深度学习开发平台。PyTorch的工作流程非常接近Python的科学计算库——numpy。
现在你可能会问,为什么我们要用PyTorch来建立深度学习模型呢?我可以列出三件有助于回答的事情:
·易于使用的API—它就像Python一样简单。
·Python的支持—如上所述,PyTorch可以顺利地与Python数据科学栈集成。它非常类似于numpy,甚至注意不到它们的差别。
·动态计算图—取代了具有特定功能的预定义图形,PyTorch为我们提供了一个框架,以便可以在运行时构建计算图,甚至在运行时更改它们。在不知道创建神经网络需要多少内存的情况下这非常有价值。
PyTorch的其他一些优点还包括:多gpu支持,自定义数据加载器和简化的预处理器。
自从2016年1月发布以来,许多研究人员将其作为一种“go-to”库,因为它可以轻松地构建新颖的甚至是极其复杂的图形。虽说如此,PyTorch仍有一段时间没有被大多数数据科学实践者采用,因为它是新的而且处于“正在建设”的状态。
PyTorch基础概念
PyTorch 是一个建立在 Torch 库之上的 Python 包,旨在加速深度学习应用。
PyTorch 提供一种类似 NumPy 的抽象方法来表征张量(或多维数组,标量是零级张量、向量是一阶张量,矩阵是二阶张量),它可以利用 GPU 来加速训练。在神经网络中Torch可以替换Numpy。
而PyTorch相比TensorFlow,其最大的优点是建立的神经网络是动态的,相比静态的TensorFlow,它能更加有效地去处理一些问题,比如RNN变化时间长度的输出,TensorFlow相比PyTorch的有点在于分布式训练上。
Tensor和Numpy之间的转换(Numpy桥)
import torch
import numpy as npnp_data = np.arange(6).reshape((2, 3))
torch_data = torch.from_numpy(np_data)
tensor2array = torch_data.numpy()
print('\nnumpy', np_data,'\ntorch', torch_data,'\ntensor2array', tensor2array
)
运行结果:
numpy [[0 1 2][3 4 5]]
torch tensor([[0, 1, 2],[3, 4, 5]], dtype=torch.int32)
tensor2array [[0 1 2][3 4 5]]
张量
张量(Tensor)是线性代数中的一种数据结构,是向量和矩阵的推广,我们可以在张量上进行算术运算。
import torch
x = torch.ones(2,3,4)
print(x)
输出:
tensor([[[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.]],[[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.]]])
- Tensor与numpy的Array之间的相互转换时,要时刻注意Tensor和numpy的Array共享潜在的内存,改变其中任一值,另外一个也会相应改变
- 如果安装了GPU版(CUDA张量)的Pytorch,可将张量转移到GPU上进行计算,从而可以提高运算效率
参考资料
1. https://pytorch-cn.readthedocs.io/zh/latest/
2. https://pytorch.org/
3. http://pytorch123.com/
4. https://www.jianshu.com/p/c2671edcc27e
PyTorch | (1)初识PyTorch相关推荐
- Pytorch LSTM初识(详解LSTM+torch.nn.LSTM()实现)1
pytorch LSTM1初识 目录 pytorch LSTM1初识 一.LSTM简介1
- 【数据平台】Pytorch库初识
PyTorch是使用GPU和CPU优化的深度学习张量库. 1.安装,参考官网:http://pytorch.org/ conda install pytorch torchvision -c pyto ...
- 《深度学习笔记》——初识PyTorch的学习笔记
1 致谢 感谢网友爱吃鱼的不止大脸猫的帮助, 原文链接如下: https://www.jianshu.com/p/4905bf8e06e5 2 安装PyTorch 可以参考我的博文: Windows平 ...
- PyTorch入门到实战自然语言处理及计算机视觉02初识Pytorch基本框架
PyTorch起源 Facebook人工智能研究(FAIR)2017年Github开源 PyTorch VS TensorFlow Pytorch 简洁 动态计算 visdom 部署不方便 Tenso ...
- Pytorch学习 - Task5 PyTorch卷积层原理和使用
Pytorch学习 - Task5 PyTorch卷积层原理和使用 1. 卷积层 (1)介绍 (torch.nn下的) 1) class torch.nn.Conv1d() 一维卷积层 2) clas ...
- Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用
Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用 官方参考链接 1. 损失函数 (1)BCELoss 二分类 计算公式 小例子: (2) BCEWithLogitsLoss ...
- 【pytorch速成】Pytorch图像分类从模型自定义到测试
文章首发于微信公众号<与有三学AI> [pytorch速成]Pytorch图像分类从模型自定义到测试 前面已跟大家介绍了Caffe和TensorFlow,链接如下. [caffe速成]ca ...
- python pytorch fft_看PyTorch源代码的心路历程
1. 起因 曾经碰到过别人的模型prelu在内部的推理引擎算出的结果与其在原始框架PyTorch中不一致的情况,虽然理论上大家实现的都是一个算法,但是从参数上看,因为经过了模型转换,中间做了一些调整. ...
- pytorch forward_【Pytorch部署】TorchScript
TorchScript是什么? TorchScript - PyTorch master documentationpytorch.org TorchScript是一种从PyTorch代码创建可序列 ...
最新文章
- 笛卡尔积 php,PHP自定义函数生成笛卡尔积
- 20个!中国科协发布2020年重大科学问题和工程技术难题
- 如何用Python从本地将一个文件备份到Google Drive
- ubuntu远程桌面
- 线程间操作无效,从不是创建控件的线程访问它。
- ![CDATA[ ]]
- 第二十二章 面向对象
- java国际规范标准,国际化 - Java Servlet 3.1 规范
- HBase 安装配置及下载地址
- iphone win7无法识别_小编操作win7系统电脑不能识别iphone苹果设备的设置教程
- 学习PS软件的渐变工具
- 短信验证功能、邮箱验证功能
- linux学校_济南教师招聘 |济南市益友培训学校7大岗位教师招聘(月薪4k15k、包住)...
- 换新电脑后怎么重装系统win7,win7安装教程
- [网络工程师]-路由协议-IGRP协议
- IDEA 快速复制、剪切当前行
- MC7812BTG详细参数介绍
- 谢钦个人资料简介及详细介绍
- 小i机器人闪耀首届长三角科交会,展示真实智能生活
- 2020年国防科大CS预推免