首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tf.nn.ctc_loss在cnn+ctc网络中的应用

tf.nn.ctc_loss在cnn+ctc网络中的应用
EN

Stack Overflow用户
提问于 2017-06-26 14:58:58
回答 1查看 3.1K关注 0票数 1

最近,我尝试使用tensorflow来实现基于文章cnn+ctc的https://arxiv.org/pdf/1701.02720.pdf网络。

我尝试将分批光谱图数据(形状:( 10,120,155,3),batch_size为10)输入到10个卷积层和3个完全连接层。因此,连接ctc层之前的输出是2d数据(形状:(10,1024))。

这是我的问题:我想在tensorflow库中使用tf.nn.ctc_loss函数,但是它生成输入形状为:?,1024,3的ValueError:维度必须是2,但对于“Transpose”(op:‘Transpose’)来说是3。

我猜这个错误与我的2d输入数据的维数有关。ctc_loss函数在tensorflow官方站点中的描述需要一个带有形状的3d输入(batch_size X max_time X num_classes)。

那么,“num_classes”的额外维度是什么?应该如何更改cnn+fc输出数据的形状?

EN

回答 1

Stack Overflow用户

发布于 2017-08-27 21:52:29

每个时间步骤都要应用完全连接的层。这就像在递归神经网络中每一时间步长使用相同的稠密层。对于卷积层的输出,时间步长为宽度。

因此,例如,输出形状是:

  1. 卷积:(10,120,155,3) =(批次,高度,宽度,通道)
  2. 扁平:(10,155,120*3) =(批处理,max_time,特性)
  3. 完全连接:(10,155,1024),(每一时间步施加相同的致密层)
  4. (10,155,num_classes)

这是预计的形状,ctc_loss在丹苏尔流。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44762631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档