Получить значение тензора (Numpy) после обучения tf.Estimator

Я обучил простой автоэнкодер, используя tf.Estimator. Во время обучения обновляется конкретный тензор W, где W — матрица. После обучения я хотел бы получить W и прочитать его значения, используя numpy.

Это простая задача, если бы я не использовал tf.Estimator, я бы позвонил .eval() и передал свою сессию. Однако Estimator — это высокоуровневый API, и инициализация и использование сеанса выполняются скрыто.

Я также пытался использовать Estimator.predict и EstimatorSpec для возврата W, но, похоже, это не работает. Я получаю следующую ошибку:

TypeError: список тензоров, когда ожидается один тензор.

Можно ли напрямую получить значение numpy тензора после тренировки с tf.Estimator. Если да, то как?


person lorenzo    schedule 01.06.2018    source источник
comment
Привет, добро пожаловать в StackOverflow! Предоставление возможного примера вашего кода повысит вероятность того, что кто-то сможет вам помочь. Если возможно, предоставьте минимальный, полный и проверяемый пример.   -  person vielkind    schedule 01.06.2018


Ответы (1)


Предполагая, что W хранится в вашей модели как переменная, вы можете использовать метод get_variable_value объекта Estimator. См. здесь.

person xdurch0    schedule 02.06.2018