如何解决在张量板上可视化特征图
我想可视化张量板上各层之间的地图特征和权重。 这是我的代码:
# 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,activation='relu'))
model.add(tf.keras.layers.MaxPooling2D(pool_size=(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,1))
X_test = X_test.reshape((10000,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,但这不起作用。 我在google中没有找到任何回应,我看到有keract,但是我想用tensorboard来实现。 我该怎么办?
非常感谢您
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。