【发布时间】:2021-01-16 04:23:08
【问题描述】:
我有一个非常大的数组,我想用 重叠 平铺。例如,如果数组看起来像
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
我想把它分成 3 x 3 块,每个块在每一边与它的邻居重叠 1:
a b c c d e
f g h h i j
k l m m n o
k l m m n o
p q r r s t
u v w w x y
“重塑和转置技巧”(在https://www.kaggle.com/c/hubmap-kidney-segmentation/discussion/202171 中描述)是一种在 Python(和其他语言)中平铺大型数组的方法 这允许提取和表示邻接(不是重叠)图块无需复制基础数据数组。
我想知道的是:如果我们想要拼贴重叠,可以使用这个技巧吗?如上所示? 如果有,怎么做?
【问题讨论】:
-
阅读
as_strided文档,注意其中的警告。虽然这使得view无需复制,但对view的进一步操作可能会导致复制,并破坏您的记忆。在图块上执行mean之类的还原操作是最安全的。
标签: python-3.x numpy multidimensional-array