繁体   English   中英

tf.keras.models.clone_model 应该保留哈希吗?

[英]Should tf.keras.models.clone_model preserve the hash?

在训练一些深度 Q 网络的情况下,我必须生成一个 tensorflow 模型的克隆(包含密集神经网络和一些激活)。 这是我正在使用的语法。

target_model=tf.keras.models.clone_model(model=model)

我的问题是,为什么它不保留使用hash(model)计算的散列? 如果它们是彼此的两个精确克隆,只是在两个不同的内存位置,哈希值应该改变吗? 或者内存位置本身是哈希的输入,而不是对象本身?

模型的hash取决于__hash__函数,该函数在 keras Model类中未被覆盖。 因此,当使用clone_model进行深度复制时,对象的 id 值会发生变化,这意味着hash()的值也会发生变化。

下面的答案解释了默认哈希函数的工作原理。

python中默认的__hash__是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM