Ios 卷积边模

Ios 卷积边模,ios,ios10,metal,Ios,Ios10,Metal,因此,我一直在使用新的iOS10API在iOS上试验CNN,我不确定为什么会得到以下结果 因此,我初始化了一个普通的MPSCNNConvolution类,其权重数组为1.0,偏差数组为0.0,内核宽度和高度为3。对于测试,我只使用一个功能通道。我正在将mpsimagegeMode设置为 convolution.edgeMode = .clamp 根据以下内容,应执行以下操作: 超出边界的像素被钳制到最近的边缘像素 但是,转发填充了1.0的纹理时,我会得到以下结果: 4 6 4 6 9

因此,我一直在使用新的iOS10API在iOS上试验CNN,我不确定为什么会得到以下结果

因此,我初始化了一个普通的
MPSCNNConvolution
类,其权重数组为1.0,偏差数组为0.0,内核宽度和高度为3。对于测试,我只使用一个功能通道。我正在将
mpsimagegeMode
设置为

convolution.edgeMode = .clamp
根据以下内容,应执行以下操作:

超出边界的像素被钳制到最近的边缘像素

但是,转发填充了1.0的纹理时,我会得到以下结果:

4  6  4
6  9  6
4  6  4
这与将edgeMode参数保留为其默认值
.zero
-显然,对于左上角(0/0),只考虑值(0/0)、(1/0)、(1/1)和(0/1),其余5个越界值为零,而不是我预期的1

.clamp
参数不应该导致以下结果吗

9  9  9
9  9  9
9  9  9
是预期的行为,还是有什么我没有考虑的


谢谢

听起来不错。我会用更新的操作系统再试一次。如果问题仍然存在,请提交一个bug。啊,卷积的边缘模式硬编码为零。在普通的CNN框架中,我们没有看到任何使用其他内容的例子。很高兴知道,谢谢:)