Tensorflow 1.15中TensorBoard错误
升级了tensorflow
到1.15,发现一个用tf.keras
中TensorBoard
的时候就会报错的问题.
问题描述
错误信息如下:
TypeError: An op outside of the function building code is being passed |
问题解决
这个问题主要还是因为tensorflow
要兼容两个版本的问题,也有我用vscode
开发的原因.
现在使用的tensorflow.keras
的时候最好还是用如下的方式:
TensorBoard = tf.keras.callbacks.TensorBoard |
我用的是如下:
from tensorflow.python.keras.callbacks import TensorBoard |
问题就在这里了,现在tensorflow 1.15
默认的TensorBoard
是使用tf 2.0
的写法的,如果用第一个方式调用是没问题的.但因为tf.keras.callbacks.TensorBoard
是从from tensorflow.python.keras.callbacks_v1
导入的,所以我的写法调用的是对应tf 2.0
的代码,导致错误.
所以我的写法要改成:
from tensorflow.python.keras.callbacks_v1 import TensorBoard |