TensorFlow2.0如何轻松地输出中间层结果

检查模型——各层权重、中间层输出

也许你也遇到过训练好的模型输出了一些奇怪的结果,比如总是输出不变的常数。排错到怀疑人生,可能都发现不了问题究竟出在哪。
这就需要你逐层分析输出结果,看下有没有诡异的地方。方法如下:

 layer1 = tf.keras.layers.Dense(30)
 layer2 = tf.keras.layers.Dense(50)
 ...
 layer5 = tf.keras.layers.Dense(30)
 
 model = tf.keras.models.Sequential([
 	layer1,
 	layer2,
	...
 	layer5
 	])

你可以用这种方式重新训练网络,也可以把训练过的网络权重导入到这个网络里。

out1 = layer1(x)
out2 = layer1(out1)
out3 = layer1(out2)
...

网络权重的查看:

model.weights

或者

layer1.weights

你可能感兴趣的:(tensorflow应用,tensorflow,深度学习)