问题标签 [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 回答
141 浏览

python-3.x - 转向卷积层的零填充输入问题

我正在使用 Tensorflow 的新图形库将转向卷积应用于一系列网格。在许多情况下,您将拥有一系列大小不同的网格,您必须对较小的网格进行零填充。根据文档,graph_conv.feature_steered_convolution_layer 函数的“大小”参数采用一个 int 张量,该张量由每个网格的非填充元素的数量组成。出于某种原因,当此参数设置为“无”以外的其他值时,我收到一条警告,告诉我“邻居”参数中使用的稀疏数组正在转换为密集矩阵。这导致我的程序运行缓慢。

这个问题似乎与它计算梯度的方式有关。如果优化器被注释掉,错误就不会出现。

我读到了一个类似的问题(下面的链接),该问题的解决方案是使用 tf.dynamic_partition 而不是 tf.gather。但是,在这种情况下,tf.gather 函数位于 graph_convolution 库中。我试图在我的图书馆副本中进行一些编辑,但无济于事。

如何处理 UserWarning:将稀疏的 IndexedSlices 转换为形状未知的密集 Tensor

运行上述代码时,我收到以下警告:

我开始认为这可能与库本身有关,而不是与这段代码有关。我在 GitHub 中引用了这个,以防它需要对库进行更新(或附加文档)。 https://github.com/tensorflow/graphics/issues/13

0 投票
1 回答
1119 浏览

machine-learning - Keras嵌入层:将零填充值保持为零

我一直在考虑单词序列的 0-padding 以及如何将 0-padding 转换为 Embedding 层。乍一看,人们会认为您也想保持嵌入 = 0.0。但是,Embeddinglayer in 会keras为任何输入标记生成随机值,并且没有办法强制它生成 0.0。注意,mask_zero做一些不同的事情,我已经检查过了。

有人可能会问,为什么要担心这一点,即使嵌入不是 0.0,只要它们相同,代码似乎也能正常工作。所以我想出了一个例子,虽然有点做作,将嵌入设置为 0.0 的填充标记为 0 会有所不同。

我使用了 20 个新闻组数据集from sklearn.datasets import fetch_20newsgroups。我做了一些最小的预处理:删除标点符号、停用词和数字。我from keras.preprocessing.sequence import pad_sequences用于 0 填充。我将大约 18K 的帖子分成训练和验证集,训练/验证的比例 = 4/1。我创建了一个简单的 1 密集隐藏层网络,输入是嵌入的扁平序列:

该模型有大约 14M 的可训练参数(这个例子有点做作,正如我已经提到的)。当我训练它

看起来算法在 4 个时期都在努力寻找摆脱“随机性”的方法:

最终精度约为 0.87

但是,当我将填充的 0 的嵌入显式设置为 0.0

具有相同数量参数的模型会立即摆脱“随机性”:

最终获得更好的精度,约为 0.9。

同样,这是一个有些人为的例子,但它仍然表明将那些“填充”嵌入保持在 0.0 可能是有益的。

我在这里错过了什么吗?如果我没有遗漏任何东西,那么 Keras 不提供开箱即用功能的原因是什么?

更新

@DanielMöller 我试过你的建议:

不幸的是,网络陷入了“随机性”:

我也尝试过没有NonNeg()约束,结果相同。

0 投票
2 回答
1423 浏览

python - 零填充没有 numpy 的图像

我是 Python 的初学者,我正在学习如何处理图像。

给定一个正方形图像(NxN),我想把它变成一个(N+2)x(N+2)图像,周围有一个新的零层。我宁愿不使用 numpy,只坚持基本的 python 编程。关于如何做到这一点的任何想法?

现在,我使用 .extend 在右侧和底部添加零,但不能向上和向左添加。

谢谢您的帮助!

0 投票
2 回答
5776 浏览

python - 在两个维度上将零填充到张量

我有一个张量 t

我想成功

我尝试用 new=torch.tensor([0. 0. 0. 0.]) 张量堆叠四次,但没有奏效。

我也试过猫,那也没用。

0 投票
1 回答
256 浏览

keras - 在每个批量大小中使用自定义填充训练 LSTM

我正在训练用于文本分类的 RNN。我想用批量大小训练模型X。但是,对于每个批次,我想创建一个零填充 where word_padding_length = maximum string length in each batch - current_word_length。我尝试过搜索,但找不到与此相关的任何内容。这应该在我拟合模型时发生。

0 投票
1 回答
50 浏览

c - 零填充字符串到有限长度

我想向字符串添加零填充以使字符串具有特定的最终长度。在我的具体情况下,我希望字符串末尾的长度为 6,并在之前用 0 填充。

我在 C# 中看到了很多答案,而在 C 中没有看到很多答案,我确实看到的答案在 int 或 char 的开头添加了一定长度的填充,但我想要的是添加一个填充以得到最终结果长度为 6。

如果这是一个重复的问题,我真的很感激一个链接。

0 投票
1 回答
631 浏览

python - 如何将数据框中的序列拟合到多类问题?| 喀拉斯 | 熊猫 | ValueError:使用序列设置数组元素

我正在尝试构建一个具有序列到类用例的神经网络。我有一个包含 7 列的数据框:

  • 前 6 列是输入,第 7 列是输出。
  • ID并且x3是数据集需要分组和聚合的属性。
  • x3每个总是有一个ID。一个ID可以有i行。
  • x1x2用字符串填充。timestamp列是日期。

target_maturity是需要预测的目标值。

首先,我使用 LabelEncoder 对目标值进行编码:

接下来我将 x1/x2 中的字符串操作为数字序列:

由于我试图预测每个 ID 的一个目标值,并且由于一个项目对于一个 ID 是相同的,因此我将数据分组如下:

定义输出类的数量:

一种热编码输出:

从作为输入的数据创建一个数组:

训练测试拆分:

适合型号:

毕竟,我收到了错误。我也尝试将输入数据中的每个元素作为数组进行操作,但是如果x_train没有收到错误,我就无法进行事件操作。

如何将充满字符串的数据框中的序列拟合到多类问题?使用 keras 将序列转换为矩阵会弄乱数据帧。在阅读使用 keras 时出现相同错误的每篇文章后,我完全不知道如何解决这个问题。

遵循@DanielMöller 的建议,就我而言:

在标记序列之前:

一 - 热编码:

标记序列后:

Zero_pad x1 和 x2:

按 ID 和 x3_encoded 分组:

Zero_pad 列表列表:

多输入处理:

嵌入:

在:

出[57]:

在:

出[58]:

使用 LSTM 减少序列长度:

timeStampEncoded = LSTM(118)(timeStampInput) Traceback(最近一次调用最后一次):文件“C:\Users\reszi\Anaconda3\envs\deeplearning\lib\site-packages\IPython\core\interactiveshell.py”,第 3296 行,在 run_code exec(code_obj, self.user_global_ns, self.user_ns) 文件“”,第 1 行,在 <模块> timeStampEncoded = LSTM(118)(timeStampInput) 文件“C:\Users\reszi\Anaconda3\envs\deeplearning\lib \site-packages\keras\layers\recurrent.py",第 532 行,调用 返回 super(RNN, self)。调用(输入,**kwargs)文件“C:\Users\reszi\Anaconda3\envs\deeplearning\lib\site-packages\keras\engine\base_layer.py”,第 414 行,调用中 self.assert_input_compatibility(inputs) 文件“C:\Users\reszi\Anaconda3\envs\deeplearning\lib\site-packages\keras\engine\base_layer.py”,第 311 行,在 assert_input_compatibility str(K.ndim(x)) )

ValueError: Input 0 is in compatible layer lstm_1: expected = 3, found ndim = 2

0 投票
2 回答
149 浏览

list - Haskell:合并一个列表,其中偶数索引来自列表 1,奇数索引来自列表 2。如果大小不同,则填充 0

我试图创建一个 Haskell 函数,它将 2 个列表合并到一个列表中,其中新列表中的偶数索引来自列表 1,奇数索引来自列表 2。如果大小不同,则填充 0。

例如:

我试图创建几个版本,但没有运气。

我怎么能创造这样的东西?

0 投票
2 回答
65 浏览

c - 在 printf 语句的开头填充零 C

我需要为某些值添加 0。

例如,如果数字是 14,我想打印出 00014。

但我不能只使用 %05d 因为我想要的填充数存储在一个变量中。

如果变量等于 6,我想打印 000014。如果它等于 3,我想打印 014,依此类推..

有什么快速的方法吗?

这也行不通。

谢谢你。

0 投票
2 回答
1688 浏览

javascript - 带有数字填充的 CSS 计数器

counter是否可以根据其值填充数字?

就像如果有 42 行,数字会像09or  9, 420 — 009or   9