如何解决无论对架构或超参数进行什么更改,丢失历史记录CTC都是相同的
我正在尝试用3D-2D-CNN BLSTM-HMM and word-CTC models
中描述的体系结构训练口头阅读网络但是无论我做了什么更改,我都面临着问题-网络架构,激活,超参数,改组-我一遍又一遍地面临着相同的损失历史:
我的nn的体系结构如下:
我的输入是112x112x1
图像的序列,我的标签是大小为35(空白标记为+1)的字典的字符序列
这是我建立模型的方式:
with strategy.scope():
optimizer=tf.keras.optimizers.Adam(learning_rate=0.0001)
model = build_model()
model.compile(
optimizer=optimizer,loss=CTCLoss(),)
这是我的损失:
class CTCLoss(tf.keras.losses.Loss):
def __init__(self,logits_time_major=False,reduction=tf.keras.losses.Reduction.NONE,name='ctc'):
super().__init__(reduction=reduction,name=name)
self.logits_time_major = logits_time_major
def call(self,y_true,y_pred):
y_true = tf.cast(y_true,tf.int32)
logit_length = tf.fill([tf.shape(y_pred)[0]],tf.shape(y_pred)[1])
label_length = tf.fill([tf.shape(y_true)[0]],tf.shape(y_true)[1])
loss = tf.nn.ctc_loss(
labels=y_true,logits=y_pred,label_length=label_length,logit_length=logit_length,logits_time_major=self.logits_time_major,blank_index=0)
return loss
我在做什么错?我认为这可能与损失有关,但看不到错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。