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

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

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

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

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. 标签张量:是原始标注的数值化表示,可用于计算损失(如边界框回归损失)。
http://www.cnnetsun.cn/news/84186.html

相关文章:

  • 好好看一下2025年网络安全有多卷!
  • Java+iTextPDF,实时生成与预览PDF文件的最佳实践!
  • 小团队 CI/CD 实践:无需运维,Java Web应用的自动化部署
  • C++ CRTP 替代虚函数
  • 中电金信:智能辅助审单方案让跨境金融审核又快又准
  • 虚拟专用网络门户的恶意扫描激增40倍
  • 3D点云标注效率革命:从单帧耗时到批量产出的实战经验分享
  • 颠覆传统Shell安全思维:构建零信任脚本架构的5大创新策略
  • 基于 Faster RCNN 的工业储罐类型识别与定位_卫星遥感图像分析
  • 为什么 Edge 才是安卓排名第1的浏览器?
  • 开题报告已死?宏智树AI如何帮你完成一个学术起点
  • 瞬间对大模型的兴趣达到100000000000%,太香了!
  • 网军“捡漏”:数据泄露如何助力国家级APT搭建C2基础设施
  • 毕设项目分享 深度学习验证码识别系统(源码+论文)
  • 第一个海底的智算中心,真是敢想敢干
  • 为什么现在很难招到有水平的SLAM工程师?
  • 终极Flutter滚动布局指南:打造流畅动态Header效果
  • 程序员必看:大模型基础原理与GPU并行训练指南(建议收藏)
  • 30分钟快速部署企业级智能管理平台:SmartAdmin完整安装指南
  • 含中间直流的三相电力电子变压器PET仿真模型(Simulink仿真实现)
  • 【面试精选】26年最全网络安全面试,华为大佬带你快速通关面试!!吃透面试成功率96%
  • 转录组研究攻略|常见可视化结果解读
  • 新增AI引擎!快快网络联合集美大学共建工业智能与网络安全创新实验室
  • 5.3 从零构建MCP Server:实现文件处理与数据库访问
  • PapersGPT for Zotero 完整安装与使用指南:让文献管理更智能
  • 7.3 任务分解与管理:利用Cursor Memory Bank和Claude Code自定义命令
  • 中美文化对 AI 意识觉醒的根本差异:文明基因与 AGI 时代的未来路径
  • 豆包AI手机动了谁的“生态命门”?
  • 万字长文,保姆级教程!从零教你优雅开发复杂AI Agent,从入门到精通,看这篇就够了!
  • 标注好的胃病识别数据集,可识别食管炎,胃炎,胃出血,健康,息肉,胃溃疡等常见疾病,支持yolo, coco json,pascal voc xml格式的标注