首页 > 解决方案 > T.alloc 是什么意思

问题描述

我正在学习 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 中解决这个问题吗?感谢你们!

标签: kerastheano

解决方案


推荐阅读