问题标签 [zero-padding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
31 浏览

pytorch - 最佳实践:将 Packed 2D Tensor 转换为 Padded 3D Tensor Pytorch(不是 PackedSequence)

我有一个大小为 N*D 的 2D 张量 T,表示序列长度为 S 的 M 个文档的打包词嵌入(按顺序)。(即 sum(S)=N)

是否有最佳实践将其转换为大小为 M*Max(S)*D 且填充值为 V 的 3D 张量?(你可以假设 V=0.0)

我看到的两种方法

  1. 使用 torch.split 分割 2D 张量,然后使用 torch.nn.utils.rnn.pad_sequence 生成 T'

  2. 制作一个大小为 M*Max(S)*D 的张量 T' 并(使用循环)将每个维度填充为 T'[i,0:s(i),]=T[c(i):c(i +1)] 其中 c(i) 是 S 的部分和

我尝试查看 pad_packed_sequence 的代码,但它调用了另一种我找不到代码的方法。

原始张量采用这种形式用于 GraphNN,因此如果有需要这样做的方法,则更改排序并非不可能。

0 投票
0 回答
26 浏览

computer-vision - 相同填充的正确实现是什么?

我遇到了一些代码,我发现有一些方法可以正确实现相同的填充。人们专门将此代码用于stride> 1,他们说“没有它就会有像素漂移”。

他们使用的代码是(变量名称不言自明):-

有没有人遇到过相同填充的这种实现,并会解释这种实现以及什么是像素漂移?

0 投票
3 回答
51 浏览

excel - 如何最好地将 0 添加到 range.value 的开头,直到它在 Excel 中的长度为 13 个字符?

我正在编写一个函数,它需要在不同范围内查找一定长度的代码,但并非所有代码都是正确的长度。在此范围内,可以通过在其前面添加额外的零来解决此问题。

所以我试图编写一个宏的一部分,在代码前面添加 0,直到它正好有 13 个字符长(假设它还不是 13 个字符长)。

现在,我有这个,但我觉得它可以做得更好。特别是因为我不知道 10 是否是最短的可能长度。

也许用 13 减去 Len(Barc.value),然后加上那么多 0?

0 投票
4 回答
133 浏览

regex - 前导零后匹配所有内容的正则表达式是什么

我想知道如何在字符串开头的零之后匹配字符串。

所以字符串应该匹配的例子是

我已经尝试过[^0]+$,但这会返回以下错误

0 投票
0 回答
57 浏览

conv-neural-network - 零填充的 ResNet 跳过连接

嗨,我是 CNN 的初学者,目前我对 ResNet 零填充快捷方式连接感到困惑。下面是 ResNet 论文的一部分,它说当尺寸增加时它可以使用投影快捷方式或零填充。

当维度增加时(图 3 中的虚线快捷方式),我们考虑两个选项:(A)快捷方式仍然执行恒等映射,为增加维度填充额外的零条目。该选项不引入额外参数;(B) Eqn.(2) 中的投影快捷方式用于匹配维度(通过 1×1 卷积完成)。

例如,说到快捷连接,F(x) + x,

  • 符号:(重量、高度、通道数)
  • x的维度:(56,56,64)
  • F(x) 的维度:(56,56,256)
  • 选项 (B):用户 1 x 1 卷积。我们可以用户过滤(256、1、1、64)。(过滤器的数量,宽度,高度,通道)
  • 选项(A):但是,如果用户零填充,那么它是否意味着只是简单地将 x 的 (56,56,64) 和 (56,56,192(=256-64)) 与所有元素零连接?

另外,如果有任何好的参考资料可以理解这一点,请告诉我:)

0 投票
0 回答
15 浏览

for-loop - 矩阵的零填充 - 不使用特殊功能

只给定矩阵的最终大小,我需要在python中用零填充矩阵。原始矩阵内容应位于填充内容的中心。

我只能使用基本功能,例如 - for、while、slice、list of list和类似的东西......而不使用 del/remove。

与此同时,我尝试过 - 创建一个 0*0 矩阵并将值从原始矩阵复制到正确位置的填充矩阵,使用 2 个 for 循环,它不起作用..:/

谢谢您的帮助

0 投票
4 回答
248 浏览

c# - 在 C# 中对二维数组进行零填充

我目前有一个零填充我的二维数组的问题。我想将我的数组中的当前数据传输到一个新数组,该数组是完全相同的数组,但它周围的边框为 0。例子:

|1 2 3|

|4 5 6|

|7 8 9|

应该成为

|0 0 0 0 0|

|0 1 2 3 0|

|0 4 5 6 0|

|0 7 8 9 0|

|0 0 0 0 0|

到目前为止,这就是我所遇到的,但我一直陷入越界错误,有没有人可以通过一些解释为我解决这个问题?

亲切的问候,D。

0 投票
3 回答
74 浏览

python - 将零填充到具有 NaN 值的列

我有一个熊猫数据框,其中三列是浮点数(floats64):

我想在 Num2 和 Num3 列中添加前导零,使它们看起来像这样:

我希望 Num2 总共有 3 位数字,包括前导零,而 Num3 总共有 5 位数字,包括前导零,使 NaN 保持原样(或不影响 NaN)。最终目标是连接 Num1、Num2 和 Num3 以创建一个新列。

我尝试了 df['Num2'].apply(lambda x: '{:05}'.format(x) if pd.notnull(x) else x)df['Num2'].apply(lambda x: x.zfill(5) if pd.notnull(x) else x),但它们没有像我预期的那样添加零。如果比我更有知识的人可以帮助我,我将不胜感激!

0 投票
2 回答
96 浏览

c++ - CUDA Zeropadding 3D 矩阵

我有一个大小为 100x200x800 的整数矩阵,它存储在主机上的平面 100*200*800 向量中,即我有

在设备(GPU)上,我想用零填充每个维度,以便获得大小为 128x256x1024 的矩阵,分配如下:

获得零填充矩阵的最佳方法是什么?我有两个想法:

  1. 遍历主机上的各个子矩阵并将它们直接复制到设备上的正确位置。
    • 这种方法需要多次cudaMemcpy调用,因此可能非常慢
  2. 在设备上,为 100x200x800 矩阵和 128x256x1024 矩阵分配内存,并编写一个内核,将样本复制到正确的内存空间
    • 这种方法可能要快得多,但需要为设备上的两个矩阵分配内存

是否有类似于 MATLAB 的三维矩阵索引的可能性?在 MATLAB 中,我可以简单地执行以下操作:

或者,如果我使用 将数据复制到设备cudaMemcpy(d_data, h_data, sizeof(int)*100*200*800, cudaMemcpyHostToDevice);,是否可以在适当的位置重新排序数据,这样我就不必为第二个矩阵分配内存,也许使用cudaMemcpy3DcudaMemset3D

0 投票
3 回答
142 浏览

python - 用python左填充

我有 100000 个条目的以下数据和链接组合

如果链接的值小于 10 ,我正在尝试在 python 2.7 中编写一个程序来添加左填充零。

例如:

你能指导我以下程序有什么问题吗: