如何解决警告:tensorflow:`write_grads`在TensorFlow 2.0中将被`TensorBoard`回调所忽略
我正在使用以下代码行使用张量板可视化ANN模型的梯度
C:\bin>DISM.exe /Online /Cleanup-image /Scanhealth
Deployment Image Servicing and Management tool
Version: 6.3.9600.17031
Image Version: 6.3.9600.17031
[==========================100.0%==========================]
No component store corruption detected.
The operation completed successfully.
C:\bin> DISM.exe /Online /Cleanup-image /Restorehealth
Deployment Image Servicing and Management tool
Version: 6.3.9600.17031
Image Version: 6.3.9600.17031
[==========================100.0%==========================]
The restore operation completed successfully. The component store corruption was repaired.
The operation completed successfully.
我收到一条警告消息,内容为“警告:tensorflow: 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 2.0中将被write_grads
回调忽略。”
我得到了张量板输出,但是没有渐变。
可能是什么原因?
(注意:我使用2.3.0 tensorflow版本)
谢谢。
解决方法
Write_Grads
未在TF2.x
中实现。这是仍处于高度期望状态的功能请求之一。请检查此GitHub issue作为功能请求。因此,我们只需要导入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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。