我创建了自己的类,该类在其方法之一中创建了Keras模型。
self.model = Sequential()
self.model.add(LSTM(32))
self.model.add(Dense(2, activation='relu'))
self.model.compile(optimizer='RMSprop', loss='categorical_crossentropy', metrics=['acc'])
Run Code Online (Sandbox Code Playgroud)
在其他方法中,我尝试使用python生成器作为数据提供程序来训练此模型。
self.model.fit_generator(my_gen(), steps=10, epochs=1, verbose=1)
Run Code Online (Sandbox Code Playgroud)
这会导致错误:
raise RuntimeError('You must compile your model before using it.')
RuntimeError: You must compile your model before using it.
Run Code Online (Sandbox Code Playgroud)
如果我将LSTM层更改为密集层,则错误不会增加。我究竟做错了什么?
带有Tensorflow 1.8.0后端的Keras版本2.2.0。