news 2026/6/10 15:14:03

原始数据—>张量转换后会丢失原始数据吗

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
原始数据—>张量转换后会丢失原始数据吗

学习李沐香蕉目标检测时疑问

原始数据 → 张量的转换链路(全程可回溯):

1. 图像原始数据的转换链路
硬盘上的.png文件(原始数据) ↓ 由torchvision.io.read_image读取 单个图像张量(uint8,[C,H,W])→ 存入images列表 ↓ 在BananasDataset的__getitem__中 转为float32张量(模型可训练)

张量和原始图片是一一对应的数值映射

比如原始图片中 (100,200) 像素的 RGB 值是 (255,0,0),张量中img[0,100,200]=255(R 通道)、img[1,100,200]=0(G 通道)、img[2,100,200]=0(B 通道)。

若要还原为 “可视化的原始图片”,只需将张量转格式即可:

# 从images列表中取第一个图像张量(还原原始图片) img_tensor = train_dataset.features[0] # uint8张量,[3,H,W] # 步骤1:转置为[H,W,C](Matplotlib可视化格式) img_np = img_tensor.permute(1,2,0).numpy() # 步骤2:显示原始图片(和硬盘上的.png文件完全一致) d2l.plt.imshow(img_np)
2. 标签原始数据的转换链路
CSV文本文件(原始标注:img_name,label,xmin,ymin,xmax,ymax) ↓ 由pd.read_csv读取为DataFrame(文本→数字) ↓ 转为list(target)([0,100,80,200,180]) ↓ torch.tensor(targets).unsqueeze(1) 标签张量(float32,[N,1,5])

张量中的数值就是 CSV 里的原始数字(只是维度适配),比如张量labels[0] = [[0,100,80,200,180]],对应 CSV 中00001.png的标注:label=0, xmin=100, ymin=80, xmax=200, ymax=180

若要还原为 “原始 CSV 格式”,只需将张量转回 DataFrame:

# 从标签张量还原原始标注 labels_np = train_dataset.labels.squeeze(1).numpy() # [N,5] csv_raw = pd.DataFrame( labels_np, columns=['label','xmin','ymin','xmax','ymax'] ) # 添加img_name列(从CSV中读取的原始图像名) csv_raw['img_name'] = csv_data.index print(csv_raw) # 和原始CSV文件内容完全一致

为什么代码不返回 “原始数据”(文件 / 文本)?

PyTorch 模型训练的核心是数值计算,原始的.png 文件(二进制)、CSV 文本(字符串)无法直接输入模型 —— 必须转为张量(数值矩阵):

  1. 图像张量:是原始图片像素的数值化表示,可参与梯度计算、卷积等操作;
  2. 标签张量:是原始标注的数值化表示,可用于计算损失(如边界框回归损失)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:07:15

Python新利器:用uv轻松管理venv虚拟环境和pip依赖包

Python包管理总让你环境混乱、依赖冲突?其实,超过80%的Python项目问题都源于环境配置不当!本文为你深度解析Python中新兴的uv包管理工具与虚拟环境,从核心概念、常用命令到开发与生产环境的实战应用。亮点包括:uv的极速…

作者头像 李华
网站建设 2026/6/10 12:52:39

Qwen3-VL-8B中文多模态实测:真懂中文吗?

Qwen3-VL-8B中文多模态实测:真懂中文吗? 在电商客服收到一张用户拍糊了的发票照片,问“这能报销吗?” 在社交平台刷到一张深夜食堂的烤串图,配文是:“就这口儿,谁懂!” 在教育App里&…

作者头像 李华
网站建设 2026/6/10 12:52:45

基于AutoGPT的智能架构设计与行业应用

基于AutoGPT的智能架构设计与行业应用 胡弦,视频号2023年度优秀创作者,互联网大厂P8技术专家,《Spring Cloud Alibaba微服务架构实战派(上下册)》和《RocketMQ消息中间件实战派(上下册)》作者&a…

作者头像 李华
网站建设 2026/6/10 12:50:53

每天一个网络知识:什么是 Underlay?

在现代网络中,“Overlay”和“Underlay”是一对经常成双出现的概念。前者强调逻辑网络、虚拟化网络;后者则是真实世界中的物理基础网络。随着云计算、SD-WAN、数据中心虚拟化的发展,理解 Underlay 对构建可靠、高性能的网络来说至关重要。Und…

作者头像 李华
网站建设 2026/6/10 12:52:40

每天一个网络知识:什么是 SD-WAN?

SD-WAN 全称 Software-Defined Wide Area Network(软件定义广域网)。 一句话定义: SD-WAN 是一种利用软件定义技术,通过互联网宽带、4G/5G、专线等多条链路,为企业构建高性能、可控、安全的广域网连接的新技术。或者更…

作者头像 李华
网站建设 2026/6/10 14:43:51

oracle误drop表,通过回收站恢复

1.查询测试数据条数 SQL> select count(*) from test;COUNT(*) ----------62.drop 测试表 SQL> drop table test ;Table dropped.3.通过工具查询到在回收站中存在4.恢复回收站中误删除表 FLASHBACK TABLE TEST TO BEFORE DROP;5.查询恢复结果 SQL> select count(*…

作者头像 李华