【发布时间】:2020-03-05 15:43:13
【问题描述】:
我为我的音乐生成项目使用了一个模型。模型创建如下
self.model.add(LSTM(self.hidden_size, input_shape=(self.input_length,self.notes_classes),return_sequences=True,recurrent_dropout=dropout) ,)
self.model.add(LSTM(self.hidden_size,recurrent_dropout=dropout,return_sequences=True))
self.model.add(LSTM(self.hidden_size,return_sequences=True))
self.model.add(BatchNorm())
self.model.add(Dropout(dropout))
self.model.add(Dense(256))
self.model.add(Activation('relu'))
self.model.add(BatchNorm())
self.model.add(Dropout(dropout))
self.model.add(Dense(256))
self.model.add(Activation('relu'))
self.model.add(BatchNorm())
self.model.add(Dense(self.notes_classes))
self.model.add(Activation('softmax'))
在以 70% 的准确率训练此模型后,每当我生成音乐时,它总是给出相同类型的起始音符,无论输入音符如何变化都很少。我认为可以通过在生成开始时初始化 LSTM 的隐藏状态来解决这个问题。我该怎么做?
【问题讨论】:
标签: tensorflow keras deep-learning lstm