上QQ阅读APP看书,第一时间看更新
2.2.3 打印显示已设计的model结构和参数
在程序2-10中,我们使用自定义层实现了model。如果读者认真学习了这部分内容,那么相信你一定可以实现自己的自定义层。
这里还有一个问题,对于自定义的层来说,这里的参数名(也就是在build中定义的参数名称)都是一样的。在层生成的过程中似乎并没有对每个层进行重新命名,或者将其归属于某个命名空间中。这与传统的TensorFlow 1.X模型的设计结果相冲突。
实践是解决疑问的最好办法。TensorFlow中提供了打印模型结构的函数,代码如下:
print(model.summary())
这个函数使用时将其置于构建后的model下,即可打印模型的结构与参数。
【程序2-11】
打印结果如图2.14所示。
图2.14 打印结果
从打印出的模型结构可以看到,这里每一层都根据层的名称重新命名,而且由于名称相同,TensorFlow框架自动根据其命名方式对其进行层数的增加(名称)。
对于读者更关心的参数问题,从对应行的第三列param可以看到,不同的层,其参数个数也不相同,因此可以认为在TensorFlow中重名的模型被自动赋予一个新的名称,并存在于不同的命名空间之中。