Haskell BoundFixed 的 Repa 含义?
Haskell Repa meaning of BoundFixed?
在 Repa 包中,有一个 Boundary
数据类型:
data Boundary a
= BoundFixed !a
| BoundConst !a
| BoundClamp
deriving (Show)
我理解BoundConst
(数组外的单元格被视为单个值)是什么意思,我理解BoundClamp
(数组外的单元格是相同的)的意思值作为最接近的数组单元格)。
BoundFixed
是什么意思?描述是对边界区域使用固定值。 "border region" 是什么?这些都是边缘单元吗?
通读 mapStencil2
and partitionForStencil
的源代码,边界区域似乎是任何单元格,其值将使用输入数组之外的单元格进行计算。 BoundConst
在对数组外的单元格进行采样时,使用数组外的常数值作为卷积的输入。 BoundFixed
每当卷积取决于数组外的值时,都使用常量值作为结果。
您可以在小图像上使用 3x3 恒等卷积轻松地对此进行测试。 BoundConst
和 BoundClamp
根本不应该改变图像。 BoundFixed a
会在图像上绘制一个单元格 a
边框。 BoundFixed
使用 2x2 恒等卷积应该只在图像的两侧绘制边框。我不建议将 BoundFixed
用于绘制边框以外的任何东西,因为相同的卷积会因为模板大小而产生不同的结果。
在 Repa 包中,有一个 Boundary
数据类型:
data Boundary a
= BoundFixed !a
| BoundConst !a
| BoundClamp
deriving (Show)
我理解BoundConst
(数组外的单元格被视为单个值)是什么意思,我理解BoundClamp
(数组外的单元格是相同的)的意思值作为最接近的数组单元格)。
BoundFixed
是什么意思?描述是对边界区域使用固定值。 "border region" 是什么?这些都是边缘单元吗?
通读 mapStencil2
and partitionForStencil
的源代码,边界区域似乎是任何单元格,其值将使用输入数组之外的单元格进行计算。 BoundConst
在对数组外的单元格进行采样时,使用数组外的常数值作为卷积的输入。 BoundFixed
每当卷积取决于数组外的值时,都使用常量值作为结果。
您可以在小图像上使用 3x3 恒等卷积轻松地对此进行测试。 BoundConst
和 BoundClamp
根本不应该改变图像。 BoundFixed a
会在图像上绘制一个单元格 a
边框。 BoundFixed
使用 2x2 恒等卷积应该只在图像的两侧绘制边框。我不建议将 BoundFixed
用于绘制边框以外的任何东西,因为相同的卷积会因为模板大小而产生不同的结果。