'How to resolve keras.callbacks import errors for TensorBoard?
Attempt 1
from keras.callbacks import TensorBoard
from keras.models import Sequential
from keras import layers
from keras.optimizers import RMSprop
tb_callback = keras.callbacks.TensorBoard(log_dir="/Users/baldur009/Documents/Scripts/log/model_gru", histogram_freq=0, write_graph=True, write_images=True)
model = Sequential()
model.add(layers.GRU(10, input_shape=(None, ts_matrix.shape[-1])))
model.add(layers.Dense(1))
model.compile(optimizer=RMSprop(), loss='mae')
history = model.fit_generator(train_gen,
steps_per_epoch=30,
epochs=30,
validation_data=val_gen,
validation_steps=val_steps, callbacks=[tb_callback])
Error:
NameError
Traceback (most recent call last)
<ipython-input-23-c43bea5e24d5> in <module>()
2 from keras import layers
3 from keras.optimizers import RMSprop
----> 4 tb_callback = keras.callbacks.TensorBoard(log_dir="/Users/baldur009/Documents/Scripts/log/pertussis_gru", histogram_freq=0, write_graph=True, write_images=True)
5
6 model = Sequential()
NameError: name 'keras' is not defined
Attempt 2
Removed
keras.callbacks
So that:
tb_callback = TensorBoard(log_dir="/Users/catherineordun/Documents/Scripts/log/pertussis_gru", histogram_freq=0, write_graph=True, write_images=True)
I received the following error upon running:
---> 22 from tensorflow.contrib import bayesflow
23 from tensorflow.contrib import cloud
24 from tensorflow.contrib import compiler
ImportError: cannot import name bayesflow
As a result, searched and found https://github.com/tensorflow/tensorflow/issues/10811
conda update dask
Continue to receive the same error:
ImportError Traceback (most recent call last)
<ipython-input-48-c43bea5e24d5> in <module>()
2 from keras import layers
3 from keras.optimizers import RMSprop
----> 4 tb_callback = keras.callbacks.TensorBoard(log_dir="/Users/baldur009/Documents/Scripts/log/pertussis_gru", histogram_freq=0, write_graph=True, write_images=True)
5
6 model = Sequential()
/Users/baldur009/anaconda/lib/python2.7/site-packages/keras/callbacks.pyc in __init__(self, log_dir, histogram_freq, batch_size, write_graph, write_grads, write_images, embeddings_freq, embeddings_layer_names, embeddings_metadata)
641 global tf, projector
642 import tensorflow as tf
--> 643 from tensorflow.contrib.tensorboard.plugins import projector
644 self.log_dir = log_dir
645 self.histogram_freq = histogram_freq
/Users/baldur009/anaconda/lib/python2.7/site-packages/tensorflow/contrib/__init__.py in <module>()
20
21 # Add projects here, they will show up under tf.contrib.
---> 22 from tensorflow.contrib import bayesflow
23 from tensorflow.contrib import cloud
24 from tensorflow.contrib import compiler
ImportError: cannot import name bayesflow
So, I read: keras.utils.to_categorical() - name keras not defined, and therefore imported the following to cover as many dependencies as possible:
import keras
import keras.callbacks
from keras.callbacks import TensorBoard
But, continued to face same error.
Solution 1:[1]
After waiting five minutes and restarting the Jupyter (restart & clear output), it now runs.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | baldr009 |
