Model
.ai
sledujeme otevřené AI modely

Safetensors vs .ckpt a .pt: jak bezpečně stahovat AI modely a ověřit je pomocí SHA-256

Téma: Chyby a opravy
Autor: Quartermaster
Publikováno 1. Dub 2026

Přehled

Modelové soubory bývaly Python pickly (.ckpt, .pt, .pth, .bin). Pickle je serializovaný Python objekt a jeho načtení může spustit libovolný kód, v letech 2023 a 2024 se na sdílecích webech našlo několik škodlivých checkpointů. Formát .safetensors, vytvořený Hugging Face, ukládá jen tensory a JSON hlavičku, takže načtení nemůže spustit kód. Všechny současné UI ho preferují a většina pickly ve výchozím nastavení odmítá nebo je kontroluje. Pokud je model dostupný jen jako .ckpt, raději použij převedenou verzi safetensors z důvěryhodného zdroje, nebo si ji převed sám v sandboxu.
Bezpečnost není jen o kódu. Přejmenovaný, zkrácený nebo nahrazený soubor dává špatné výsledky a zbytečně zabere hodiny práce. Řešením je hash: SHA-256 zveřejněný u souboru na stránce modelu spolu s kratším hashem AutoV2 (prvních deset znaků), který ukazují A1111 a Civitai. Spočítej hash svého staženého souboru a porovnej; shoda znamená, že máš přesně ty bajty, které autor zveřejnil, neshoda znamená, že se něco mezi nimi změnilo.
Důležité jsou i stránky. Stahuj ze stránky autora (repozitář Hugging Face nebo stránka modelu na Civitai, odkud je odkaz zde), ne ze znovu nahrávacích webů; hash použij k ověření zrcadel a torrentů. Nebo stahování úplně vynech: cloudoví partneři odkazovaní na každé stránce modelu už mají ověřené soubory.

Reference

Název
Typ
Co to je
.safetensors
format
Tensory plus JSON hlavička; nelze spustit kód; lze mapovat do paměti, načítá rychle. Standard od roku 2023.
.ckpt / .pt / .pth / .bin
format
Python pickle; při načtení může spustit kód. Vyhýbej se neznámým zdrojům; moderní UI varují nebo blokují.
.gguf
format
Kvantované tensory s metadaty (odvozeno z llama.cpp); nelze spustit kód. Používá se pro GGUF Flux, Qwen a LLM.
SHA-256
hash
64 hex znaků identifikujících přesný soubor. Na stránce modelu zde pod seznamem souborů.
AutoV2
hash
Prvních 10 znaků SHA-256, jak je ukazují A1111, Forge a Civitai.
certutil -hashfile FILE SHA256
Windows
Vestavěný příkaz pro hashování; v PowerShellu: Get-FileHash FILE.
shasum -a 256 FILE
Mac / Linux
Vestavěný příkaz; na Linuxu sha256sum FILE.
Pickle scanner
tool
picklescan nebo vestavěná kontrola UI hlásí podezřelé importy v .ckpt souborech; čistý výsledek není záruka.

Krok za krokem

  1. Otevři model na tomto webu a zkopíruj SHA-256 (nebo AutoV2) ze seznamu souborů; poznamenej si velikost souboru.
  2. Klikni na odkaz na stránku autora a stáhni variantu .safetensors. Pokud je jen .ckpt, hledej převedenou safetensors verzi na téže stránce nebo od známého převodce.
  3. Nejprve zkontroluj velikost: soubor výrazně menší než uvedený je zkrácený.
  4. Spočítej hash: ve Windows PowerShell Get-FileHash .\model.safetensors; na Mac/Linux shasum -a 256 model.safetensors. Porovnej prvních 10 znaků s AutoV2 na stránce modelu, nebo celý řetězec s SHA-256.
  5. Pokud se shodují: přesuň soubor do správné složky (checkpoints, loras, controlnet, vae) a obnov UI. A1111 a Forge ukazují AutoV2 vedle názvu modelu; mělo by to také sedět.
  6. Neshoda: soubor smaž a stáhni znovu ze stránky autora; pokud se autorův soubor liší od našeho záznamu, autor soubor aktualizoval (zkontroluj verzi) nebo je náš záznam zastaralý; nahlas to přes telegramovou komunitu v FAQ.
  7. U .ckpt musíš: spustit pickle scan, načítat ho jen v prostředí, které můžeš obnovit, a hned ho převést na safetensors (ComfyUI i A1111 mají převodníky), aby ses už nikdy nenačítal pickle.
  8. Aby ses tomu všemu vyhnul, stiskni tlačítko PirateDiffusion nebo BitVector na stránce modelu; hostovaný soubor je ověřený.

