Keras中的model.summary()输出到文件

@创建于:20210425

文章目录

keras中,model.summary()方法默认将信息打印到屏幕终端。

本文将其打印到指定文件,如下面代码。

def log_model_summary(text):
    with open('modelsummary.txt', 'w+') as f:
        f.write(text)

model.summary(print_fn=log_model_summary)

具体参数意义,请参考源码。

  def summary(self, line_length=None, positions=None, print_fn=None):
    """Prints a string summary of the network.

    Arguments:
        line_length: Total length of printed lines
            (e.g. set this to adapt the display to different
            terminal window sizes).
        positions: Relative or absolute positions of log elements
            in each line. If not provided,
            defaults to `[.33, .55, .67, 1.]`.
        print_fn: Print function to use. Defaults to `print`.
            It will be called on each line of the summary.
            You can set it to a custom function
            in order to capture the string summary.

    Raises:
        ValueError: if `summary()` is called before the model is built.
    """
    if not self.built:
      raise ValueError('This model has not yet been built. '
                       'Build the model first by calling `build()` or calling '
                       '`fit()` with some data, or specify '
                       'an `input_shape` argument in the first layer(s) for '
                       'automatic build.')
    layer_utils.print_summary(self,
                              line_length=line_length,
                              positions=positions,
                              print_fn=print_fn)

你可能感兴趣的:(Tensorflow2.X,/,Keras,keras,python)