невозможно импортировать метрику из тензорного потока.keras.metrics - PullRequest
1 голос
/ 20 июня 2019

Я хочу написать собственный оценщик метрик, для которого я следую по этой ссылке .мой фиктивный код

import tensorflow as tf    
from tensorflow import keras    

class DummyMetric(keras.metrics.Metric):

    def __init__(self, name='categorical_true_positives', **kwargs):
      super(DummyMetric, self).__init__(name=name, **kwargs)
      self.true_positives = self.add_weight(name='tp', initializer='zeros')

    def update_state(self, y_true, y_pred, sample_weight=None):
      print("Evaluating tensor of shape {} against gt of shape {}".format(y_pred.shape, y_true.shape))
      self.true_positives.assign_add(1.0)

    def result(self):
      return self.true_positives

    def reset_states(self):
      # The state of the metric will be reset at the start of each epoch.
      self.true_positives.assign(0.)

моя версия тензорного потока 1.13.1 установлена ​​из источника .

keras.metrics.Metric throws

AttributeError: модуль 'tenorflow._api.v1.keras.metrics' не имеет атрибута 'Метрика'.

Когда я делаю pip install tensorflow-gpu==1.14, эта ошибка исчезает.

пожалуйста, предложите любое решение / хак, если это возможно, которое заставит его работать без обновления до 1.14

1 Ответ

2 голосов
/ 20 июня 2019

Кажется, что это, вероятно, было исключено из __init__.py, и они исправили это в 1.14, я думаю. Я смог импортировать это так:

from tensorflow.python.keras.metrics import Metric

Определяется в файле:

tensorflow/python/keras/metrics.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...