问题标签 [ctc]

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 投票
1 回答
164 浏览

python - 如何避免在 Tensorflow 2 中为 CTC 损失模型定义目标张量?

我正在尝试在具有 CTC 损失的模型上使用 tf.distribute.MirroredStrategy() 在 Tensorflow 2 中进行多 GPU 训练。

问题是模型需要定义 target_tensors 才能编译。这可能是什么原因?是否有一些解决方法和编译模型而不定义 target_tensors?

如果我没有通过目标,我会得到以下结果:

该模型是使用 Keras 函数式 API 定义的,方法如下:

模型必须编译为:

该模型有 2 个输出,但在第二个输出上使用的 CTC 损失导致了问题。

0 投票
2 回答
1112 浏览

python - How can I install CTC-Decode?

I am trying to install CTC-Decode on a windows machine. (https://github.com/parlance/ctcdecode) I am executing the following code in Git Bash:

git clone --recursive https://github.com/parlance/ctcdecode.git cd ctcdecode && pip install .

I get the following error:

ERROR: Could not install packages due to an EnvironmentError: [('C:\Users\vtz\ctcdecode\third_party\boost_1_67_0\libs\geometry\doc\html\geometry\reference\spatial_indexes\boost__geometry__index__rtree\rtree_parameters_type_const____indexable_getter_const____value_equal_const____allocator_type_const___.html', 'C:\Users\vtz\AppData\Local\Temp\pip-req-build-tb4918ru\third_party\boost_1_67_0\libs\geometry\doc\html\geometry\reference\spatial_indexes\boost__geometry__index__rtree\rtree_parameters_type_const____indexable_getter_const____value_equal_const____allocator_type_const___.html', "[Errno 2] No such file or directory: 'C:\\Users\\vtz\\AppData\\Local\\Temp\\pip-req-build-tb4918ru\\third_party\\boost_1_67_0\\libs\\geometry\\doc\\html\\geometry\\reference\\spatial_indexes\\boost__geometry__index__rtree\\rtree_parameters_type_const____indexable_getter_const____value_equal_const____allocator_type_const___.html'")]

0 投票
0 回答
337 浏览

keras - 带有 LPRNet 和 CTCLoss 的 pytorch/keras 中的 OCR 不收敛

我在 keras 和 pytorch 中实现了这篇论文中的 LPRNet。对于 pytorch,使用此代码作为示例。它没有在任何版本中收敛。损失从 30 开始,即使在 150000 个 epoch 之后也达到 27。在 pytorch 版本中,我没有使用验证,以加快训练速度。

我尝试了什么:

  • 使用 xavier_uniform_、xavier_normal 和我在 torch.nn.init 中找到的所有其他参数初始化 conv2d 权重
  • 使用另一个数据集,其中包含其他人使用的 50 张清晰图像,用于他们的 rcnn ocr 模型
  • 尝试了 sgd 而不是亚当

带有 pytorch 的完整 colab 在这里,我的数据集在这里

在 keras 中,我曾经成功地将模型过度拟合到训练集上。我的训练集只有 50 张图像,但我应用了随机效果以防止过度拟合。在他们的论文中,作者没有具体说明他们使用了多大的数据集。可能是模型实现中的问题?此外,原始论文包含我没有使用的空间变换器网络,因为他们告诉它是可选的,但它的缺失会是一个问题吗?

0 投票
1 回答
335 浏览

tensorflow - TensorFlow2 中的 tf.nn.ctc_beam_search_decoder() 不支持 GPU 吗?

现在,我尝试tf.nn.ctc_beam_search_decoder()在 GPU 上使用。
但我有一个问题,它不使用 GPU。

我能够检查其他 tensorflow 函数(例如ReshapeSigmoidGrad)是否在 GPU 上运行。
但有些包括ctc_beam_search_decoder()只在 CPU 上运行,而且ctc_beam_search_decoder()速度很慢。

那么,我有两个问题。一、 TensorFlow2
不支持GPU? 其次,如果支持,你能告诉我如何实现或功能(或方法)吗?ctc_beam_search_decoder()

我在下面展示一个简单的例子。

程序代码。

结果(标准输出)。

忽略输入和输出数据并专注于正在使用的设备。
在这种情况下,ExpandDimsStridedSlice在 GPU 上执行。但CTCBeamSearchDecoder并未在 GPU 上执行。

0 投票
0 回答
1755 浏览

python - RuntimeError:堆栈期望每个张量大小相等,但在条目 0 处得到 [7],在条目 2 处得到 [6]

尝试使用自定义图像训练模型以识别车牌字符,但这是错误:

输出:

这是什么意思?也许是因为我给你训练的图像?

0 投票
1 回答
1520 浏览

pytorch - 如何在 pytorch 中正确使用 CTC Loss 和 GRU?

我正在尝试创建 ASR,但我仍在学习,我只是在尝试使用一个简单的 GRU:

将每个输出分类为可能的字母 + 空格 + 空白之一。

然后我使用 CTC 损失函数和 Adam 优化器:

在我的训练循环中(我只显示有问题的区域):

我收到此错误:

我不确定为什么会收到此错误。我试着改成

谢谢。

0 投票
0 回答
271 浏览

deep-learning - 为什么词级语言模型应该有助于 ASR 中的波束搜索解码?

我正在尝试对经过自动语音识别任务训练的CTC损失训练的声学模型进行波束搜索解码。我使用的版本是基于这篇论文的。然而,尽管许多资料将相似词级语言模型的集成描述为有利于词错误率性能,但在我的情况下,LM 的集成使结果恶化。

这其实并没有让我太惊讶,因为语言模型只给词尾加完词的前缀打分,而打分的意思是把前缀的概率乘以LM概率,这样就降低了整个前缀的概率。这样,语言模型系统地降低了以词汇表中的单词结尾的前缀的概率,而未以完整单词结尾的前缀则根本不被 LM 评分。在每个时间步,以完整单词结尾的前缀似乎由于分数降低而被丢弃,而不完整的前缀则保留在光束中。

我的问题是,如果单词级 LM 集成降低了有效前缀的概率,为什么它应该起作用?我会理解一些在每一步都对所有内容进行评分的字符级 LM 或一些前瞻单词级 LM 可能会有所帮助。例如, Graves通过使用给定前缀的所有可能单词的概率总和以及在每个时间步应用 LM 更新来描述词级语言模型的集成,这似乎是合理的,即使计算成本可能要大得多。

0 投票
1 回答
183 浏览

tensorflow - 从 Keras 中的 h5 文件加载自定义 CTC 层

我有一个这样的 CTCLayer 类:

我训练了我的模型,将其保存到 model.h5 文件并通过以下方式加载:

它抛出了一个init () got an unexpected keyword argument 'trainable'错误。

由于我不想再次训练我的模型(时间限制),是否有任何解决方法可以加载模型而无需在 CTCLayer 类中添加 get_config() ?

如果没有,我应该如何修改类中的 get_config() ?

0 投票
1 回答
762 浏览

keras - 将 CTC 损失和 CTC 解码添加到 Keras 模型

我正在尝试解决手写文本识别的用例。我已经使用 CNN 和 LSTM 创建了一个网络。其输出需要馈送到 CTC 层。我可以在本机 tensorflow 中找到一些代码来执行此操作。在 Keras 中是否有更简单的选择。

CTC 丢失和解码之前的网络架构

关于我们如何轻松添加 CTC 损失和解码层的任何帮助都会很棒

0 投票
0 回答
325 浏览

python - 张量流 CTC 损失函数 (tf.nn.ctc_loss) 的确切输入参数是什么?

我正在尝试解决在线手写识别问题,并尝试使用 CTC 损失函数。我尝试在上面的代码中使用这个类作为我的 CTC 损失函数。但是关于被抛出的尺寸有一个错误。有人可以解释一下这些参数是什么吗?尤其是 [frames, batch_size, num_labels] 中的“帧”是什么意思。请让我知道我在这个特定代码中哪里出错了。我的 X_train 的形状为 (1311, 919, 3)。谢谢。