有没有一种简单的方法可以在Tensorflow中获得Keras model.summary?

new9mtju  于 2023-06-23  发布在  其他
关注(0)|答案(3)|浏览(162)

我一直在使用Keras,非常喜欢model.summary(),它很好地概述了不同层的大小,特别是模型参数数量的概述。
Tensorflow中是否有类似的功能?我在Stackoverflow或Tensorflow API文档中找不到任何东西。

vu8f3i0k

vu8f3i0k1#

我还没有看到任何类似model.summary()的东西用于tensorflow...不过,我觉得你不需要。有一个TensorBoard,您可以轻松检查NN的架构。
https://www.tensorflow.org/tensorboard


https://www.tensorflow.org/get_started/graph_viz

nx7onnlm

nx7onnlm2#

您可以将keras与tensorflow后端一起使用,以获得keras或tensorflow的最佳功能。

agyaoht7

agyaoht73#

看来你可以使用Slim
示例:

import numpy as np

from tensorflow.python.layers import base
import tensorflow as tf
import tensorflow.contrib.slim as slim

x = np.zeros((1,4,4,3))
x_tf = tf.convert_to_tensor(x, np.float32)
z_tf = tf.layers.conv2d(x_tf, filters=32, kernel_size=(3,3))

def model_summary():
    model_vars = tf.trainable_variables()
    slim.model_analyzer.analyze_vars(model_vars, print_info=True)

model_summary()

输出:

---------
Variables: name (type shape) [size]
---------
conv2d/kernel:0 (float32_ref 3x3x3x32) [864, bytes: 3456]
conv2d/bias:0 (float32_ref 32) [32, bytes: 128]
Total size of variables: 896
Total bytes of variables: 3584

这里还有一个打印模型摘要的自定义函数示例:https://github.com/NVlabs/stylegan/blob/f3a044621e2ab802d40940c16cc86042ae87e100/dnnlib/tflib/network.py#L507
如果你已经有了.pb tensorflow模型,你可以用途:inspect_pb.py来打印模型信息或使用带有--print_structure标志的tensorflow summary_graph工具,它还可以检测输入和输出名称。

相关问题