我制作了Keras模型,但错误消息:“ ValueError:没有要保存的变量”不断出现,我不知道它的含义以及引起问题的原因。
我试图改变存储Keras模型的方式,但这似乎不是问题所在……
下面的代码是构建Keras模型的一部分。
tensorboard_callback = TensorBoard(log_dir = log_path,write_graph = True,embeddings_freq = 'batch')
es_min_valLoss = EarlyStopping(monitor = 'val_loss',patience = 15,mode = 'min')
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
train_history=model.fit(x = trainData,y = trainlabels,validation_split = validation_split,epochs = epochs,batch_size = batch_size,verbose = 2,callbacks=[tensorboard_callback,es_min_valLoss])
错误消息如下:
Traceback (most recent call last):
File "<ipython-input-27-9694f30344b3>",line 9,in <module>
callbacks=[tensorboard_callback,es_min_valLoss])
File "D:\Anaconda3\envs\tensorflow-gpu\lib\site-packages\keras\models.py",line 1002,in fit
validation_steps=validation_steps)
File "D:\Anaconda3\envs\tensorflow-gpu\lib\site-packages\keras\engine\training.py",line 1705,line 1155,in _fit_loop
callbacks.set_model(callback_model)
File "D:\Anaconda3\envs\tensorflow-gpu\lib\site-packages\keras\callbacks.py",line 52,in set_model
callback.set_model(model)
File "D:\Anaconda3\envs\tensorflow-gpu\lib\site-packages\keras\callbacks.py",line 802,in set_model
self.saver = tf.train.Saver(list(embeddings.values()))
File "D:\Anaconda3\envs\tensorflow-gpu\lib\site-packages\tensorflow\python\training\saver.py",line 832,in __init__
self.build()
File "D:\Anaconda3\envs\tensorflow-gpu\lib\site-packages\tensorflow\python\training\saver.py",line 844,in build
self._build(self._filename,build_save=True,build_restore=True)
File "D:\Anaconda3\envs\tensorflow-gpu\lib\site-packages\tensorflow\python\training\saver.py",line 869,in _build
raise ValueError("No variables to save")
ValueError: No variables to save