当前位置: 首页 > news >正文

Pytorch张量广播

Pytorch 中的主要的数据结构包括标量、向量、矩阵、张量,同时支持数据之间的运算。在 Pytorch 中有一个张量广播的概念,就是要把小的放大,最后在一起做计算,并不是所有的张量都可以计算,规则如下

  1. 首先比较维度,如果不一致,增加维度值为 “1”
  2. 检查是否可广播,同一个维度上一致或者为 “1”,为"1" 可以放大任意多个

不同维度:

# 3, 2, 2
tensor_a = torch.tensor([[[1.0, 2.0], [3.0, 4.0]],[[5.0, 6.0], [7.0, 8.0]],[[9.0, 10.0], [11.0, 12.0]]])  # Shape (3, 2, 2)
# 2,2
tensor_b = torch.tensor([[0.1, 0.2],[0.3, 0.4]]) result = tensor_a + tensor_b

结果

[[  [ 1.1000,  2.2000], [ 3.3000,  4.4000]],[[ 5.1000,  6.2000], [ 7.3000,  8.4000]],[[ 9.1000, 10.2000], [11.3000, 12.4000]]
]
  • 张量 (2,2) 变成 (1,2,2),这里要注意一下,维度比较是从右向左。
  • 再从 (1,2,2) 变成 (3,2,2),就是把数据重复三次。

广播方便了对张量的操作,例如我们想生成一张绿色北京的图,初始一张图,把绿色通道变成 255。

import torch
import matplotlib.pyplot as pltwidth, height = 256, 256green_color = torch.tensor([0, 255, 0], dtype=torch.uint8)green_image = torch.zeros((height, width, 3), dtype=torch.uint8) + green_colorgreen_image_np = green_image.numpy()plt.figure(figsize=(6, 6))
plt.imshow(green_image_np)
plt.axis('off')  
plt.title('Green')
plt.show()
http://www.lryc.cn/news/345186.html

相关文章:

  • AI算法-高数2-导数定义和公式
  • Vitis HLS 学习笔记--AXI_STREAM_TO_MASTER
  • WPF之可翻转面板
  • 【深度学习】--slowfast视频理解数据集处理pipeline
  • ArcGIS10.2能用了10.2.2不行了(解决)
  • mysql查询表信息(表名、表结构、字段信息等)
  • 【MySQL探索之旅】JDBC (Java连接MySQL数据库)
  • tomcat-GC溢出
  • 结合场景,浅谈深浅度拷贝
  • 生成指定范围的随机整数
  • 少的缓存穿透是缓存击穿,大量的是缓存雪崩
  • 设备能耗数据在线监测
  • springboot整合websocket,超简单入门
  • 代码随想录算法训练营第三十四天| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球
  • ICode国际青少年编程竞赛- Python-2级训练场-识别循环规律2
  • 12.轻量级锁原理及其实战
  • 栈结构(c语言)
  • 【C++】C/C++中新const用法:const成员
  • 武汉凯迪正大—钢管焊缝裂纹探伤仪
  • 为什么 IP 地址通常以 192.168 开头?
  • elementUi中的el-table合计行添加点击事件
  • Zookeeper集群搭建的一些问题
  • 【线性代数】俗说矩阵听课笔记
  • 物联网技术在数字化工厂中的应用,你知道多少?——青创智通
  • nacos开启登录开关启动报错“Unable to start embedded Tomcat”
  • Linux|了解如何使用 awk 内置变量
  • 代码随想录-算法训练营day29【回溯算法05:递增子序列、全排列】
  • 704. 二分查找
  • php回车变br、php显示br
  • 找最大数字-第12届蓝桥杯国赛Python真题解析