在尝试训练之前查看我的神经网络的架构

Posted

技术标签:

【中文标题】在尝试训练之前查看我的神经网络的架构【英文标题】:View architechure of my neural net before attempting to train it 【发布时间】:2020-06-24 15:29:13 【问题描述】:

我可以尝试使用 TensorFlow 2 制作的不同神经网络架构。即不同数量的层、不同的层类型、每层中不同数量的节点等。我正在使用tf.keras.layers.Input()tf.keras.layers.Dense()tf.keras.layers.Conv2D 等功能构建模型。我还希望可视化我构建的模型作为健全性检查。查看 TensorBoard 的文档,似乎要查看您的模型,您需要在训练过程中使用回调(model.fit)。这看起来相当笨拙——在尝试开始训练之前,肯定有一种方法可以可视化您的网络。除此之外,训练可能会因为您的模型架构存在某种缺陷而崩溃!如果这种可视化可以通过 TensorBoard 以外的方式完成,那也很好。

编辑: 有人建议可能已经有答案 => here 但它似乎涉及使用我认为自版本 2 以来不再是 TensorFlow 一部分的会话.

编辑:我刚刚找到了summary() 函数。在尝试训练之前,这告诉了我很多关于我的网络的信息。

【问题讨论】:

这能回答你的问题吗? Is it possible to visualize a tensorflow graph without a training op? @Edoardo Guerriero:我明白了... AttributeError: module 'tensorflow' has no attribute 'Session' - 我认为整个“会话”业务是 tensorflow 2.0 之前的? 【参考方案1】:

如果您使用 Keras,您可以使用“plot_model”绘制模型,请参阅文档 (https://keras.io/utils/#plot_model)。如果您只想使用 Tensorflow,您仍然可以在没有训练的情况下绘制模型,请参阅问题 (Is it possible to visualize a tensorflow graph without a training op?)

【讨论】:

以上是关于在尝试训练之前查看我的神经网络的架构的主要内容,如果未能解决你的问题,请参考以下文章

如何通过反向传播训练卷积神经网络中的过滤器?

在 R keras 中训练数组数据的内置卷积网络

我应该如何使用预训练模型优化神经网络以进行图像分类

b站的用纸笔训练神经网络matlab与python实现

在神经网络开始在训练数据上表现可接受之前的隐藏层数、隐藏层中的单元数和历元数

如何在训练模型时修复内存错误?