Keras和TensorBoard-AttributeError:“顺序"对象没有属性"_get_distribution_strategy" [英] Keras and TensorBoard - AttributeError: 'Sequential' object has no attribute '_get_distribution_strategy'

查看:582
本文介绍了Keras和TensorBoard-AttributeError:“顺序"对象没有属性"_get_distribution_strategy"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用keras,并尝试使用张量板绘制日志.在下面,您可以找到我得到的错误以及我正在使用的软件包版本的列表.我不明白这是给我顺序"对象没有属性"_get_distribution_strategy"的错误.

I am using keras and trying to plot the logs using tensorboard. Bellow you can find out the error I am getting and also the list of packages versions I am using. I can not understand it is giving me the error of 'Sequential' object has no attribute '_get_distribution_strategy'.

包装: 凯拉斯2.3.1 Keras-应用程序1.0.8 Keras预处理1.1.0 张量板2.1.0 张量流2.1.0 tensorflow-estimator 2.1.0

Package: Keras 2.3.1 Keras-Applications 1.0.8 Keras-Preprocessing 1.1.0 tensorboard 2.1.0 tensorflow 2.1.0 tensorflow-estimator 2.1.0

型号:

model = Sequential()
    model.add(Embedding(MAX_NB_WORDS, EMBEDDING_DIM, input_shape=(X.shape[1],)))
    model.add(GlobalAveragePooling1D())
    #model.add(Dense(10, activation='sigmoid'))
    model.add(Dense(len(CATEGORIES), activation='softmax'))
    model.summary()
    #opt = 'adam'       # Here we can choose a certain optimizer for our model
    opt = 'rmsprop'
    model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])                  # Here we choose the loss function, input our optimizer choice, and set our metrics.

    # Create a TensorBoard instance with the path to the logs directory
    tensorboard = TensorBoard(log_dir='logs/{}'.format(time()),
                    histogram_freq = 1,
                    embeddings_freq = 1,
                    embeddings_data = X)

    history = model.fit(X, Y, epochs=epochs, batch_size=batch_size, validation_split=0.1, callbacks=[tensorboard])

错误:

C:\Users\Bruno\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\callbacks\tensorboard_v2.py:102: UserWarning: The TensorBoard callback does not support embeddings display when using TensorFlow 2.0. Embeddings-related arguments are ignored.
  warnings.warn('The TensorBoard callback does not support '
C:\Users\Bruno\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\framework\indexed_slices.py:433: UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape. This may consume a large amount of memory.
  "Converting sparse IndexedSlices to a dense Tensor of unknown shape. "
Train on 1123 samples, validate on 125 samples
Traceback (most recent call last):
  File ".\NN_Training.py", line 128, in <module>
    history = model.fit(X, Y, epochs=epochs, batch_size=batch_size, validation_split=0.1, callbacks=[tensorboard])    # Feed in the train
set for X and y and run the model!!!
  File "C:\Users\Bruno\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\training.py", line 1239, in fit
    validation_freq=validation_freq)
  File "C:\Users\Bruno\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\engine\training_arrays.py", line 119, in fit_loop
    callbacks.set_model(callback_model)
  File "C:\Users\Bruno\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\callbacks\callbacks.py", line 68, in set_model
    callback.set_model(model)
  File "C:\Users\Bruno\AppData\Local\Programs\Python\Python37\lib\site-packages\keras\callbacks\tensorboard_v2.py", line 116, in set_model
    super(TensorBoard, self).set_model(model)
  File "C:\Users\Bruno\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\keras\callbacks.py", line 1532, in
set_model
    self.log_dir, self.model._get_distribution_strategy())  # pylint: disable=protected-access
AttributeError: 'Sequential' object has no attribute '_get_distribution_strategy'```

推荐答案

您正在kerastf.keras之间混合导入,它们不是同一库,因此不支持这样做.

You are mixing imports between keras and tf.keras, they are not the same library and doing this is not supported.

您应该从其中一个库kerastf.keras中进行所有导入.

You should make all imports from one of the libraries, either keras or tf.keras.

这篇关于Keras和TensorBoard-AttributeError:“顺序"对象没有属性"_get_distribution_strategy"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