AttributeError: 'Tensor' object has no attribute 'numpy' in custom loss function (Tensorflow 2.1.0)
AttributeError: 'Tensor' object has no attribute 'numpy' in custom loss function (Tensorflow 2.1.0)
我想训练一个带有自定义损失函数的模型,为此,我需要在下面的方法中将张量转换为 numpy 数组:
def median_loss_estimation(y_true, y_predicted):
a = y_predicted.numpy()
但是我有这个错误:
AttributeError: 'Tensor' object has no attribute 'numpy'
为什么?
如何将张量转换为 numpy 数组?
你做对了,目前只有 Tensorflow 2.1 在这方面有问题。如果您 运行 未启用急切模式的代码,通常会发生这种情况。但是,默认情况下,Tensorflow 2 运行s 处于急切模式……或者至少应该如此。已跟踪问题 here。
至少有两种解决方案:
- 安装最新的每晚构建。
- 设置
model.run_eagerly = True
。
答案是:把run_eagerly=True
放在model.compile
!
我想训练一个带有自定义损失函数的模型,为此,我需要在下面的方法中将张量转换为 numpy 数组:
def median_loss_estimation(y_true, y_predicted):
a = y_predicted.numpy()
但是我有这个错误:
AttributeError: 'Tensor' object has no attribute 'numpy'
为什么? 如何将张量转换为 numpy 数组?
你做对了,目前只有 Tensorflow 2.1 在这方面有问题。如果您 运行 未启用急切模式的代码,通常会发生这种情况。但是,默认情况下,Tensorflow 2 运行s 处于急切模式……或者至少应该如此。已跟踪问题 here。
至少有两种解决方案:
- 安装最新的每晚构建。
- 设置
model.run_eagerly = True
。
答案是:把run_eagerly=True
放在model.compile
!