pytorch是:
1)可以使用GPU的Numpy
2)深度学习的框架

1.Tensors
Tensors类似于Numpyndarrays,区别在于Tensor可以使用GPU。

  • 创建5*3的矩阵,未初始化
from __future__ import print_function
import torch
x = torch.empty(5, 3)
print(x)
----------------------------------------------
tensor([[ 5.0375e+28,  4.5625e-41,  5.0195e+28],[ 4.5625e-41, -1.8338e+30,  3.0840e-41],[-9.9826e+08,  4.5625e-41, -1.5343e+08],[ 4.5625e-41, -1.0043e+09,  4.5625e-41],[-2.0086e+08,  4.5625e-41, -9.5843e+08]])
  • 创建随机初始化的矩阵
x = torch.rand(5, 3)
print(x)
-------------------------------------------------
tensor([[0.5814, 0.0997, 0.1744],[0.2834, 0.9581, 0.9954],[0.9372, 0.4401, 0.1696],[0.1424, 0.5370, 0.9970],[0.6686, 0.5558, 0.5354]])

-创建0初始化矩阵,并设定类型为long

x = torch.zeros(5, 3, dtype=torch.long)
print(x)
---------------------------------------------------
tensor([[0, 0, 0],[0, 0, 0],[0, 0, 0],[0, 0, 0],[0, 0, 0]])
  • 从列表中创建
x = torch.tensor([5.5, 3])
print(x)
---------------------------------------------------
tensor([5.5000, 3.0000])
  • 从已存在的tensor中创建,新的tensor将使用旧tensor的属性,除非新创建的指定了新的属性
x = x.new_ones(5, 3, dtype=torch.double)      # new_* methods take in sizes
print(x)x = torch.randn_like(x, dtype=torch.float)    # override dtype!
print(x)                                      # result has the same size
------------------------------------------------------
tensor([[1., 1., 1.],[1., 1., 1.],[1., 1., 1.],[1., 1., 1.],[1., 1., 1.]], dtype=torch.float64)
tensor([[-0.0970,  1.1034, -1.6941],[-1.7651, -0.5884, -1.1931],[ 1.0376, -0.8236,  0.8907],[ 0.4683, -0.1217,  1.2467],[ 0.4624,  0.4772, -1.0577]])

2.操作

  • 加法
y = torch.rand(5, 3)
print(x + y)
-------------------------------
tensor([[ 0.4675,  1.7053, -1.2332],[-1.6031,  0.1028, -0.6090],[ 1.8545, -0.6408,  1.0778],[ 0.9508,  0.7635,  2.1345],[ 0.5693,  1.0205, -0.5476]])
--------------------------------
print(torch.add(x, y))
----------------------------------
tensor([[ 0.4675,  1.7053, -1.2332],[-1.6031,  0.1028, -0.6090],[ 1.8545, -0.6408,  1.0778],[ 0.9508,  0.7635,  2.1345],[ 0.5693,  1.0205, -0.5476]])
----------------------------------
# adds x to y
y.add_(x)
print(y)
----------------------------------
tensor([[ 0.4675,  1.7053, -1.2332],[-1.6031,  0.1028, -0.6090],[ 1.8545, -0.6408,  1.0778],[ 0.9508,  0.7635,  2.1345],[ 0.5693,  1.0205, -0.5476]])
  • indexing
print(x[:, 1])
---------------------------------------------
tensor([ 1.1034, -0.5884, -0.8236, -0.1217,  0.4772])
  • resizing
x = torch.randn(4, 4)
y = x.view(16)
z = x.view(-1, 8)  # the size -1 is inferred from other dimensions
print(x.size(), y.size(), z.size())
--------------------------------------------------
torch.Size([4, 4]) torch.Size([16]) torch.Size([2, 8])
  • item 获得结果
x = torch.randn(1)
print(x)
print(x.item())
------------------------------------------------------
tensor([0.9551])
0.9551321864128113

3.Numpy桥梁
Torch Tensor和Numpy array会共享内存空间(如果Torch Tensor在CPU),改变其中一个另一个也会随着改变。

  • 将tensor转换为ndarry
a = torch.ones(5)
print(a)
---------------------
tensor([1., 1., 1., 1., 1.])
---------------------
b = a.numpy()
print(b)
---------------------
[1. 1. 1. 1. 1.]
---------------------
a.add_(1)
print(a)
print(b)
---------------------
tensor([2., 2., 2., 2., 2.])
[2. 2. 2. 2. 2.]
  • 将ndarry转换为numpy
import numpy as np
a = np.ones(5)
b = torch.from_numpy(a)
np.add(a, 1, out=a)
print(a)
print(b)
---------------------
[2. 2. 2. 2. 2.]
tensor([2., 2., 2., 2., 2.], dtype=torch.float64)

4.CUDA Tensor

# let us run this cell only if CUDA is available
# We will use ``torch.device`` objects to move tensors in and out of GPU
if torch.cuda.is_available():device = torch.device("cuda")          # a CUDA device objecty = torch.ones_like(x, device=device)  # directly create a tensor on GPUx = x.to(device)                       # or just use strings ``.to("cuda")``z = x + yprint(z)print(z.to("cpu", torch.double))       # ``.to`` can also change dtype together!
---------------------
tensor([1.9551], device='cuda:0')
tensor([1.9551], dtype=torch.float64)

