【发布时间】:2021-04-13 15:18:57
【问题描述】:
使用 tensorflow 2.4.1,我在 keras 中覆盖 SimpleRNNCell.call,可在此处找到:
偏向部分如下:
if self.bias is not None:
bias_inv = np.arctanh(self.bias)
h = K.bias_add(h, bias_inv)
我收到以下错误:
NotImplementedError: in user code:
<ipython-input-12-a2655e34a197>:72 call *
inputs, mask=mask, training=training, initial_state=initial_state)
<ipython-input-55-87c0b5bbed00>:23 call *
bias_inv = np.arctanh(self.bias)
/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/resource_variable_ops.py:483 __array__ **
return np.asarray(self.numpy())
/usr/local/lib/python3.7/dist-packages/tensorflow/python/ops/resource_variable_ops.py:620 numpy
"numpy() is only available when eager execution is enabled.")
NotImplementedError: numpy() is only available when eager execution is enabled.
我确定启用了 Eager Execution,这可能是什么问题?
【问题讨论】:
-
不要在层内使用 numpy 操作,将其替换为 tf 或后端操作。
-
感谢您的回复.. 我怎样才能实现带有后端操作的 arctanh()?你能用一个简单的例子澄清一下吗?
标签: python numpy tensorflow keras eager-execution