Keras ValueError: нет переменных для сохранения - PullRequest
1 голос
/ 09 ноября 2019

Я сделал модель 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, in fit
    validation_steps=validation_steps)

  File "D:\Anaconda3\envs\tensorflow-gpu\lib\site-packages\keras\engine\training.py", 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

1 Ответ

1 голос
/ 09 ноября 2019

Каковы ваши данные для встраивания? Вы должны передать embeddings_data обратному вызову TensorBoard. Если вы не используете вложения, удалите аргумент embeddings_freq

Документация Keras великолепна, и вы можете прочитать больше о обратном вызове TensorBoard здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...