Příklady

Hashování ve Windows

Get-FileHash "C:\ComfyUI\models\checkpoints\juggernautXL_v9.safetensors"
certutil -hashfile "C:\ComfyUI\models\checkpoints\juggernautXL_v9.safetensors" SHA256

Hashování na Macu nebo Linuxu

shasum -a 256 ~/ComfyUI/models/checkpoints/juggernautXL_v9.safetensors

Jednorázové převedení .ckpt v Pythonu

from safetensors.torch import save_file; import torch
sd = torch.load("model.ckpt", map_location="cpu", weights_only=True)["state_dict"]; save_file(sd, "model.safetensors")

Tipy

  • Hugging Face ukazuje SHA-256 každého souboru v repozitáři (klikni na soubor, "Copy SHA256"); Civitai ukazuje AutoV2 a SHA-256 v detailech souboru. Oba by měly odpovídat tomu, co je zde na stránce modelu.
  • Antivirová karanténa během stahování vytvoří zkrácený soubor, který neprojde hashem; raději přidej složku s modely na whitelist, než antivir vypínat.
  • Kontrola hashe je taky způsob, jak odhalit torrent nebo zrcadlo, které nabízí starší verzi se stejným názvem.
  • Safetensors nechrání před špatným modelem, jen před kódem; příklady na stránce modelu a heat score ti řeknou, jestli soubor stojí za to mít.
  • LoRA soubory od trenérů jsou vždy safetensors; LoRA nabízená jako .pt je varovný signál, pokud to není embedding z roku 2022.
  • Měj vedle složky s modely textový soubor s hashi; za rok už nebudeš vědět, který "v3" máš.

Řešení problémů

Hash nesouhlasí se stránkou modelu

Proč k tomu dochází
Zkrácené stažení, jiná verze nebo nahrazený soubor.

Jak to opravit
Porovnej velikost, stáhni znovu od autora, zkontroluj verzi; zastaralý záznam nahlas přes komunitu.

UI odmítá načíst .ckpt

Proč k tomu dochází
Nastavení bezpečnosti pickle.

Jak to opravit
Najdi nebo vytvoř safetensors verzi; bezpečnostní nastavení nevypínej.

Pickle scan hlásí podezřelý import

Proč k tomu dochází
Kód v pickle, škodlivý nebo jen neobvyklý.

Jak to opravit
Nenahraj ho. Najdi safetensors verzi.

Stažený soubor je dvakrát větší než uvedeno

Proč k tomu dochází
Verze fp32, kde stránka uvádí fp16, nebo plný checkpoint místo LoRA.

Jak to opravit
Vyber variantu odpovídající záznamu; obě jsou platné, ale chovají se jinak.

Soubor se otevře, ale dává špatné obrázky

Proč k tomu dochází
Špatná rodina modelu nebo poškozený, ale úplný soubor.

Jak to opravit
Ověř hash; načti s checkpointem správné rodiny.

Otázky

Je safetensors vždy bezpečný?

Ano, je bezpečný proti spuštění kódu. Nic neříká o kvalitě nebo licenci modelu; to zjistíš na stránce modelu.

Proč některé repozitáře stále nabízejí .bin nebo .pt?

Starší verze a některý výzkumný kód. Většinou mají i safetensors; použij ten.

Změní se hash, když přejmenuju soubor?

Ne. Hash je z obsahu; název nehraje roli.

Co soubory GGUF?

Jsou to tensorové soubory bez možnosti spustit kód; hashuj je stejně.

Odkud jsou hashe na tomto webu?

Z publikovaných souborů autorů v době zveřejnění; jsou tu, abys mohl ověřit stažení, a opravy jsou vítány přes komunitní chat.

Modely v tomto návodu

Napsal
Spravuje zásoby: každý LoRA, každý kvant, každý soubor, který někdo přejmenoval na final_v2_REAL.safetensors. Měří hardware podle toho, kolik Wan renderů se vejde před večeří. Řekne ti číslo VRAM, pak ti řekne, že je špatné, protože máš otevřený Chrome. Otevřené váhy, nebo to nevyplulo.
Všechny průvodce od Quartermaster

Další návody