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

把一个 PyTorch 的图像张量转换成 NumPy 格式,并按照正确的维度顺序显示出来

示例代码:

plt.imshow(np.transpose(tensor_denorm.numpy(), (1, 2, 0)))

它的作用是:把一个 PyTorch 的图像张量转换成 NumPy 格式,并按照正确的维度顺序显示出来


🚀 一步步解释:

tensor_denorm

这是一个形状为 (3, H, W) 的 PyTorch Tensor,表示一个图像:

  • 3:表示三个颜色通道(RGB)
  • H:图像高度
  • W:图像宽度

PyTorch 中的图像张量格式是 (C, H, W)


.numpy()

这一步把 PyTorch Tensor 转换成 NumPy 数组(前提是 Tensor 在 CPU 上):

tensor_denorm.numpy()

得到一个 NumPy 数组,形状依然是 (3, H, W)


np.transpose(..., (1, 2, 0))

NumPy 默认显示图像的格式是 (H, W, C),也就是:

  • 高度(H)
  • 宽度(W)
  • 通道(C)

所以要把 (3, H, W) 转换成 (H, W, 3),需要换维度顺序:

np.transpose(tensor_denorm.numpy(), (1, 2, 0))

plt.imshow(...)

这是 matplotlib.pyplot 的图像显示函数。它接收一个 (H, W, 3) 的数组并显示出来:

plt.imshow(...)

📌 举个例子:

假设我们有这个张量:

tensor = torch.rand(3, 150, 150)  # 随机图像,3通道 150x150

执行这一步:

plt.imshow(np.transpose(tensor.numpy(), (1, 2, 0)))

就能把这个随机图像展示出来了。


✅ 总结一句话:

plt.imshow(np.transpose(tensor.numpy(), (1, 2, 0)))

等价于:

“把 PyTorch 中格式为 (C, H, W) 的图像转成 (H, W, C) 并显示出来”

http://www.xdnf.cn/news/115183.html

相关文章:

  • 《Pinia 从入门到精通》Vue 3 官方状态管理 -- 进阶使用篇
  • 【数据结构】哈希表
  • 使用深度 Q 学习解决Lunar lander问题
  • Linux424 chage密码信息 gpasswd 附属组
  • 数据库数据删除与修改实验
  • Flink 消费 Kafka 数据流的最佳实践
  • 4.ArkUI TextInput的介绍和使用
  • 多语言虚拟币海外游戏娱乐平台源码详解(整合篇)
  • 上岸率85%+,25西电先进材料与纳米科技学院(考研录取情况)
  • 【投屏软件】手机投屏软件
  • 省时省力的AI批量原创SEO文章生成工具解放双手
  • CentOS 7 基于 Nginx 的 HTML 部署全流程指南
  • 18.应用聚合、指标显示、应用状态,从Heimdall说起(二)
  • 十分钟恢复服务器攻击——群联AI云防护系统实战
  • 【专题刷题】二分查找(一):深度解刨二分思想和二分模板
  • PostgreSQL 数据库备份与恢复全面指南20250424
  • 反爬系列 IP 限制与频率封禁应对指南
  • DBdriver使用taos数据库
  • 神经网络基础[ANN网络的搭建]
  • 【晶振】晶振的工作原理及其与单片机关系
  • CGAL 网格内部生成随机点
  • 扩展中国剩余定理
  • 高企复审奖补!2025年合肥市高新技术企业重新认定奖励补贴政策及申报条件
  • 项目右键没有add as maven project选项
  • 栈(Stack)和队列(Queue)
  • 华为手机怎么进行音频降噪?音频降噪技巧分享:提升听觉体验
  • 【前端】【业务场景】【面试】在前端开发中,如何实现一个可拖动和可缩放的元素,并且处理好边界限制和性能优化?
  • PS Mac Photoshop 2025 for Mac图像处理 PS 2025安装笔记
  • SQL Server 2008 R2中varchar(max)的含义
  • 如何获取静态IP地址?完整教程