问题描述
我的记录如下:
sequence_features = {
'frames': tf.io.FixedLenSequenceFeature([],dtype=tf.string),"label": tf.io.FixedLenSequenceFeature([],dtype=tf.int64),}
context_features = {
"frames_count": tf.io.FixedLenFeature([],"num_tokens": tf.io.FixedLenFeature([],}
frames
和label
序列的长度不同。
帧的形状为BxTxHxWxC
张量,其中B
是批处理大小,T
是批处理中最大的帧数,H
是图像高度(112),{ {1}}是图片宽度(112),W
是频道(1)
C
的形状为label
,其中BxS
是批次中最长的标签。
我正在S
上建立我的模型,并像这样编译它:
tf.keras.Sequential()
问题是model.compile(
loss=tf.nn.ctc_loss(),optimizer=tf.keras.Adam(),)
需要4个参数-tf.nn.ctc_loss()
,labels
,logits
和label_length
。但是在模型编译时我还不知道,因为它在批次之间以及每个时期都不同。
在整个数据集中将帧计数或标签填充或裁剪为相同的长度并不是真正的选择,因为最长的序列可能比最短的序列长20倍。
我正在这样读取数据集:
logit_length
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)