|Kornia开源可微分计算机视觉库,基于Pytorch( 二 )


|Kornia开源可微分计算机视觉库,基于Pytorch
本文插图

由于 Kornia 是基于 PyTorch 开发而来的 , 那么数据增广的逻辑便自然而然地整合进了 PyTorch 的网络中 , 就像使用卷积层 , 池化层一样 。 相似的 , 我们可以任意定义、保存、载入 Kornia 增广模块 , 并在任意设备(CPU/GPU/TPU)上运算 。 尤其在训练中 , 如果你的 CPU 已经开始超负荷运行了 , 那么 Kornia 将会更大地提升你的训练速度与 GPU 利用率 。
|Kornia开源可微分计算机视觉库,基于Pytorch
本文插图

同时 ,Kornia 的数据增广方法也可以轻松地通过梯度来进行优化 。 下面的例子展示了如何使用 ColorJitter 来更新图像与增广参数 , 其中我们通过 nn.Parameter 定义了亮度 (brightness)、饱和度 (saturation)、对比度 (contrast)这三个可微的参数 , 以及通过 torch.tensor 定义色相 (hue)这一不可微的参数 。 从结果中 , 我们可以看到被大学习率(learning rate=1e+5)更新的图像以及三个可微参数的变化 。
|Kornia开源可微分计算机视觉库,基于Pytorch
本文插图

3. 后话
可微的数据增广乃至于计算机视觉在近几年的社区中不断被更多的人关注 。 近期的工作 , 例如 Faster AutoAugment , 便是基于 Kornia 的可微性而来的针对自动数据增广策略的优化方法 。 开发团队表示 , 他们也希望自己的工作可以更多地应用于各种有潜力的项目 。 未来 , 他们将会加入更多的数据增广操作、梯度估计方法 , 以及增加对 JIT 的支持 。


推荐阅读