清风莫追 2022-07-30 22:52 采纳率: 66.7%
浏览 29
已结题

关于transfoems.ToTensor。mxnet的数据布局问题

问题描述

mxnet的transforms.ToTensor()实例可以用来改变数据的布局,将最后一维移到最前一维,从(h, w, c)变为(c, h, w)。
但是,为什么mxnet要这样在“加载”和“训练”数据时,使用不一样的布局呢?不会多此一举吗?

参考

mxnet 中提供了直接从目录中读取数据并进行训练的 API 这里使用的API如下。

这里使用了两个数据集,分别代表 train、validation。

需要注意的是,由于 数据中,使用的图像数据集,其数值在(0, 255)之间。同时,mxnet 用 opencv 来处理图像的加载,其图像的数据 layout 是(H,W,C),而 mxnet 用来训练的数据需要是(C,H,W)的,因此需要对数据做一些转换。另外,train 数据集做了一定的数据预处理(旋转、明暗度),用于进行数据增广,也做了数据打乱(shuffle),而 validation则不需要做类似的变换。

ToTensor这个操作会转换数据的 layout,因此要放在最后面。

版权声明:本文为CSDN博主「_dwSun_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dvd_sun/article/details/105799861

  • 写回答

1条回答 默认 最新

  • kakaccys 2022-07-31 11:48
    关注

    hwc更适合在cpu上计算,而chw更适合在gpu上进行运算,跟充分利用数据并行运算有关系

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月8日
  • 已采纳回答 7月31日
  • 创建了问题 7月30日

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)