我很难理解SparseTensor标签在实际标签长度之外应该具有的值。因此,对于一个实例,假设我有标签A-Z,索引为0-26,目标标签为:
# 'H','E','L','L','O'
targ1=[7,4,11,11,14]
# 'N','O'
targ2=[13,14]
sparse = [ [7,4,11,11,14],
[13,14,0,0,0] ]
在稀疏中,第二批的实际成绩单显示为NOAAA
,尽管它只是NO
。所以我想知道TensorFlow在计算损失时如何处理这个问题。这不会让网络学会输出不正确的字符序列吗?或者我可以让标签的索引范围在1到27之间,而不是从0到26,因此迫使网络仅在1-27之间输出类,但我不能说服自己,即使这样也能完美地工作。
另外我认为CTC Loss的TensorFlow手册没有提到空白标签的索引被假定为N_Classes - 1
,我在这里找到:CTC Loss op。有人可以确认这样的假设是否正确吗?
我请求某人澄清我的疑虑。感谢您的时间和支持。
答案 0 :(得分:2)
CTC_OPS来源索赔
inputs
Tensor的最内层尺寸大小num_classes
代表num_labels + 1
个类,其中num_labels是真实标签的数量,和 最大值(num_classes - 1)
保留给空白标签。
答案 1 :(得分:0)
我最近研究过语音识别,张量流中的SparseTensor意味着它会在标签矩阵中添加0
,所以0
表示no-class
,所以我认为{{1}的索引} class为blank-label
,0
为1-27。