python - Keras 错误:无法将符号 Keras 输入/输出转换为 numpy 数组
问题描述
我有来自 RaGan(相对论平均 Gan)的这段代码(部分代码):
def get_ragan_network(generator,discriminator,optimizer):
imgs_hr = Input(image_shape)
generated_hr = Input(image_shape)
Discriminator_real_out = discriminator(imgs_hr)
Discriminator_fake_out = discriminator(generated_hr)
Real_Fake_relativistic_average_out = tf.add(Discriminator_real_out,-(K.mean(Discriminator_fake_out, axis=0)))
Fake_Real_relativistic_average_out = tf.add(Discriminator_fake_out,-(K.mean(Discriminator_real_out, axis=0)))
epsilon=0.000001
def relativistic_discriminator_loss(y_true, y_pred):
if isinstance(Real_Fake_relativistic_average_out, np.ndarray):
return -(K.mean(K.log(K.sigmoid(Real_Fake_relativistic_average_out)+epsilon ),axis=0)
+K.mean(K.log(1-K.sigmoid(Fake_Real_relativistic_average_out)+epsilon),axis=0))
else:
return -(K.mean(K.log(K.sigmoid(Real_Fake_relativistic_average_out)+epsilon ),axis=0)
+K.mean(K.log(1-K.sigmoid(Fake_Real_relativistic_average_out)+epsilon),axis=0))
model = Model([generated_hr,imgs_hr],[Discriminator_real_out,Discriminator_fake_out])
model.compile(optimizer=optimizer, loss=[relativistic_discriminator_loss,None])
return model
但是当我执行代码时,我得到了这个错误:
Cannot convert a symbolic Keras input/output to a numpy array. This error may indicate that you're trying to pass a symbolic value to a NumPy call, which is not supported. Or, you may be trying to pass Keras symbolic inputs/outputs to a TF API that does not register dispatching, preventing Keras from automatically converting the API call to a lambda layer in the Functional Model.
我不知道如何解决。
Numpy 版本 = 1.19
张量流版本 = 2.6
解决方案
我认为错误来自这一行:isinstance(Real_Fake_relativistic_average_out, np.ndarray)
,因为Real_Fake_relativistic_average_out
来自鉴别器输出并且np.ndarray
是一个 numpy 对象。显然,条件 if else 语句是无用的。
推荐阅读
- vba - 如何删除地址?
- node.js - Express cookie 在浏览器中不可见
- xaml - 如何仅为背景(而不是标签)设置透明度?
- node.js - 如何使用 Node.js 创建虚拟打印机
- bash - 从本地 .bat 脚本运行远程 .sh 脚本
- python - 如果我放一个像 s=1234567891 这样的字符串,代码可以工作,但是如果我有一个文本文件“yesno.txt”,其中有数据,则会出错
- java - 如何将 ANTLR4 生成的解析树转换为抽象语法树?
- unity3d - WebGL 构建在 Unity 中冻结
- javascript - 我收到 TypeError:无法读取未定义的属性“402”,它来自哪里?
- android - 更新地图标记位置 onLocationChanged() 不起作用