【发布时间】:2017-10-04 08:27:54
【问题描述】:
我一直在使用 Keras,非常喜欢 model.summary()
它很好地概述了不同层的大小,尤其是模型具有的参数数量的概述。
Tensorflow 中是否有类似的功能?我在 Stackoverflow 或 Tensorflow API 文档上一无所获。
【问题讨论】:
标签: tensorflow keras
我一直在使用 Keras,非常喜欢 model.summary()
它很好地概述了不同层的大小,尤其是模型具有的参数数量的概述。
Tensorflow 中是否有类似的功能?我在 Stackoverflow 或 Tensorflow API 文档上一无所获。
【问题讨论】:
标签: tensorflow keras
看来你可以使用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 summarize_graph 工具,它还可以检测输入和输出名称。
【讨论】:
我还没有看到类似 model.summary() 的 tensorflow 的东西......但是,我认为你不需要它。有一个 TensorBoard,您可以在其中轻松检查 NN 的架构。
【讨论】:
something like Keras model.summary
您可以将 keras 与 tensorflow 后端一起使用,以获得 keras 或 tensorflow 的最佳功能。
【讨论】: