Keras 什么是T.alloc

Keras 什么是T.alloc,keras,theano,Keras,Theano,我正在学习keras,我正在使用一个关于音乐生成的代码来学习。我已经检查了代码并展示了这个,我想这是theano: start_note_values = T.alloc(np.array(0, dtype=np.int8), 5 * 128, 1, 2) 功能是: def y_labels(y): start_note_values = T.alloc(np.array(0, dtype=np.int8), BATCH_SIZE * NUM_TIMESTEPS, 1, OUTPUT

我正在学习keras,我正在使用一个关于音乐生成的代码来学习。我已经检查了代码并展示了这个,我想这是theano:

start_note_values = T.alloc(np.array(0, dtype=np.int8), 5 * 128, 1, 2)
功能是:

def y_labels(y): 
    start_note_values = T.alloc(np.array(0, dtype=np.int8), BATCH_SIZE * NUM_TIMESTEPS, 1, OUTPUT_LAYER)
    correct_choices = y[:, :, :-1, :].reshape((BATCH_SIZE * NUM_TIMESTEPS, NUM_NOTES - 1, OUTPUT_LAYER))        
    features = T.concatenate([start_note_values, correct_choices], axis=1)
    return features.reshape((BATCH_SIZE, NUM_TIMESTEPS, NUM_NOTES, OUTPUT_LAYER)).transpose((0, 2, 1, 3)).reshape((BATCH_SIZE * NUM_NOTES, NUM_TIMESTEPS, OUTPUT_LAYER))

get_labels_shape = lambda shape: [BATCH_SIZE * NUM_NOTES, NUM_TIMESTEPS, OUTPUT_LAYER]

previous_notes = Sequential([
    Lambda(y_labels, output_shape=get_labels_shape, batch_input_shape=(BATCH_SIZE, NUM_TIMESTEPS, NUM_NOTES, OUTPUT_LAYER), name='y_labels')
])
我不明白这是什么意思,有人能解释一下吗?输入具有以下格式:

X = (440, 128, 300) 
有没有办法在keras解决这个问题?
谢谢你们

谢谢@Matias,你知道如何在Keras中实现这一点吗?