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相关推荐

  1. Pytorch LSTM初识(详解LSTM+torch.nn.LSTM()实现)1

    pytorch  LSTM1初识 目录 pytorch  LSTM1初识 ​​​​​​​​​​​​​​​​​​​​​ 一.LSTM简介1

  2. 【数据平台】Pytorch库初识

    PyTorch是使用GPU和CPU优化的深度学习张量库. 1.安装,参考官网:http://pytorch.org/ conda install pytorch torchvision -c pyto ...

  3. 《深度学习笔记》——初识PyTorch的学习笔记

    1 致谢 感谢网友爱吃鱼的不止大脸猫的帮助, 原文链接如下: https://www.jianshu.com/p/4905bf8e06e5 2 安装PyTorch 可以参考我的博文: Windows平 ...

  4. PyTorch入门到实战自然语言处理及计算机视觉02初识Pytorch基本框架

    PyTorch起源 Facebook人工智能研究(FAIR)2017年Github开源 PyTorch VS TensorFlow Pytorch 简洁 动态计算 visdom 部署不方便 Tenso ...

  5. Pytorch学习 - Task5 PyTorch卷积层原理和使用

    Pytorch学习 - Task5 PyTorch卷积层原理和使用 1. 卷积层 (1)介绍 (torch.nn下的) 1) class torch.nn.Conv1d() 一维卷积层 2) clas ...

  6. Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用

    Pytorch学习 - Task6 PyTorch常见的损失函数和优化器使用 官方参考链接 1. 损失函数 (1)BCELoss 二分类 计算公式 小例子: (2) BCEWithLogitsLoss ...

  7. 【pytorch速成】Pytorch图像分类从模型自定义到测试

    文章首发于微信公众号<与有三学AI> [pytorch速成]Pytorch图像分类从模型自定义到测试 前面已跟大家介绍了Caffe和TensorFlow,链接如下. [caffe速成]ca ...

  8. python pytorch fft_看PyTorch源代码的心路历程

    1. 起因 曾经碰到过别人的模型prelu在内部的推理引擎算出的结果与其在原始框架PyTorch中不一致的情况,虽然理论上大家实现的都是一个算法,但是从参数上看,因为经过了模型转换,中间做了一些调整. ...

  9. pytorch forward_【Pytorch部署】TorchScript

    TorchScript是什么? TorchScript - PyTorch master documentation​pytorch.org TorchScript是一种从PyTorch代码创建可序列 ...

最新文章

  1. 笛卡尔积 php,PHP自定义函数生成笛卡尔积
  2. 20个!中国科协发布2020年重大科学问题和工程技术难题
  3. 如何用Python从本地将一个文件备份到Google Drive
  4. ubuntu远程桌面
  5. 线程间操作无效,从不是创建控件的线程访问它。
  6. ![CDATA[ ]]
  7. 第二十二章 面向对象
  8. java国际规范标准,国际化 - Java Servlet 3.1 规范
  9. HBase 安装配置及下载地址
  10. iphone win7无法识别_小编操作win7系统电脑不能识别iphone苹果设备的设置教程
  11. 学习PS软件的渐变工具
  12. 短信验证功能、邮箱验证功能
  13. linux学校_济南教师招聘 |济南市益友培训学校7大岗位教师招聘(月薪4k15k、包住)...
  14. 换新电脑后怎么重装系统win7,win7安装教程
  15. [网络工程师]-路由协议-IGRP协议
  16. IDEA 快速复制、剪切当前行
  17. MC7812BTG详细参数介绍
  18. 谢钦个人资料简介及详细介绍
  19. 小i机器人闪耀首届长三角科交会,展示真实智能生活
  20. 2020年国防科大CS预推免

热门文章

  1. March Library 版本更新
  2. JVM:垃圾回收概述
  3. 雷军做程序员时写的博客,太牛了!
  4. 是什么让 Spring5 放弃了使用 Guava Cache?
  5. SpringBoot内置tomcat启动原理
  6. SQL查询语句总是先执行SELECT?你们都错了。。。
  7. 面试造飞机系列:用心整理的HashMap面试题,以后都不用担心了
  8. 分布式事务 GTS 的价值和原理浅析
  9. 纯!干!货!2019年19个Docker面试问题和解答!一线大厂必看!
  10. 万物生长,万物互联的时代来了