深度学习——训练CNN+CTC网络的时候报错:sequence_length(0)

我在使用keras 训练CNN+CTC网络的时候报错:

sequence_length(0) <= X

出现该问题的原因是网络的宽度发生了变化,而ctc层的定义:

def ctc_lambda(args):
	labels, y_pred, input_length, label_length = args
	y_pred = y_pred[:, :, :]
	return K.ctc_batch_cost(labels, y_pred, input_length, label_length)

注意其中的参数:input_length,该参数指CTC的输入长度,也就是labels的长度,由于CNN中存在池化层,所以label的长度是input长度的 1 / ( 2 f ) 1/(2^f) 1/(2f),其中f是池化层的数量。

我之所以出现错误是因为我把input_length定义为了input的长度。(错误)

你可能感兴趣的:(深度学习)