【发布时间】:2021-06-01 03:40:12
【问题描述】:
尝试创建 TB 回调时出现以下错误。
我在 MacOS 10.15.7 的 Jupiter 笔记本中的 Keras 顺序模型中使用 PlaidML Keras 2.2.4 版,& TensorFlow 2.4.1
import plaidml.keras
plaidml.keras.install_backend()
import os
os.environ['KERAS_BACKEND'] = 'plaidml.keras.backend'
import keras
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras import backend as K
import numpy as np
import pathlib
import PIL
import PIL.Image
# tensorflow for TensorBoard
import tensorflow
logs_dir = '/Users/x/TensorFlowFolder/logs'
from keras.callbacks import TensorBoard
callbacks_list = [
keras.callbacks.EarlyStopping(
monitor='val_loss',
patience=2,
),
keras.callbacks.ModelCheckpoint(
'best_modelFour.h5',
monitor='val_loss',
verbose=1,
save_best_only=True
),
keras.callbacks.TensorBoard(
log_dir=logs_dir,
histogram_freq=0,
write_graph=True, write_images=True
)
]
错误链是
> ModuleNotFoundError Traceback (most recent call
> last) ~/opt/anaconda3/lib/python3.8/site-packages/keras/callbacks.py
> in __init__(self, log_dir, histogram_freq, batch_size, write_graph,
> write_grads, write_images, embeddings_freq, embeddings_layer_names,
> embeddings_metadata, embeddings_data, update_freq)
> 744 import tensorflow as tf
> --> 745 from tensorflow.contrib.tensorboard.plugins import projector
> 746 except ImportError:
>
> ModuleNotFoundError: No module named 'tensorflow.contrib'
>
> During handling of the above exception, another exception occurred:
>
> ImportError Traceback (most recent call
> last) <ipython-input-4-93b8c44b3056> in <module>
> 15 save_best_only=True
> 16 ),
> ---> 17 keras.callbacks.TensorBoard(
> 18 log_dir=logs_dir,
> 19 histogram_freq=0,
>
> ~/opt/anaconda3/lib/python3.8/site-packages/keras/callbacks.py in
> __init__(self, log_dir, histogram_freq, batch_size, write_graph, write_grads, write_images, embeddings_freq, embeddings_layer_names,
> embeddings_metadata, embeddings_data, update_freq)
> 745 from tensorflow.contrib.tensorboard.plugins import projector
> 746 except ImportError:
> --> 747 raise ImportError('You need the TensorFlow module installed to '
> 748 'use TensorBoard.')
> 749
>
> ImportError: You need the TensorFlow module installed to use
> TensorBoard.
TensorBoard 显然正在尝试从 TensorFlow.contrib 获取模块 Projector。 TensorFlow.contrib 显然已经从 TensorFlow 中删除了一段时间。由于 TF 已成功安装,第二个错误似乎是虚假的。我想如果这真的破坏了 TensorBoard 会引起很大的轰动,那我做错了什么?
【问题讨论】:
-
建议使用 tf.keras 代替 keras 包。这样版本总是排成一行
标签: tensorflow keras tensorboard