Атрибут metrics
Атрибут metrics класса Model возвращает список метрик,
привязанных к модели. Метрики задаются при компиляции модели
через метод compile или могут быть добавлены позже.
Каждая метрика представляет собой объект класса Metric,
например MeanSquaredError, Accuracy,
Precision, Recall и другие.
Атрибут доступен только для чтения и возвращает список.
Если модель не компилировалась, список будет пустым.
Метрики, переданные в compile, сохраняются в этом атрибуте
и обновляются в процессе вызовов fit, evaluate
и train_on_batch.
Синтаксис
model.metrics
Пример
Давайте создадим простую модель, скомпилируем её с метрикой
MeanSquaredError и посмотрим содержимое атрибута
metrics:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(1,))
])
model.compile(
optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.MeanSquaredError()]
)
print(model.metrics)
Результат выполнения кода:
[<MeanSquaredError name=mean_squared_error dtype=float32>]
Пример
Давайте скомпилируем модель с несколькими метриками и проверим
их количество через атрибут metrics:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(1,))
])
model.compile(
optimizer='sgd',
loss='mse',
metrics=[
tf.keras.metrics.MeanSquaredError(),
tf.keras.metrics.MeanAbsoluteError()
]
)
print(len(model.metrics))
print(model.metrics[0].name)
print(model.metrics[1].name)
Результат выполнения кода:
2
"mean_squared_error"
"mean_absolute_error"
Пример
Давайте убедимся, что до компиляции модели атрибут
metrics содержит пустой список:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(1,))
])
print(model.metrics)
Результат выполнения кода:
[]