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

关于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日

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!