Pytorch Tutorial【Chapter 1. Basic operation of tensor】

这篇具有很好参考价值的文章主要介绍了Pytorch Tutorial【Chapter 1. Basic operation of tensor】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Pytorch Tutorial

Chapter 1. Basic operation of tensor

本节介绍有关张量Tensor的基本操作

Tensor相当于numpy中的ndarrays

  • 创建空Tensor和全零Tensortorch.zeros(d0,d1)类似于numpy.zeros(size)torch.empty(d0,d1)类似于numpy.empty(size)
x1 = torch.empty(2,2)
x2 = np.empty((2,2))
x2 = torch.zeros(2,2)
x4 = np.zeros((2,2))
print(x1)
print(x2)
print(x3)
print(x4)
tensor([[ 1.4013e-45,  0.0000e+00],
        [-4.2944e+22,  6.7683e-43]])
tensor([[0., 0.],
        [0., 0.]])
[[0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]]
[[0. 0.]
 [0. 0.]]
  • 创建随机Tensortorch.rand(d0,d1)相当于numpy.random.rand(d0,d1)rand表示随机变量服从uniform distribution,torch.randn(d0,d1)相当于numpy.random.randn(d0,d1)randn表示随机变量服从 normal distribution
y1 = torch.rand(2,2)
y2 = np.random.rand(2,2)
y3 = np.random.random((2,2))
print(y1)
print(y2)
print(y3)
tensor([[0.4407, 0.1455],
        [0.0214, 0.6033]])
[[0.91633254 0.74086994]
 [0.11203967 0.78700098]]
[[0.89562162 0.63706194]
 [0.07474063 0.94183217]]
  • 手动创建Tensortorch.tensor()类似于numpy.array()
z1 = torch.tensor(np.random.rand(2,2))
z2 = np.array([2,2])
print(z1)
print(z2)
tensor([[0.8592, 0.2296],
        [0.3234, 0.0014]], dtype=torch.float64)
[2 2]
  • 创建全一Tensortorch.ones(d0,d1)类似于numpy.ones(size)
c1 = torch.ones(2,2)
c2 = np.ones((2,2))
print(c1)
print(c2)
tensor([[1., 1.],
        [1., 1.]])
[[1. 1.]
 [1. 1.]]
  • 创建独热码Tensortorch.eye(d0,d1)类似于np.eye(d0,d1)
c1 = torch.ones(2,2)
c2 = np.ones((2,2))
print(c1)
print(c2)
tensor([[1., 1.],
        [1., 1.]])
[[1. 1.]
 [1. 1.]]
  • 获得Tensorsizetensor.size()返回tensor的shape
r = torch.eye(2,2)
print(r.size())
torch.Size([2, 2])
  • 加法,使用+numpy类似
a1 = torch.eye(2,2)
a2 = torch.rand(2,2)
print(a1+a2)
b1 = np.eye(2,2)
b2 = np.random.rand(2,2)
print(b1+b2)
tensor([[1.1682, 0.4159],
        [0.5044, 1.4019]])
[[1.7929664  0.96477472]
 [0.3380899  1.35091993]]
  • 加法,使用torch.add()numpy.add()类似
a1 = torch.eye(2,2)
a2 = torch.rand(2,2)
print(torch.add(a1,a2))
b1 = np.eye(2,2)
b2 = np.random.rand(2,2)
print(np.add(b1,b2))
tensor([[1.5244, 0.8070],
        [0.2586, 1.1021]])
[[1.52558655 0.85622143]
 [0.92030175 1.18823413]]
  • 加法,tensor.add(a,b,out=result),将加法的结果保存在预先开辟好的result张量中
result = torch.empty(3,3)
torch.add(a1,a2, out=result)
print(result)
result = torch.add(a1,a2)
print(result)
tensor([[1.8654, 0.8892, 0.9849],
        [0.4269, 1.3964, 0.7995],
        [0.2235, 0.3375, 1.3471]])
tensor([[1.8654, 0.8892, 0.9849],
        [0.4269, 1.3964, 0.7995],
        [0.2235, 0.3375, 1.3471]])
  • 加法,in-place原地替换的做法tensor.add_(),注:所有的in-place的做法都有一个_
a1 = torch.eye(3,3)
a2 = torch.eye(3,3)
a1.add_(a2)
print(a1)
tensor([[2., 0., 0.],
        [0., 2., 0.],
        [0., 0., 2.]])
  • tensor改变形状,tensor.reshape(size)ndarrays.reshape(size)类似,但tensor.reshape(size)不是in-place的做法,ndarryas.reshape(size)也不是in-place的做法
a = torch.eye(4,4)
b = a.reshape(2,8)
print(a)
print(b)

c = np.eye(4,4)
d = c.reshape(2,8)
print(c)
print(d)
tensor([[1., 0., 0., 0.],
        [0., 1., 0., 0.],
        [0., 0., 1., 0.],
        [0., 0., 0., 1.]])
tensor([[1., 0., 0., 0., 0., 1., 0., 0.],
        [0., 0., 1., 0., 0., 0., 0., 1.]])
