CNTK中用户定义的转换

时间:2017-03-23 19:47:25

标签: deep-learning cntk

问题设置

  • 我有一个包含N张图片的数据集。

  • 必须在此数据集上从头开始训练某个网络(例如Alexnet)。

  • 对于每张图片,都会生成10个增强版本。这些增强涉及调整大小,裁剪和翻转。例如,必须使用最小尺寸为256像素来调整图像大小,然后对其进行224 x 224的随机裁剪。然后它必须翻转。 5必须采取这种随机作物,并且还必须准备翻转的版本。

  • 这些增强版本必须进入网络进行培训而不是原始图片

  • 另外非常有益的是,数据集中的多个图像并行扩充并放入队列或任何容器中,batchsize个样本被推入GPU进行训练

    1. 原因是我们不会理想地将同一图像的多个增强版本同时进入网络进行训练。

上下文

  1. 这不是随机要素。有一些论文如OverFeat涉及这种增强。此外,这种随机培训可以很好地改进网络培训。
  2. 我的理解

    就我的搜索而言,我在CNTK中找不到任何可以做到这一点的框架。

    问题

    1. 是否可以在CNTK中实现?

1 个答案:

答案 0 :(得分:0)

请查看CNTK 201教程:

https://github.com/Microsoft/CNTK/blob/penhe/reasonet_tutorial/Tutorials/CNTK_201B_CIFAR-10_ImageHandsOn.ipynb

图像阅读器具有内置的转换功能,可满足您的许多要求。不幸的是,它不在GPU中。