[英]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()
的值也会发生变化。
下面的答案解释了默认哈希函数的工作原理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.