张量转换函数numpy()在tf.estimator模型函数中不起作用

时间:2019-03-13 16:44:17

标签: tensorflow tensorflow-estimator tensorflow2.0

我已经在tensorflow v2.0和v1.12.0(带有tf.enable_eager_execution())中进行了尝试。因此,很明显,如果我在numpy()函数中使用下面显示的代码片段调用main(),它会完美地工作。但是,如果我在估算器模型函数中使用它,即model_fn(features, labels, mode, params),则它会抱怨'Tensor' object has no attribute 'numpy'

ndarray = np.ones([3, 3])
tensor = tf.multiply(ndarray, 42)
print(tensor)
print(tensor.numpy())

还有其他人遇到过类似的问题吗?似乎对tf.estimator不重要吗?

1 个答案:

答案 0 :(得分:3)

它不起作用。 Estimator API与图的构建有关,并且不完全支持渴望执行。根据官方文档。

  

在急切执行时,Estimate的调用方法将起作用   已启用。但是,model_fn和input_fn并不急于执行

https://www.tensorflow.org/api_docs/python/tf/estimator/Estimator

TF 2.0甚至不支持自定义估算器,仅支持预制估算器。