更改培训标签格式

时间:2019-07-01 18:58:17

标签: keras lstm

通常,如果您使用keras进行训练,model.fit希望训练数据的形状为(样本,时间步长,输入)和标签为(样本,输出)。有没有一种方法可以将匹配的标签更改为(样本*时间步长,输出)或(样本,时间步长,输入)。因此,一个样本与len(sample)* label匹配,而不仅仅是一个标签?

1 个答案:

答案 0 :(得分:0)

是的。您可以根据需要选择任意形状作为输出层。例如,自动编码器将具有与输入形状相同的输出形状。

一个玩具示例:

foreach (GridItem item in RadGrid1.MasterTableView.GetItems(new GridItemType[] { GridItemType.Pager, GridItemType.FilteringItem }))
                item.Display = true;

在这种情况下,sequence_length = 20 n_features = 4 def make_model(): inp = Input(shape=(sequence_length, n_features,)) encoder = LSTM(16, return_sequences=True)(inp) vector = LSTM(32)(encoder) decoder_in = RepeatVector(sequence_length)(vector) decoder = LSTM(16, return_sequences=True)(decoder_in) out = Dense(4)(decoder) model = Model(inp, out) model.compile('adam', 'mse') return model model = make_model() model.summary() 层的形状为(32,)(即,与输入相比,尺寸减小了),而输出层与输入的尺寸相同。