[[1. 0. 0. 0.]
 [0. 1. 0. 0.]
 [0. 0. 1. 0.]
 [0. 0. 0. 1.]]
[[1. 0. 0. 0. 0. 1. 0. 0.]
 [0. 0. 1. 0. 0. 0. 0. 1.]]
  • 使用tensor.item()来获得 scalar tensor的值
a = torch.randn(3,3)
print(a)
print(a[0,0])
print(a[0,0].item())
tensor([[ 0.1261, -0.7185,  0.3167],
        [ 0.7252,  0.9447,  1.6690],
        [ 0.4250, -0.3057,  0.7201]])
tensor(0.1261)
0.126137375831604

Reference

参考教程文章来源地址https://www.toymoban.com/news/detail-637938.html

到了这里,关于Pytorch Tutorial【Chapter 1. Basic operation of tensor】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【深度学习】pytorch——Tensor(张量)详解

    笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ Tensor,又名张量。它可以是一个数(标量)、一维数组(向量)、二维数组(矩阵)和更高维的数组(高阶数据)。Tensor和Numpy的ndarrays类似,但PyTorch的tensor支持GPU加速。 官方文档 : https://pytorch.org/docs/stable/tensors.html

    2024年02月06日
    浏览(46)
  • 【chapter30】【PyTorch】[动量与学习率衰减】

    前言:     SGD的不足 :  ①呈“之”字型,迂回前进,损失函数值在一些维度的改变得快(更新速度快),在一些维度改变得慢(速度慢)- 在高维空间更加普遍 ②容易陷入局部极小值和鞍点  ③对于凸优化而言,SGD不会收敛,只会在最优点附近跳来跳去         这里面主

    2024年02月01日
    浏览(37)
  • [PyTorch][chapter 58][强化学习-2-有模型学习2]

    前言:    前面我们讲了一下策略评估的原理,以及例子.    强化学习核心是找到最优的策略,这里    重点讲解两个知识点:     策略改进    策略迭代与值迭代    最后以下面环境E 为例,给出Python 代码 。 目录:      1:  策略改进       2:  策略迭代与值迭代    

    2024年02月06日
    浏览(40)
  • PyTorch项目源码学习(2)——Tensor代码结构初步学习

    PyTorch版本:1.10.0 Tensor Tensor是Pytorch项目较为重要的一部分,其中的主要功能如存储,运算由C++和CUDA实现,本文主要从前端开始探索学习Tensor的代码结构。 结构探索 PyTorch前端位于torch目录下,从_tensor.py可以找到Tensor的python定义,可以看到其继承自torch._C._Tensorbase 而Tensorbase的

    2024年02月02日
    浏览(44)
  • 深度学习--PyTorch定义Tensor以及索引和切片

    ​这些方法只是开辟了空间,所附的初始值(非常大,非常小,0),后面还需要我们进行数据的存入。 torch.empty():返回一个没有初始化的Tensor,默认是FloatTensor类型。 torch.FloatTensor():返回没有初始化的FloatTensor。 torch.IntTensor():返回没有初始化的IntTensor。 随机均匀分布:

    2023年04月20日
    浏览(46)
  • [PyTorch][chapter 9][李宏毅深度学习][Why Deep]

    前言:        我们知道深度学习一个重要特征是网络堆叠,深。 为什么需要深度, 本篇主要简单介绍一下该原因 目录:    1: 简介    2: 模块化分析    3:  语音识别例子 一  简介           有人通过实验,使用相同的网络参数,深度越深的网络相当于浅层网络效果

    2024年01月25日
    浏览(41)
  • 【Pytorch】学习记录分享2——Tensor基础,数据类型,及其多种创建方式

    pytorch 官方文档 1. 创建 Creating Tensor: 标量、向量、矩阵、tensor 2. 三种方法可以创建张量,一是通过列表(list),二是通过元组(tuple),三是通过Numpy的数组(array),基本创建代码如下: 张量相关属性查看的基本操作,后期遇到的张量结构都比较复杂,难以用肉眼直接看出,因此

    2024年02月04日
    浏览(51)
  • GStreamer Basic tutorial 学习笔记(七)

    多线程处理 目标 :GStreamer可以自动处理多线程,但在某些情况下,可能需要手动分离线程。 介绍 :GStreamer 是一个多线程框架。这意味着在内部,它根据需要创建和销毁线程,例如将流媒体与应用程序线程分离。此外,插件还可以自由地为它们自己的处理创建线程,例如,

    2024年02月16日
    浏览(41)
  • 【Pytorch】学习记录分享1——Tensor张量初始化与基本操作

    1. 基础资料汇总 资料汇总 pytroch中文版本教程 PyTorch入门教程 B站强推!2023公认最通俗易懂的【PyTorch】教程,200集付费课程(附代码)人工智能_机器 视频 1.PyTorch简介 2.PyTorch环境搭建 basic: python numpy pandas pytroch theory: study mlp cnn transform rnn model: AlexNet VGG ResNet Yolo SSD 2. Tensor张量

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包