Deep learning CNTK中的用户定义转换

Deep learning CNTK中的用户定义转换,deep-learning,cntk,Deep Learning,Cntk,问题设置 我有一个带有N图像的数据集 某个网络(如Alexnet)必须在该数据集上从头开始训练 对于每幅图像,10将生成增强版本。这些增强包括调整大小、裁剪和翻转。例如-必须以256像素的最小尺寸调整图像大小,然后对其进行224 x 224的随机裁剪。然后它必须被翻转5必须采集这些随机作物,并且还必须准备它们的翻转版本 这些增强版必须进入网络内部进行训练,而不是原始图像 另外非常有益的是,数据集中的多个图像被并行地增强,并放入队列或任何容器中,从那里将batchsize数量的样本推入GPU进行

问题设置

  • 我有一个带有
    N
    图像的数据集

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

  • 对于每幅图像,
    10
    将生成增强版本。这些增强包括调整大小、裁剪和翻转。例如-必须以
    256
    像素的最小尺寸调整图像大小,然后对其进行
    224 x 224
    的随机裁剪。然后它必须被翻转<代码>5必须采集这些随机作物,并且还必须准备它们的翻转版本

  • 这些增强版必须进入网络内部进行训练,而不是原始图像

  • 另外非常有益的是,数据集中的多个图像被并行地增强,并放入队列或任何容器中,从那里将
    batchsize
    数量的样本推入GPU进行训练

  • 原因是我们不希望同一图像的多个增强版本同时进入网络进行训练
上下文

  • 这不是一个随机的特性要求。有一些像这样的论文涉及这样的扩充。此外,这样的随机训练可以很好地改善网络的训练
  • 我的理解

    在我的搜索过程中,我在CNTK中找不到任何可以做到这一点的框架

    问题

  • 有可能在CNTK中实现吗

  • 请看CNTK 201教程:

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