参考:
https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py

WHAT IS PYTORCH相关推荐

  1. 通过anaconda2安装python2.7和安装pytorch

    ①由于官网下载anaconda2太慢,最好去byrbt下载,然后安装就行 ②安装完anaconda2会自动安装了python2.7(如终端输入python即进入python模式) 但是可能没有设置环境 ...

  2. 记录一次简单、高效、无错误的linux上安装pytorch的过程

    1 准备miniconda Miniconda Miniconda 可以理解成Anaconda的免费.浓缩版.它非常小,只包含了conda.python以及它们依赖的一些包.我们可以根据我们的需要再安 ...

  3. 各种注意力机制PyTorch实现

    给出了整个系列的PyTorch的代码实现,以及使用方法. 各种注意力机制 Pytorch implementation of "Beyond Self-attention: External ...

  4. PyTorch代码调试利器_TorchSnooper

    GitHub 项目地址: https://github.com/zasdfgbnm/TorchSnooper 大家可能遇到这样子的困扰:比如说运行自己编写的 PyTorch 代码的时候,PyTorch ...

  5. pytorch常用代码

    20211228 https://mp.weixin.qq.com/s/4breleAhCh6_9tvMK3WDaw 常用代码段 本文代码基于 PyTorch 1.x 版本,需要用到以下包: impo ...

  6. API pytorch tensorflow

    pytorch与tensorflow API速查表 方法名称 pytroch tensorflow numpy 裁剪 torch.clamp(x, min, max) tf.clip_by_value ...

  7. tensor转换 pytorch tensorflow

    一.tensorflow的numpy与tensor互转 1.数组(numpy)转tensor 利用tf.convert_to_tensor(numpy),将numpy转成tensor >> ...

  8. tensor和模型 保存与加载 PyTorch

    PyTorch教程-7:PyTorch中保存与加载tensor和模型详解 保存和读取Tensor PyTorch中的tensor可以保存成 .pt 或者 .pth 格式的文件,使用torch.save ...

  9. detach detach_ pytorch

    pytorch中的detach和detach_ pytorch 的 Variable 对象中有两个方法,detach和 detach_ : detach 官方文档中,对这个方法是这么介绍的. 返回一个 ...

  10. linux pytorch 快速安装

    https://pypi.tuna.tsinghua.edu.cn/simple/torch/ pytorch 清华源 pip 默认为系统的python2.7 pip3 为安装的最高版本 linux安 ...

最新文章

  1. join left 大数据_Java并发编程笔记-JDK内置并行执行框架Fork/Join
  2. Linux 系统的目录结构_【all】
  3. Code-First Migrations随Entity Framework 4.3一同发布
  4. Linux协议栈(7)——网络层实现
  5. 17原理图查找连接的管脚接口_第三节 主板原理图之标识的作用
  6. 性能监控—spotlight监控mysql性能
  7. FATAL ERROR: Could not find ./bin/my_print_defaults 解决方法
  8. jstl处理栏目与子栏目_深圳北易:网站SEO优化如何提高网站栏目页排名
  9. Linux学习一周初体验
  10. 关于SubSonic3.0生成的表名自动加复数(s)的“用户代码未处理SqlException,对象名'xxxs'无效”异常处理...
  11. 第三次握手为什么没有序列号_TCP三次握手机制-深入浅出(实例演示)
  12. creo数控编程怎么样_CREO 3.0中文版数控加工高手必备118招
  13. 说说你对AQS的理解?
  14. 满足互动、发出用户民意的BBS论坛
  15. PostgreSQL数据库统计信息——analyze执行函数
  16. FPGA原理和结构简介
  17. 竞价网站服务器,派代网-竞价网站被攻击的完美解决方法
  18. 实验三 七段数码显示器
  19. java 中char占了几个字节
  20. 埃森哲杯第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛 I 二数(模拟)

热门文章

  1. upupoo设置HTML壁纸,win10 upupoo黑屏怎么解决-解决upupoo设置壁纸黑屏的方法 - 河东软件园...
  2. SQL数据库语言基础之SqlServer数据库原理与设计课程期末复习-条件查询实例练习【学生表、选课表、家庭作业表】
  3. linux如何查看本机名称,Linux查看本机登陆用户信息(w、who、last和lastlog命令)...
  4. ie运行不了java脚本界面_IE浏览器不能运行js JS代码失效不能运行了如何解决
  5. Python+django网页设计入门(19):创建新模型扩展自带用户表的字段
  6. Python代码调试之异常回溯
  7. python接口自动化 一个变量 其他接口要用_python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)...
  8. 基于OpenCV和C++实现最大阈值分割算法
  9. 浪潮ai服务器最新数据,浪潮发布的最新AI服务器,将GPU资源利用率提升至前所未有的水平...
  10. java做一个客房管理系统定制_开题报告基于Java的酒店客房管理系统的设计与实现.doc...