【问题标题】:Tensorboard import error in keras.callbackskeras.callbacks 中的 Tensorboard 导入错误
【发布时间】:2020-02-02 20:34:45
【问题描述】:

我正在关注 sentdex 关于 Keras 神经网络的视频。

我的 tensorflow 版本是 2.0.0。

我在 Windows 10 上并在 Anaconda Jupyter 环境中运行此代码。

我已尝试搜索或出现此错误,但没有得到任何结果。

代码

import tensorflow as tf
from tensorflow.keras.datasets import cifar10
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten
from tensorflow.keras.layers import Conv2D, MaxPooling2D
from tensorflow.keras.callbacks import Tensorboard

import pickle
import numpy as np
import os
import time

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

NAME = "CATS-VS-DOGS-CNN-{}".format(int(time.time()))

tensorboard = TensorBoard(log_dir="logs/{}".format(NAME))

pickle_in = open("X.pickle","rb")
X = pickle.load(pickle_in)

pickle_in = open("y.pickle","rb")
y = pickle.load(pickle_in)

X = X/255.0

model = Sequential()

model.add(Conv2D(256, (3, 3), input_shape=X.shape[1:]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Conv2D(256, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())  # this converts our 3D feature maps to 1D feature vectors

model.add(Dense(64))
model.add(Activation('relu'))

model.add(Dense(1))
model.add(Activation('sigmoid'))

model.compile(loss='binary_crossentropy',
              optimizer='adam',
              metrics=['accuracy'])

model.fit(X, y, batch_size=8, epochs=10, validation_split=0.3, callbacks = [tensorboard])

错误

ImportError                               Traceback (most recent call last)
<ipython-input-2-a32bf5fe83d7> in <module>
      5 from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten
      6 from tensorflow.keras.layers import Conv2D, MaxPooling2D
----> 7 from tensorflow.keras.callbacks import Tensorboard
      8 
      9 import pickle

ImportError: cannot import name 'Tensorboard' from 'tensorflow.keras.callbacks' (C:\Users\anves\Anaconda3\lib\site-packages\tensorflow_core\python\keras\api\_v2\keras\callbacks\__init__.py)

【问题讨论】:

    标签: python tensorflow keras importerror tensorboard


    【解决方案1】:

    如果您注意到,您正在导入 Tensorboard(带有小“b”):

    from tensorflow.keras.callbacks import Tensorboard
    

    但是当您创建回调时,您使用的是TensorBoard(带有大写“B”):

    tensorboard = TensorBoard(log_dir="logs/{}".format(NAME))
    

    因此,您需要按如下方式导入TensorBoard(带有大写“B”):

    from tensorflow.keras.callbacks import TensorBoard
    

    以下是显示相同更正的屏幕截图:

    希望这会有所帮助! :)

    【讨论】:

      猜你喜欢
      • 2018-06-10
      • 1970-01-01
      • 2021-08-02
      • 2020-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      相关资源
      最近更新 更多