miko daisuke
miko daisuke

Reputation: 31

Keras ValueError: No variables to save

I've made a Keras model but the error: "ValueError: No variables to save" keeps appearing and I don't know what it means and what's causing the problem.

I tried to change the way of storing the Keras model but it seems like that's not the problem...

The code beneath is the part after building the Keras model.

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])

The error message looks like this:

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

Upvotes: 1

Views: 405

Answers (1)

Igna
Igna

Reputation: 1127

What is your embeding data? You must pass embeddings_data to the TensorBoard callback. If you are not using embeddings remove the argument embeddings_freq

The Keras documentation is great and you can read more about TensorBoard callback here

Upvotes: 1

Related Questions