Python 警告:tensorflow:'write_grads'在tensorflow 2.0中对于'TensorBoard'回调将被忽略
我使用以下代码行来可视化使用tensorboard的ANN模型的梯度Python 警告:tensorflow:'write_grads'在tensorflow 2.0中对于'TensorBoard'回调将被忽略,python,tensorflow,neural-network,tensorboard,tf.keras,Python,Tensorflow,Neural Network,Tensorboard,Tf.keras,我使用以下代码行来可视化使用tensorboard的ANN模型的梯度 tensorboard_callback = tf.compat.v1.keras.callbacks.TensorBoard(log_dir='./Graph', histogram_freq=1, write_graph = True, write_grads =True, write_images = False) tensorboard_callback .set_model(model) %tensorbo
tensorboard_callback = tf.compat.v1.keras.callbacks.TensorBoard(log_dir='./Graph', histogram_freq=1, write_graph = True, write_grads =True, write_images = False)
tensorboard_callback .set_model(model)
%tensorboard --logdir ./Graph
我收到一条警告消息,说“警告:tensorflow:write_grads
将在tensorflow 2.0中忽略TensorBoard
回调。”
我得到张力板输出,但没有梯度
可能的原因是什么
(注:我使用2.3.0 tensorflow版本)
谢谢。
Write\u Grads
未在TF2.x
中实现。这是一个仍处于开放状态的高期望特性请求。请检查此GitHub作为功能请求。因此,我们只需要导入TF1.x
模块并使用write_grads
,如下代码所示
# Load the TensorBoard notebook extension
%load_ext tensorboard
import tensorflow as tf
import datetime
# Clear any logs from previous runs
!rm -rf ./logs/
# Disable V2 behavior
tf.compat.v1.disable_v2_behavior()
mnist = tf.keras.datasets.mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0
def create_model():
return tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(512, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model = create_model()
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.compat.v1.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1, write_grads =True)
model.fit(x=x_train, y=y_train, epochs=1, validation_data=(x_test, y_test), callbacks=[tensorboard_callback])
%tensorboard --logdir logs/fit
输出:
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434 [==============================] - 0s 0us/step
Train on 60000 samples, validate on 10000 samples
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/engine/training_v1.py:2048: Model.state_updates (from tensorflow.python.keras.engine.training) is deprecated and will be removed in a future version.
Instructions for updating:
This property should not be used in TensorFlow 2.0, as updates are applied automatically.
32/60000 [..............................] - ETA: 0s - loss: 2.3311 - acc: 0.0312WARNING:tensorflow:Callbacks method `on_train_batch_end` is slow compared to the batch time (batch time: 0.0055s vs `on_train_batch_end` time: 0.0235s). Check your callbacks.
60000/60000 [==============================] - 17s 288us/sample - loss: 0.2187 - acc: 0.9349 - val_loss: 0.1012 - val_acc: 0.9690
<tensorflow.python.keras.callbacks.History at 0x7f7ebd1d3d30>
从中下载数据https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11493376/11490434[==================================]-0s 0us/步
培训60000个样本,验证10000个样本
警告:tensorflow:From/usr/local/lib/python3.6/dist软件包/tensorflow/python/keras/engine/training_v1.py:2048:Model.state_更新(来自tensorflow.python.keras.engine.training)已被弃用,并将在未来版本中删除。
更新说明:
此属性不应在TensorFlow 2.0中使用,因为会自动应用更新。
32/60000[……]-ETA:0s-损失:2.3311-acc:0.0312警告:tensorflow:Callbacks方法'on_train_batch_end'比批次时间慢(批次时间:0.0055s vs'on_train_batch_end'时间:0.0235s)。检查你的回电。
60000/60000[=========================================================17s 288us/样品-损耗:0.2187-acc:0.9349-val_损耗:0.1012-val_acc:0.9690
即使在使用了
tf.compat.v1.keras.callbacks.TensorBoard(write\u grads=True)之后,仍然显示相同的警告消息