古风汉服美女图集

stable-diffusion-webui模型的hash 如何计算老hash

2024-01-14 14:02 0 微浪网
导语: 在加载模型时,stable-diffusion-webui会计算模型的hash。最近,我注意到我经常使用的一个模型的hash发生了变化,这让我怀疑模型文件本身是否发生了改变。 经过一番研究,我发现原因是在1月份的一次更新中,stable-diffusion-webui更换了hash的计算方法,从之前的方法转为了sha256。因此,同一个模型在两种方法下计算出的hash不同。 下面是一些模型的has...

stable-diffusion-webui模型的hash 如何计算老hash

在加载模型时,stable-diffusion-webui会计算模型的hash。最近,我注意到我经常使用的一个模型的hash发生了变化,这让我怀疑模型文件本身是否发生了改变。

经过一番研究,我发现原因是在1月份的一次更新中,stable-diffusion-webui更换了hash的计算方法,从之前的方法转为了sha256。因此,同一个模型在两种方法下计算出的hash不同。

下面是一些模型的hash以及从源码中找到的计算老hash的方法:

模型名字 sha256 老hash
animefull-final-pruned.ckpt 89d59c3dde 925997e9
Anything-V3.0-pruned.ckpt 543bcbc212 2700c435
Anything-V3.0.ckpt 8712e20a5d 6569e224

下面是从源码中翻出来的计算老hash的方法:

python

<span>def</span> <span>model_hash</span>(<span>filename</span>):
    <span>try</span>:
        <span>with</span> <span>open</span>(filename, <span>"rb"</span>) <span>as</span> file:
            <span>import</span> hashlib
            m = hashlib.sha256()
            file.seek(<span>0x100000</span>)
            m.update(file.read(<span>0x10000</span>))
            <span>return</span> m.hexdigest()[<span>0</span>:<span>8</span>]
    <span>except</span> FileNotFoundError:
        <span>return</span> <span>'NOFILE'</span>

<span>print</span>(model_hash(<span>"Anything-V3.0.ckpt"</span>)) <span># -> 6569e224</span>

通过以上方法,我们可以计算出模型的老hash。如果你注意到模型的hash发生了变化,那可能是因为stable-diffusion-webui更新了hash的计算方法。这对于模型的版本控制和验证非常重要。

请确保在使用模型时,使用正确的hash进行验证,以确保模型文件的完整性和一致性。

结论

Stable Diffusion攻略的stable-diffusion-webui模型在加载模型时会计算模型的hash。最近的更新导致hash的计算方法从之前的方法转为了sha256,因此同一个模型在两种方法下计算出的hash不同。通过使用给出的计算老hash的方法,我们可以获得模型的老hash。确保使用正确的hash进行验证以保证模型文件的完整性和一致性。

声明:本文来自投稿,不代表微浪网立场,版权归原作者所有,欢迎分享本文,转载请保留出处!

2024-01-14

2024-01-14

古风汉服美女图集
扫一扫二维码分享