python-3.x - 在 Tensorflow 2.0 中使用 Tensorboard 可视化 Keras 模型
问题描述
我正在学习使用带有 Tensorflow 2.0 的 Tensorboard 可视化 Keras 模型
对于一个可重现的例子:
inputs = Input(shape = (train_data.shape[1], ))
x1 = Dense(100, kernel_initializer = 'he_normal', activation = 'elu')(inputs)
x1a = Dropout(0.5)(x1)
x2 = Dense(100, kernel_initializer = 'he_normal', activation = 'elu')(x1a)
x2a = Dropout(0.5)(x2)
x3 = Dense(100, kernel_initializer = 'he_normal', activation = 'elu')(x2a)
x3a = Dropout(0.5)(x3)
x4 = Dense(100, kernel_initializer = 'he_normal', activation = 'elu')(x3a)
x4a = Dropout(0.5)(x4)
x5 = Dense(100, kernel_initializer = 'he_normal', activation = 'elu')(x4a)
predictions = Dense(1)(x5)
model = Model(inputs = inputs, outputs = predictions)
@tf.function
def traceme(x):
return model(x)
logdir = "log"
writer = tf.summary.create_file_writer(logdir)
tf.summary.trace_on(graph=True, profiler=True)
# Forward pass
traceme(tf.zeros((1, train_data.shape[1])))
with writer.as_default():
tf.summary.trace_export(name="model_trace", step=0, profiler_outdir=logdir)
我怎样才能从这一点着手来获得可视化?
当我从 Jupyter Notebook 运行命令时,我收到一条错误消息:
%load_ext tensorboard.notebook
%tensorboard --logdir logs
ERROR: Failed to launch TensorBoard (exited with 1).
Contents of stderr:
c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
from ._conv import register_converters as _register_converters
Traceback (most recent call last):
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\Scripts\tensorboard.exe\__main__.py", line 5, in <module>
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\site-packages\tensorboard\main.py", line 44, in <module>
from tensorboard import default
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\site-packages\tensorboard\default.py", line 36, in <module>
from tensorboard.plugins.beholder import beholder_plugin
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\site-packages\tensorboard\plugins\beholder\__init__.py", line 15, in <module>
from tensorboard.plugins.beholder.beholder import Beholder
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\site-packages\tensorboard\plugins\beholder\beholder.py", line 199, in <module>
class BeholderHook(tf.estimator.SessionRunHook):
AttributeError: module 'tensorflow' has no attribute 'estimator'
当我再次从终端窗口运行它时,出现异常:
(base) C:\WINDOWS\system32>tensorboard --logdir log
c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
from ._conv import register_converters as _register_converters
Traceback (most recent call last):
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\Scripts\tensorboard.exe\__main__.py", line 5, in <module>
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\site-packages\tensorboard\main.py", line 44, in <module>
from tensorboard import default
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\site-packages\tensorboard\default.py", line 36, in <module>
from tensorboard.plugins.beholder import beholder_plugin
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\site-packages\tensorboard\plugins\beholder\__init__.py", line 15, in <module>
from tensorboard.plugins.beholder.beholder import Beholder
File "c:\program files (x86)\microsoft visual studio\shared\anaconda3_64\lib\site-packages\tensorboard\plugins\beholder\beholder.py", line 199, in <module>
class BeholderHook(tf.estimator.SessionRunHook):
AttributeError: module 'tensorflow' has no attribute 'estimator'
解决方案
你能告诉我如何从这一点着手来获得可视化吗?
在 jupyter 笔记本中,
# Load the TensorBoard notebook extension.
%load_ext tensorboard
%tensorboard --logdir log
https://www.tensorflow.org/tensorboard/r2/graphs#graphs_of_tffunctions
您也可以通过运行此命令从终端执行此操作,
tensorboard --logdir log
'localhost:6006'
并从网络浏览器打开。
如果 Anaconda 环境正确,请查看此链接以获取解决异常的方法:https ://github.com/tensorflow/tensorboard/issues/2067#issuecomment-478140779
推荐阅读
- r - 在 r- 中使用 gsub 的正则表达式模式从 xml 文件中获取一个较大模式中间的一个小模式
- laravel - 由于 Laravel 5.5 中的不活动问题,该页面已过期
- hadoop - 气流失败:ParseException 行 2:0 无法识别附近的输入
- javascript - AR.js 标记未正确训练
- xml - IMPORTXML() 仅适用于 xPath 的一部分
- apache - 进程退出,因为它达到了 apache 服务器中的 MaxConnectionsPerChild
- rest - RAML 资源接受多个枚举
- django-forms - 如何停止重复进入 django 模型
- vuejs2 - 使用 import() 测试动态组件 - TypeError: Path must be a string
- jquery - 在 jquery 中修改 FlatIcon 图标的颜色