张量板模块未发现初始化函数时出错



尽管我试图以几种方式初始化张量板 - from tensorflow.keras.callbacks import TensorBoardfrom keras.callbacks import TensorBoard,atd 。在 model.fit 函数之前初始化时,我总是得到 ModuleNotFoundError 或类似的东西。

我已经为Tensorboard日志尝试了几种不同的目录,几种通过Keras层初始化的方法

import tensorflow as tf
#sess = tf.Session()
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
# more info on callbakcs: https://keras.io/callbacks/ model saver is cool too.
#from tensorflow.keras.callbacks import TensorBoard
from keras.callbacks import TensorBoard
import pickle
import time
NAME = "Cats-vs-dogs-CNN"
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(Dense(1))
model.add(Activation('sigmoid'))

model.compile(loss='binary_crossentropy',
              optimizer='adam',
              metrics=['accuracy'],
              )
tensor_board = TensorBoard(log_dir='./Graph', histogram_freq=0, write_graph=True, write_images=True)
model.fit(X, y,
          batch_size=16,
          epochs=1,
          validation_split=0.3,
          callbacks=[tensor_board])

它基于教程 https://pythonprogramming.net/tensorboard-analysis-deep-learning-python-tensorflow-keras/?completed=/convolutional-neural-network-deep-learning-python-tensorflow-keras/原始代码是这样编写的:

tensorboard = TensorBoard(log_dir="logs/{}".format(NAME))
model.compile(loss='binary_crossentropy',
              optimizer='adam',
              metrics=['accuracy'],
              )
model.fit(X, y,
          batch_size=32,
          epochs=10,
          validation_split=0.3,
          callbacks=[tensorboard])

但是我收到一个错误,找不到回调=[张量板](,所以我有点推断它是因为我使用 Tensorflow2.0,这是基于 r1 版本。

Dave,

你必须使用

  tensorflow.keras.callbacks.TensorBoard

您直接使用 keras API,就像您尝试使用两个不同的 API 一样。

请尝试遵循tf 2.0 api的文档,它运行良好。

https://www.tensorflow.org/tensorboard/r2/get_started

最新更新