tensor和numpy中的ndarray很相似,唯一的不同是tensor可以应用在GPU上,来加速计算。

1 创建tensor

randn(size)

创建一个标准正态分布内随机的矩阵

zeros(size)

全零矩阵

tensor(list)

创建一个内容为参数的tensor

linspace

同numpy

randperm

返回一个0到n-1的数组

基本上创建的这些函数都有一个对应的like函数(randn_like,zeros_like…)来创建一个size和形参一样的tensor

2 tensor和ndarray的转换

无论谁转换成谁,转换的tensor和ndarray都是另一个的引用,要变一起变。

2.1 tensor->ndarray

2.2 ndarray->tensor

3 cuda和cpu的tensor切换

4 一些关于tensor的运算

很多运算符都在末尾有一个_,表示inplace操作

加法

+

tensor.add

torch.add

修改一个的值

(很多运算符都在末尾有一个_,表示inplace操作

5. torch的函数

很多函数 torch.func(tensor)和tensor.func()是等价的。

size()

tensor的形状

view

torch里面的“reshape”

item

如果tensor中只有一个元素的时候,使用这个函数获取这个

数值

abs

绝对值

sin

mm

矩阵相乘

pow

cat

合并数组

axis=0 沿着列的方向[1…n][0]

axis=1 沿着行的方向[0][1;;;n]

axis=0 (从左往右数)第0个坐标的元素叠加,其他坐标的元素不变

axis=1 第1个坐标的元素叠加,其他坐标的元素不变

max

如果又axis参数的话,返回的第一个下标是所有的最大值,第二个下标是最大值对应的index。

axis=0 [1~n][0]里面找到最大的一个,

也就是第零个坐标的参数变化(去比较),其他坐标的参数不变

axis=1 [0][1~n]里面找到最大的一个,

也就是第一个坐标的参数变化(去比较),其他坐标的参数不变

narrow()

截取tensor的一部分
torch.narrow(input, dim, start, length) 

返回的部分和input 共享内存

input 需要被截取的tensor

dim 沿着那个维度截取

start 起始截取下标

length  截取多长的

(沿着第0个下标截取)

(沿着第1个下标截取)

squeeze()

我们首先创建一个维度为(1,2,3)的tensor

然后对他squeeze

只有squeeze对应的维度为1的时候,我们才会把这个维度去掉,不然的话维度保持不变

unsqueeze

masked_fill(data,x)

将data为True的相应位置的值替换为x

numel

tensor中元素的个数

permute

tensor维度换位

(2,0,1)的意思是,维度变换成:(原来的第二个,原来的第0个,原来的第1个)

t

转置
logical_not 逻辑取反

Pytorch 笔记——tensor相关推荐

  1. pytorch笔记:contiguous tensor 存储知识

    1 contiguous contiguous直观的解释是Tensor底层一维数组元素的存储顺序与Tensor按行优先一维展开的元素顺序是否一致. 1.1 tensor的存储 Tensor多维数组底层 ...

  2. pytorch笔记:policy gradient

    本文参考了 策略梯度PG( Policy Gradient) 的pytorch代码实现示例 cart-pole游戏_李莹斌XJTU的博客-CSDN博客_策略梯度pytorch 在其基础上添加了注释和自 ...

  3. pytorch 笔记:手动实现AR (auto regressive)

    1 导入库& 数据说明 import numpy as np import torch import matplotlib.pyplot as plt from tensorboardX im ...

  4. pytorch 笔记:tensorboardX

    1 SummaryWriter 1.1 创建 首先,需要创建一个 SummaryWriter 的示例: from tensorboardX import SummaryWriter#以下是三种不同的初 ...

  5. pytorch 笔记:DataLoader 扩展:构造图片DataLoader

    数据来源:OneDrive for Business 涉及内容:pytorch笔记:Dataloader_UQI-LIUWJ的博客-CSDN博客 torchvision 笔记:ToTensor()_U ...

  6. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(2)前言(介绍各种机器学习问题)以及数据操作预备知识Ⅰ

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  7. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(3)前言(介绍各种机器学习问题)以及数据操作预备知识Ⅲ(概率)

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  8. Pytorch笔记:风格迁移

    Pytorch笔记:风格迁移 训练模型:风格迁移网络+VGG16网络 生成网络:风格迁移网络 代码如下(根据陈云<深度学习框架:Pytorch入门与实践>的代码改动) main.py im ...

  9. 深度学习PyTorch笔记(9):自动求导

    深度学习PyTorch笔记(9):自动求导 4. 自动求导 4.1 理解 4.2 梯度 4.3 .requires_grad与.grad_fn 4.4 调用.backward()反向传播来完成所有梯度 ...

最新文章

  1. android o 全机型推送,氢OS(Android O)官方更新推送 一加两款机型完成适配
  2. 5 年开发搞不定 MySQL !
  3. leetcode1466. 重新规划路线(dfs)
  4. lisp中怎样调取图形_CAD的lisp程序已加载,怎样绘图?
  5. 奥维地图从服务器获取信息超时,2021奥维地图不能用了原因及解决办法
  6. 阿里云的对象存储服务,oss 简介
  7. SYN包与SYN攻击原理
  8. 微信小程序:南大小百合客户端
  9. C#学习笔记(三)—–C#高级特性:dynamic
  10. IOS开发大神装逼神器
  11. python xlrd读取文件报错_python利用xlrd读取excel文件始终报错原因
  12. hypermesh 连接单元_HRS连接器U.FL-R-SMT-1(10)插座样图查询
  13. jstack 命令使用经验总结和线程性能诊断脚本
  14. linux系统进程有哪几种主要状态,Linux 进程状态详解
  15. py2下hbase的字符串编码问题(\\xe7\\xbc\\x96)
  16. 浅显易懂地看LLC变换器(一)
  17. hbw-utils - 关于hutool的parseInt方法
  18. VMware安装windows server 2012 r2详细教程(附下载链接)
  19. 检查Logic Java 课程最近一次考试。如果全部没有通过考试(60分及格),则认为本次考试偏难,计算该次考试平均分加5分。
  20. 前端安全:CSRF、XSS该怎么防御?

热门文章

  1. IOS热更新-JSPatch实现原理+Patch现场恢复
  2. VirtualBox 使用 NAT 方式网络的 SSH 连接
  3. SlidingMenu(一)
  4. [置顶]       Mybatis技术(二) MyBatis-Spring
  5. android上使用git
  6. 【探索】Web新概念——资料横向显示(欢迎点评)
  7. Silverlight2 边学边练 之三 小球自由落体
  8. mysql killed 不掉,解决:kernel: Out of memory: Killed process 15967, UID 27, (mysqld).
  9. mysql主从同步默认延迟_减少mysql主从数据同步延迟问题的详解
  10. oracle不维护java_宣布 Java 8 停止维护后,Oracle 又毙掉了 JavaOne!