Python 在tensorboard中可视化特征映射
我想在tensorboard中可视化图层之间的贴图特征和权重。 这是我的密码:Python 在tensorboard中可视化特征映射,python,tensorflow,keras,tensorboard,Python,Tensorflow,Keras,Tensorboard,我想在tensorboard中可视化图层之间的贴图特征和权重。 这是我的密码: # Load the TensorBoard notebook extension %load_ext tensorboard.notebook callbacks = [ # Write TensorBoard logs to './logs' directory tf.keras.callbacks.TensorBoard(log_dir='./logs/tensorflow_exercise') ] #
# Load the TensorBoard notebook extension
%load_ext tensorboard.notebook
callbacks = [
# Write TensorBoard logs to './logs' directory
tf.keras.callbacks.TensorBoard(log_dir='./logs/tensorflow_exercise')
]
# network and training
EPOCHS = 20
BATCH_SIZE = 128
VERBOSE = 1
OPTIMIZER = tf.keras.optimizers.Adam()
VALIDATION_SPLIT=0.95
IMG_ROWS, IMG_COLS = 28, 28
# input image dimensions
INPUT_SHAPE = (IMG_ROWS, IMG_COLS, 1)
NB_CLASSES = 10
# number of outputs = number of digits
def build(input_shape, classes):
model = models.Sequential()
#First stage
model.add(tf.keras.layers.Convolution2D(20, (5, 5), activation='relu', input_shape=input_shape))
model.add(tf.keras.layers.MaxPool2D(pool_size=(2, 2), strides=(2, 2)))
#Second stage
model.add(tf.keras.layers.Convolution2D(50, (5, 5), activation='relu'))
model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=(2, 2)))
# Flatten => RELU layers
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(500, activation='relu'))
# a softmax classifier
model.add(tf.keras.layers.Dense(classes, activation="softmax"))
model.summary()
return model
mnist = tf.keras.datasets.mnist
# data: shuffled and split between train and test sets
(X_train, y_train), (X_test, y_test) = datasets.mnist.load_data()
# reshape
X_train = X_train.reshape((60000, 28, 28, 1))
X_test = X_test.reshape((10000, 28, 28, 1))
# normalize
X_train, X_test = X_train / 255.0, X_test / 255.0
# cast
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
# convert class vectors to binary class matrices
y_train = tf.keras.utils.to_categorical(y_train, NB_CLASSES)
y_test = tf.keras.utils.to_categorical(y_test, NB_CLASSES)
# initialize the optimizer and model
model = build(input_shape=INPUT_SHAPE, classes=NB_CLASSES)
model.compile(loss="categorical_crossentropy", optimizer=OPTIMIZER,metrics=["accuracy"])
model.summary()
# use TensorBoard, princess Aurora!
callbacks = [
# Write TensorBoard logs to './logs' directory
tf.keras.callbacks.TensorBoard(log_dir='./logs', histogram_freq=1) ]
log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
# fit
history = model.fit(X_train, y_train,batch_size=BATCH_SIZE, epochs=EPOCHS, verbose=VERBOSE, validation_split=VALIDATION_SPLIT, callbacks=callbacks)
score = model.evaluate(X_test, y_test, verbose=VERBOSE)
print("\nTest score:", score[0])
print('Test accuracy:', score[1])
%tensorboard --logdir logs
我想我必须使用tf.keras.callbacks.ModelCheckpoint,但这不起作用。
我没有在谷歌找到任何回应,我看到了keract,但我想用tensorboard实现它。
我该怎么做
多谢各位