# 𧬠ComfyUI-CheckpointHandpickerSuite (æ¥æ¬èªçèå
ž v0.3.1)
> ã**ãã£ã¹ã¯å®¹éãç¯çŽã§ããä¿èšŒã¯ãããŸããããªããªããããªãã空ãã容éã«æåããŠãææ¥ããã«å€ãã®CheckpointãããŠã³ããŒãããŠããŸãããã§ãã**ã
ãšã¯ã¹ãããŒã©ãŒãšã®æãŠããªãåŸåŸ©ããäžèŠã¢ãã«ãæ¶ãããã ãã®äžæ¯ãªComfyUIã®åèµ·åãããã¹ãŠã¯éå»ã®éºç©ããïŒ
`ComfyUI-CheckpointHandpickerSuite` ã¯ãèšå€§ãªCheckpointïŒ.safetensorsïŒã®æµ·ã§æŠãAI絵垫ã®ããã«ãçæãã€ãã©ã€ã³ããäžç¬ãæ¢ããããåžžæçšŒåã®ãŸãŸãªã¢ã«ã¿ã€ã ã«ã¢ãã«ã®æ Œä»ãã»æ£åžãã»ãµã ãã€ã«èšå®ãŸã§ãå·è¡ããããã«é¬æãããã究極ã®ãã³ã¹ãããã»ã¢ã»ãã管çã·ã¹ãã ããã
v0.2.0ã®ç¹å€§ã¢ããããŒãã§ãã€ãã«ã倱æç»åã®çŽæ¥åé€ãããå¯è»¢ãããªããã®å€éšã¬ãã¥ãŒïŒDirectLinkïŒããŸã§æã«å
¥ããŠããŸã£ããïŒ ãããçä¹±ã®å®Žã®å§ãŸãããããïŒ
---
## ð æ¢åã®ã¯ãŒã¯ãããŒãžã1æ¬å·®ãã ããã®ç¡äŸµè¥²å¢èšïŒEasy IntegrationïŒ
**ããããããã¬ãã®ã¡ã€ã³ã® `Load Checkpoint` ã®é ã«åãä»ããŠã¿ãâŠâŠãåãããComfyUIã®åžžèããã¹ãŠå€ããâŠâŠïŒã**
ãã®Suiteã®æãæããããã€ã³ãã¯ããããŸã§ãã¬ããè¡ãšæ±ãæµããŠçµã¿äžããŠããç§äŒã®ã¹ãã²ããã£é
ç·ã1ããªãæ±ããªãïŒç¡äŸµè¥²ïŒãšããç¹ã«ããã®ããã
ä»ã䜿ãã® `Load Checkpoint` ããŒãã® `ckpt_name` å
¥åã®æåã«ããã ãã®æªãã匷åããŒã `Checkpoint Name Cycler` ãã«ãããš1åæã¿èŸŒãïŒç¥çµã1æ¬å·®ãïŒã ãããã ãã£ãããã ãã®å°ããªæ¹é ã§ããã¬ãã®æ¢åã¯ãŒã¯ãããŒã®è£åŽã«ã以äžã®åŒ·åãªåè·¯ïŒã·ã¹ãã ïŒãäžç¶²æå°œã«èªåå±éãããã®ãããâŠâŠïŒ
* **Checkpointã®å
šèªåãã³ã¹ãããå·¡å**
* **Local Listã«ãããã³ãã€ã³ãã®å²ã蟌ã¿ãã¹ã**
* **VRAMçŽå°ã»ãã£ãã·ã¥ãŒãã®è¶
軜éãã¬ãã¥ãŒïŒSSDæ©èãŒãïŒ**
* **ðç¥ïŒgod!ïŒãå«ã5è²ã®ã¹ããŒã¿ã¹ã¿ã°ã«ããå·åŸ¹ãªæ Œä»ã**
* **ãã¬ãã¥ãŒç»é¢ããã®ã倱æç»åããã€ã¬ã¯ãç©çåé€ïŒ**
* **ç¥ç»åãããã§ãã¯ãã€ã³ãã®ä»£è¡šãµã ãã€ã«ãã«ã¯ã³ã¯ãªãã¯èšå®ïŒ**
* **ã¿ãã¬ããããé éã§ã¿ã°ãæãŠãå èœã®ãDirectLinkãã¢ãŒãïŒ**
* **誀çãé²ããdeleteïŒåé€äºçŽïŒããã¥ãŒã·ã¹ãã ïŒãµã ãã€ã«ãäžç·ã«éé£ãããïŒïŒ**
* **è©äŸ¡çµæã«å¿ããåçãªå·¡åãã£ã«ã¿ãªã³ã°**
* **ComfyUIã®åèµ·åãäžåèŠæ±ããªããRefresh Allãžã®å®å
šè¿œåŸïŒå®è¡æé
延解決ïŒ**
* **ã¡ã€ã³ã®çæãå
šåçŸèµ°ããããŸãŸãå¥ã¿ãã§åªé
ã«æ£åžããè¡ãéåæãã«ãã¿ãéçš**
> ç¶ããããŸããããªå€ãªãã®ãã»ã»ã»
---
## â ããã¯äœãªã®ãïŒïŒWhat is this?ïŒ
**ãããªãã®Checkpointèªã¿èŸŒã¿ããŒãã«æ©èœã远å ãããã©ãã¯ã¹ãªã¬ãã¥ãŒãã¹ã¯ä»ãã®è±ªè¯ãªãžã¥ãŒã¯ããã¯ã¹ã«ããŸããã**
倧éã®ã¢ãã«ããã ã®ãè¥å€§åããããŒã¿ãã¡ã€ã«ããšããŠç¡æ©è³ªã«æ±ãæä»£ã¯çµãããŸããã
ãã®Suiteãå°å
¥ããç¬éãããªãã®ComfyUIç°å¢ã¯ãäžçäžã®ç¥ã¢ãã«ãã¡ãç¹ããªããæ¥µäžã®AIã¢ãŒãã»ãžã¥ãŒã¯ããã¯ã¹ããžãšå€è²ããŸãã
ãŠãŒã¶ãŒïŒããªãïŒãè¡ãã®ã¯ããæ°ã«å
¥ãã®åç€ïŒCheckpointïŒãéžã¶ããšã ãã
å¯ãŠããéã«èªåã§ã¬ã³ãŒããåãæ¿ããïŒCyclerïŒã
åãåºãããæ¥µäžã®ã¡ããã£ïŒç»åïŒãç®ã®åã§æ¥œãã¿ãªããïŒPreviewïŒã
ã絶察ç¥ïŒðïŒãã®ãã¬ã€ãªã¹ããäœããããã®å Žã§ã代衚ãµã ãã€ã«ãã«äžæžãèšå®ããããäžèŠãªå€±æç»åãæ¶ãé£ã°ããããããã¯ã¢ãã«ããšãæ£åžãïŒðïŒãã«ãããã1ã¯ãªãã¯ã§ãžã£ããžããã
ããã¯ãã¹ãã¬ãŒãžé£æ°ãææžããã¢ãã«ã®åœã®éžå¥ãã²ãŒã æèŠã§è¡ãããã«çãŸãããäžçã§æãèŽ
æ²¢ãªãã¢ã»ããã»ãœã ãªãšã·ã¹ãã ããªã®ããïŒ
---
## ð å
·äœçãªäœ¿ç𿹿³ïŒHow to UseïŒ
ãèªåå·¡åã©ã€ã³ãã©ãçµããïŒããçæã1ç§ãæ¢ããã«ãå¥ã¿ãã®ç¹çåžã§åªé
ã«ç®èŠæ€åïŒæ£åžãïŒããçŠæã®ãã«ãã¿ãéçšã®ç§èš£ãšã¯ïŒããªã©ã宿Šã«å³ãã詳现ãªã¹ããããã€ã¹ãããã¯ã以äžã®éå°æžãéããè¯ããïŒ
* ð¹ **[詳现ãªäœ¿ç𿹿³ã»ã©ã€ãããã¯ã¯ãã¡ãïŒHOW_TO_USE.ja.md](HOW_TO_USE.ja.md)**
* ð€ **[Checkpointè©äŸ¡ã®Export / Import](CheckpointTagExportImport.ja.md)**
---
## ð æ§æèŠçŽ ã®èª¬æïŒThe Four SistersïŒ
æããªããžããªãæ¯ãããã·ã£ããŠã¬ãŒãã³ã®åºåïŒ4人ã®çæ¿åšãã¡ãš5ã€ã®éå°å
·ïŒã玹ä»ãããããããããåºæã®åœ¹å²ãæã¡ããã¬ãã®ComfyUIïŒèäœïŒãšè³å
ã§éåæã«ãªã³ã¯ããŠããã®ããïŒ
éåžžã®4ããŒãã¯`HandpickerSuite`çŽäžãPreviewç³»2ããŒãã¯`HandpickerSuite / Preview`ãã远å ã§ããã
### 1. ð€ [Checkpoint Name CyclerïŒå¿èïŒ](CheckpointNameCycler.md)
ããã¯ã°ã©ãŠã³ãã§äœçŸä»¶ãã®ãžã§ãããã³ã¹ãããã§çèµ°ãããããã®ååæºããã
* `fixed`ïŒåºå®ïŒã`increment`ïŒé 次ïŒã`randomize`ïŒã©ã³ãã ïŒããããŠå
šã¢ãã«ã1æã®ãããã«ããŠã·ã£ããã«ããéè€ãªãã§åŒãåã `shuffle_once` ã®4ã¢ãŒããå®åã
* KSamplerãžã¢ãã«ãæž¡ãçŽåã®ãã§ãŒãºã§Checkpointåãåçã«æ³šå
¥ããããžã§ãã®å®è¡æé
延解決ïŒLazy ResolutionïŒããæèŒã
* ããã«ãçŸåšã®ã€ã³ããã¯ã¹ãæ±ããã«ç¹å®ã®ã¢ãã«ãæåªå
ã§å²ã蟌ãŸããç·æ¥ã¬ãŒã³ãLocal Listãããå¶åŸ¡ãããæ¬Suiteã®æåéãã®ãå¿èãããã
### 2. ð [Checkpoint List SelectorïŒé è³ïŒ](CheckpointListSelector.md)
ãªããžããªå
ã®å
šã¢ãã«ãäžæã«çµ±æ¬ããç¶æ³ã«å¿ããŠåœ¹å²ã3å€åãããåžä»€å¡ãžãšè¶
çµ¶é²åãéãããïŒ
* æ¥ç¶å
ããªãæã¯ **`ð¹ Push to Local List`** ãšããŠæ©èœããCyclerãžå²ãèŸŒã¿æ²ãéã蟌ãã
* ç®ïŒPreviewïŒãšãªã³ã¯ããç¬éãUIåçžåæã¢ãŒãã§ãã **`ð¯ Sync Checkpoint`** ãžãšåçã«èŠéããïŒ
* 峿ïŒTaggerïŒã®ã¿ãšçŽçµãããšãå€éšã¬ãã¥ãŒçšã® **`ð DirectLink ON / ð OFF`** ãã¿ã³ãåºçŸããã®ããïŒ
* ãã¡ãããæ°ã¢ãã«ã®è¿œå ãç©çåé€ã®çµæãã**ComfyUIã®åèµ·åãªãã§1ç§ã§åæãã `ð Refresh All` ã¢ããªãã£**ãå¥åšãããããŠã¹ãããŒã§ãµã ãã€ã«ããã¥ã³ããšæµ®ãã³äžããæŽèœãæ©èœã远å ããããïŒ
### 3. ð [Checkpoint Status TaggerïŒå³æïŒ](CheckpointStatusTagger.md)
ç»åãèŠãªãããã¢ãã«ã«å¯ŸããŠå·åŸ¹ãã€ç¬æã«æ Œä»ãïŒã¬ã€ãã£ã³ã°ïŒãè¡ãå·è¡å®ããã
* v0.2.0ã§çµ¶å¯Ÿç¥ããš `god!(ð)` ãéèšïŒ ãã¿ã³ã¯ `god(ð)` / `favorite(ð)` / `nice(ð)` / `keep(â)` / `delete(ð)` ã®5ã€ã«å¢åŒ·ããããïŒïŒ`none` ã¯ãã°ã«ã§è§£é€ïŒã
* ãðãðãðãâãã€ããŠããéã¯ãdeleteãã¿ã³ãç©ççã«ã°ã¬ãŒã¢ãŠããããµãŒããŒåŽã§ã絶察ã«åé€äºçŽã匟ãããšããã誀çã100%èš±ããªãéå£ã®ã»ãŒããã£ããªããŒã·ã§ã³ã峿ã®èªãã«ãããŠãç¥ã¢ãã«ã絶察ã«èŠæšãŠã¬èšèšããïŒ
### 4. ð [Ephemeral Preview](EphemeralPreview.md) ïŒ [ImageDir PreviewïŒç®ïŒ](ImageDirPreview.md)
ã€ã³ãžã§ã¯ã·ã§ã³ãããæ
å ±ãšã¹ãã¬ãŒãžããããã§éæ¢ç¥ãããSuiteã®ãç¶²èããããv0.2.0ã§ã³ã€ããäžçªã€ããé²åãéãããïŒ
* **Ephemeral Preview:** äžéçæã©ã€ã³ã§ãä»ãŸãã«ç»åãåãåºããŠããã¢ãã«ã®ååããããã³ããšã³ãã®ã¿ãããŒã«ã«ãªå®è¡ç¶æ
ããæ€ç¥ããŠçŸããã©ããªã³ã°è¡šç€ºããã
* **ImageDir Preview:** æ£åžãã¢ãŒãã®äž»åœ¹ãSelectorã§ã¢ãã«ãéžãã ç¬éãéå»ã«åºåããç»åïŒãµããã©ã«ãå«ãïŒãé«éã¹ãã£ã³ããã³ã³ã¿ã¯ãã·ãŒããšããŠãã£ã³ãã¹ãžäžç¬ã§å±éããã
* **ãç¥æ©èœã** ãã¬ãã¥ãŒãããç»åãå·Šã¯ãªãã¯ããŠã¿ãïŒ ãªããšã¢ã¯ã·ã§ã³ã¡ãã¥ãŒãéãã®ããïŒ
* **`Delete image`**: ããããã«å€±æç»åããç©çåé€ïŒçŽæ¥æ¶å»ïŒãã§ããïŒã¬ãã¥ãŒããªãããŽãæé€ãæãã®ããïŒ
* **`Set as checkpoint thumbnail`**: æ°ã«å
¥ã£ãç»åãããã®å Žã§ããã§ãã¯ãã€ã³ãã®ä»£è¡šãµã ãã€ã«ãã«äžæžãèšå®ã§ããïŒããCivitaiããããããç»åãèœãšãå¿
èŠã¯ãªãã®ããïŒ
---
## ð± ã¿ãã¬ããã§å¯è»¢ããã¬ãã¥ãŒïŒïŒãDirectLinkã¢ãŒãã
v0.2.0ã®ç®çæ©èœããïŒãããããComfyUIã®çããã¬ãã¥ãŒç»é¢ã§ããããèŠãã®ã¯ç²ããïŒããšãããã¬ãã®ããã«çšæãããã
`Checkpoint List Selector` ã `ImageDir Preview` ã«ç¹ãããçŽæ¥ `Checkpoint Status Tagger` ã«ã ãç¹ãã§ã¿ãã
ãããšãã¿ã³ã **`ð DirectLink OFF`** ã«å€ããã
ãããONïŒðïŒã«ããã°ããã¬ãã¯iPadãå€éšã®ç»åãã¥ãŒã¢ãå
±æãã©ã«ãã§ãã«ã¹ã¯ãªãŒã³ã§çæç»åãæ¥œãã¿ãªãããPCåŽã®ComfyUIã§ãããããšãªã¹ãããéžãã§ã¿ã°ãæã€ã ãã§è¯ããªãã®ããïŒ
å èœã®æ¥µã¿ãããïŒ ãŸãã«ç¹çåžã§ã®ãœã ãªãšãã£ãããïŒ
---
## ðš å
¬åŒã€ã³ãã©ã°ã©ãã£ãã¯ïŒHandpickerSuiteã®ãã¹ãŠïŒ
ããããé ïŒ4人åšãã¡ã®å®ç§ãªåžé£ãããŒãå士ã®ã€ãªããããããŠåœŒå¥³ãã¡ã®æ¯ã®åã£ã飿ºïŒã¯ãŒã¯ãããŒïŒã®ãã¹ãŠãããã®1æã®çµµã«åçž®ãããããšããšèŠããè¯ãããïŒïŒïŒ
* **List, cycle, tag, preview ââ four parts, one workflow.**
* ïŒãªã¹ãããå·¡åããã¿ã°æã¡ãããã¬ãã¥ãŒãã ââ 4ã€ã®ããŒãã1ã€ã®ã¯ãŒã¯ãããŒãïŒ
---
## ð åé€äºçŽã®æçµå·è¡ã«ã€ããŠ
Taggerã§ `deleteïŒðïŒ` ãæŒããã¢ãã«ã¯ããã®å Žã§ã¯ç©çåé€ããããå®å
šã®ããã«ãã³ãã©ãªã® `checkpoint_delete_queue.jsonl` ã«äºçŽãã¥ãŒãšããŠèç©ãããã
ãããäœæ¥ããã¹ãŠçµãã£ãããèªåçæãããŠããå®å
šå·è¡ã¹ã¯ãªãã `delete_reserved_checkpoints.py` ãã³ã³ãœãŒã«ããå®è¡ãã察話çã« `(y/N)` ã§ããŒãžããã°SSDã®å®¹éè§£æŸã¯å®äºããïŒãã¡ãããComfyUIã®åèµ·åã¯äžèŠãããã
**v0.2.0ããã¯ããªããšèšå®ãããµã€ãã«ãŒãµã ãã€ã«ç»åïŒ.jpgãªã©ïŒãè³¢ãäžç·ã«æ¶ãå»ã£ãŠããã**ããã«ãªã£ããïŒããªã²ãšã€æ®ãã¬åŸ¹åºã¶ãããïŒ
---
## æšå¥šåºåããŒã
- [`ComfyUI-GMImageSaver`](https://github.com/ruminar/ComfyUI-GMImageSaver)
- [`ComfyUI-PillowImageSaver`](https://github.com/ruminar/ComfyUI-PillowImageSaver)
ã©ã¡ããCheckpointã¬ãã¥ãŒåãã«åããã¡ã€ã«åèŠåã»ãã£ã¬ã¯ããªèŠåã§ä¿åãããããç°å¢ã«åãããŠå¥œããªæ¹ãéžã¹ãããã«ãªã£ãŠããã®ããïŒ
ããããã¯ããã¡ãã`GraphicsMagick`å©çšçãããªïŒãïŒæ³šïŒ`GraphicsMagick`ã®å¥éã€ã³ã¹ããŒã«ãå¿
èŠã§ãïŒ
å€éšã³ãã³ããªãã§äœ¿ãããå Žåã¯ã`ComfyUI-PillowImageSaver`ã䜿ããšãããã
ãããã®ããŒãã䜿çšããå Žåã`ckpt_name_safe` ãã`ImageSaver` ã® `label` å
¥åã«ç¹ãã®ããã
ãããšçæãããç»åã¯ãã§ãã¯ãã€ã³ããåæ ãããã¡ã€ã«åããã£ã¬ã¯ããªã§ä¿åãããåŸã§Checkpointã®è©äŸ¡ã®éã«åç
§ã§ããããã«ãªãã®ããïŒ
---
## ð ã©ã€ã»ã³ã¹
æ¬Suite㯠**GPL-3.0ïŒComfyUIæ¬äœã®æã«åŸã£ãŠãããïŒïŒ** ã®ããšã§äžçã«å
¬éãããŠãããé°ã®å¡æºããè¯èã®ç¯å²ã§èªç±ã«äœ¿ãåããããïŒ
---
### 0.3.0宣äŒç»å
ã¿ã°ã®Export/Importæ©èœãã€ããŸããã/output/CheckpointHandpickerSuite/ ã«JSONãã¡ã€ã«ãäœæãããŸãã
### äºåç»å
æ§æèŠçŽ ç»åå¥ããŒãžã§ã³