有没有一种简单的方法可以在Tensorflow中获得类似Keras model.summary的东西?
keras
tensorflow
17
0

我一直在与model.summary()合作,并且非常喜欢model.summary()它很好地概述了不同层的大小,尤其是模型具有的参数数量。

Tensorflow中有类似的功能吗?在Stackoverflow或Tensorflow API文档中找不到任何内容。

参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

看起来您可以使用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打印模式信息或使用tensorflow summarize_graph与工具--print_structure标志,也真的很高兴,它可以检测输入和输出的名称。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题