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

有没有一种简单的方法可以在Tensorflow中获得类似Keras model.summary的内容?,tensorflow,keras,Tensorflow,Keras,我一直与Keras合作,非常喜欢model.summary() 它很好地概述了不同层的大小,特别是概述了模型的参数数量 Tensorflow中有类似的函数吗?我在Stackoverflow或Tensorflow API文档中找不到任何内容。您可以将keras与Tensorflow后端一起使用,以获得keras或Tensorflow的最佳功能。我还没有看到Tensorflow的类似model.summary()的内容。。。然而,我认为你不需要它。有一个张力板,你可以很容易地检查NN的架构 看起来

我一直与Keras合作,非常喜欢
model.summary()
它很好地概述了不同层的大小,特别是概述了模型的参数数量


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

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

我还没有看到Tensorflow的类似model.summary()的内容。。。然而,我认为你不需要它。有一个张力板,你可以很容易地检查NN的架构

看起来您可以使用

例如:

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
这里还有一个打印模型摘要的自定义函数示例:


如果您已经有
.pb
tensorflow模型,您可以使用:打印模型信息或使用带有
--print_structure
标志的tensorflow工具,它还可以检测输入和输出名称,这很好。

了解,但是,我在tensorflow中有现有模型(例如,由其他人编程)我想更好地理解这一点,因此,我正在寻找一种从Tensorflow获得更多输出的方法。了解Tensorflow培训的最佳方法是向代码中添加摘要并使用tensorboard。是否有一种快速的方法将Tensorflow模型或图形转换为keras模型,然后我们可以只做model.summary()。真的错过了这种快速的文本方式(理解有张量板)。你可以从keras到tf,但不能反过来,因为tf图的级别比keras图低。这应该是一个注释,因为它没有提供问题解决方案的答案(“只是不要使用X,而是Y”更适合作为建议).如何使用tensorboard了解每层的形状和参数数?这并不能回答OP问题。@BiBi是的!请参阅问题
类似于Keras model.summary的内容。出于某种原因,这只会给我变量大小和信息。@Blade哪一个?model_summary()函数。这也适用于TensorFlow Lite模型!(似乎只有当它们是使用TensorFlow构建的)那么层输出呢?