【发布时间】:2020-09-18 19:18:21
【问题描述】:
我有一个简单的神经网络
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten, Conv2D, MaxPooling2D, MaxPool2D
model = Sequential([
Conv2D(16,(3,3),padding='same', input_shape=(1,28,28),data_format='channels_first'),
MaxPooling2D((3,3), data_format='channels_first')
])
print(model.summary())
模型总结是
Model: "sequential_4"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_2 (Conv2D) (None, 16, 28, 28) 160
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 16, 9, 9) 0
=================================================================
Total params: 160
Trainable params: 160
Non-trainable params: 0
_________________________________________________________________
None
并编译为
opt = tf.keras.optimizers.Adam(learning_rate=0.005)
model.compile(optimizer=opt,
loss=tf.keras.losses.BinaryCrossentropy(),
metrics=[tf.keras.metrics.BinaryAccuracy(),
tf.keras.metrics.MeanAbsoluteError()]
)
现在,当我打印模型属性时,它会给出一个空的指标列表。为什么会这样?
print(f"{model.metrics}\n{model.optimizer},\n,{model.loss}\n{model.optimizer.lr}")
这是输出
[]
<tensorflow.python.keras.optimizer_v2.adam.Adam object at 0x000001FB10F2EDC8>,
,<tensorflow.python.keras.losses.BinaryCrossentropy object at 0x000001FB10F2EEC8>
<tf.Variable 'learning_rate:0' shape=() dtype=float32, numpy=0.005>
【问题讨论】:
-
我无法重现您的问题。你能提供更多细节吗?
-
我想查看模型的指标,因为我正在传递 2 个指标,其中分别是二进制精度和平均绝对误差。我不想做任何具体的事情,只是检查一下。
-
我的意思是你的代码的更多细节。因为我运行它并且它对我有用。
-
我想知道为什么它对我不起作用
-
这是 TF 2.2 版本中的问题。我在 github 中打开了this 问题。
标签: python tensorflow keras