Buckets:
| # å²åŠ | |
| ð§š Diffusers ã¯ã**æå 端ã®**äºååŠç¿æžã¿æ¡æ£ã¢ãã«ããè€æ°ã®ã¢ããªãã£ã«ããã£ãŠæäŸããŠããŸãããã®ç®çã¯ãæšè«ãšåŠç¿ã®äž¡æ¹ã«ãããŠ**ã¢ãžã¥ãŒã«åãããããŒã«ããã¯ã¹**ãšããŠæ©èœããããšã§ãã | |
| ç§ãã¡ã¯ãé·æçãªä¿¡é Œæ§ãåããã©ã€ãã©ãªãæ§ç¯ããããšãç®æšãšããŠããããã®ããAPIèšèšãéåžžã«éèŠããŠããŸãã | |
| èŠããã«ãDiffusersã¯PyTorchã®èªç¶ãªæ¡åŒµãšããŠæ§ç¯ãããŠããŸãããã®ãããç§ãã¡ã®èšèšäžã®å€æã®å€ãã¯[PyTorchã®èšèšåå](https://pytorch.org/docs/stable/community/design.html#pytorch-design-philosophy)ã«åºã¥ããŠããŸããæãéèŠãªãã€ã³ããããã€ãèŠãŠãããŸãããã | |
| ## 䜿ãããããæ§èœããåªå | |
| - Diffusersã«ã¯å€ãã®ããã©ãŒãã³ã¹åäžæ©èœãçµã¿èŸŒãŸããŠããŸããïŒ[æé©åãšã¹ã±ãŒãªã³ã°](../optimization/overview)ãåç §ïŒãã¢ãã«ã¯åžžã«æé«ç²ŸåºŠãã€æäœéã®æé©åã§èªã¿èŸŒãŸããŸãããããã£ãŠããŠãŒã¶ãŒãæç€ºçã«å®çŸ©ããªãéããããã©ã«ãã§ã¯æ¡æ£ãã€ãã©ã€ã³ã¯CPUäžã§float32粟床ã§ã€ã³ã¹ã¿ã³ã¹åãããŸããããã«ãããç°ãªããã©ãããã©ãŒã ãã¢ã¯ã»ã©ã¬ãŒã¿ãŒéã§å©çšå¯èœã§ãããã©ã€ãã©ãªãå®è¡ããããã«è€éãªã€ã³ã¹ããŒã«ãäžèŠã§ããããšãä¿èšŒãããŸãã | |
| - Diffusers ã¯**軜éãª**ããã±ãŒãžã§ããããšãç®æããŠãããå¿ é ã®äŸåé¢ä¿ã¯éåžžã«å°ãªãã§ããã`accelerate`ã`safetensors`ã`onnx` ãªã©ãããã©ãŒãã³ã¹ãåäžãããããšãã§ããå€ãã®ä»»æã®äŸåé¢ä¿ããããŸããä»ã®ããã±ãŒãžãžã®äŸåé¢ä¿ãšããŠã倧ããªæžå¿µãªã远å ã§ããããã«ãã©ã€ãã©ãªãã§ããã ã軜éã«ä¿ã€ããåªããŠããŸãã | |
| - Diffusersã§ã¯ãåçž®ãããããžãã¯ãªã³ãŒãããããã·ã³ãã«ã§èªå·±èª¬æå¯èœãªã³ãŒããåªå ããŠããŸãããã®ãããã©ã ã颿°ãªã©ã®ççž®èšæ³ããé«åºŠãªPyTorchæŒç®åã¯ãå€ãã®å ŽåæãŸãããããŸããã | |
| ## ã·ã³ãã«ã§ãããã | |
| PyTorchãè¿°ã¹ãŠããããã«ã**æç€ºçã§ããããšã¯æé»çã§ããããšããè¯ã**ããããŠ**åçŽã§ããããšã¯è€éã§ããããšããè¯ã**ã§ãããã®èšèšææ³ã¯ãã©ã€ãã©ãªã®è€æ°ã®éšåã«åæ ãããŠããŸãã | |
| - PyTorch ã® API ã«åŸãã[`DiffusionPipeline.to`](../api/pipelines/overview#diffusers.DiffusionPipeline.to) ã®ãããªã¡ãœãããæäŸããããšã§ããŠãŒã¶ãŒãããã€ã¹ç®¡çãåŠçã§ããããã«ããŠããŸãã | |
| - 誀ã£ãå ¥åãé»ã£ãŠä¿®æ£ããããããç°¡æœãªãšã©ãŒã¡ãã»ãŒãžãéåºããããšãæšå¥šãããŸããDiffusersã¯ãã©ã€ãã©ãªãã§ããã ã䜿ããããããããšãããããŠãŒã¶ãŒã«åŠç¿ãããããšãç®çãšããŠããŸãã | |
| - è€éãªã¢ãã«ãšã¹ã±ãžã¥ãŒã©ã®ããžãã¯ãå éšã§èªåçã«åŠçãããã®ã§ã¯ãªããæç€ºçã«å ¬éãããŠããŸããScheduler/Samplerã¯æ¡æ£ã¢ãã«ããåé¢ãããŠãããçžäºã®äŸåé¢ä¿ã¯æå°éã«æããããŠããŸããããã«ããããŠãŒã¶ãŒã¯å±éãããããã€ãžã³ã°ã«ãŒããèªåã§èšè¿°ããå¿ èŠããããŸãããã ãããã®åé¢ã«ãããããã°ã容æã«ãªããããã€ãžã³ã°ããã»ã¹ã®é©å¿ãæ¡æ£ã¢ãã«ããã³ã¹ã±ãžã¥ãŒã©ã®åãæ¿ãã«ãããŠããŠãŒã¶ãŒã«ããå€ãã®å¶åŸ¡ãå¯èœã«ãªããŸãã | |
| - æ¡æ£ãã€ãã©ã€ã³ã®åå¥ã«åŠç¿ãããã³ã³ããŒãã³ãã*äŸãã°*ããã¹ããšã³ã³ãŒããŒãunetãå€åãªãŒããšã³ã³ãŒããŒã¯ãããããç¬èªã®ã¢ãã«ã¯ã©ã¹ãæã¡ãŸããããã«ããããŠãŒã¶ãŒã¯ç°ãªãã¢ãã«ã³ã³ããŒãã³ãéã®çžäºäœçšãåŠçããå¿ èŠããããã·ãªã¢ã©ã€ãºåœ¢åŒã§ã¯ã¢ãã«ã³ã³ããŒãã³ããç°ãªããã¡ã€ã«ã«åé¢ãããŸãããã ããããã«ãããããã°ãã«ã¹ã¿ãã€ãºã容æã«ãªããŸããDreamBoothãTextual Inversionã®åŠç¿ | |
| Diffusersã¯æ¡æ£ãã€ãã©ã€ã³ã®åäžã³ã³ããŒãã³ããåé¢ã§ãããããéåžžã«ã·ã³ãã«ã§ãã | |
| ## 調æŽå¯èœã§ãã³ã³ããªãã¥ãŒã¿ãŒãã¬ã³ããªãŒãªæœè±¡å | |
| ã©ã€ãã©ãªã®å€§éšåã«ãããŠãDiffusers 㯠[Transformers ã©ã€ãã©ãª](https://github.com/huggingface/transformers) ã®éèŠãªèšèšååãæ¡çšããŠããŸããããã¯ãæ¥ãè¶³ã§æœè±¡åãè¡ãããããã³ãŒãã®ã³ããŒ&ããŒã¹ããåªå ãããšãããã®ã§ãããã®èšèšååã¯éåžžã«åŒ·ã䞻匵ãå«ãã§ããã[DRYïŒDon't Repeat YourselfïŒ](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) ãšãã£ãäžè¬çãªèšèšååãšã¯å¯Ÿç §çã§ããèŠããã«ãTransformers ãã¢ããªã³ã°ãã¡ã€ã«ã«å¯ŸããŠè¡ã£ãŠããã®ãšåæ§ã«ãDiffusers ããã€ãã©ã€ã³ãšã¹ã±ãžã¥ãŒã©ã«å¯ŸããŠã極ããŠäœãæœè±¡åºŠãšéåžžã«èªå·±å®çµçãªã³ãŒããç¶æããããšã奜ã¿ãŸãã颿°ãé·ãã³ãŒããããã¯ãå Žåã«ãã£ãŠã¯ã¯ã©ã¹èªäœãè€æ°ã®ãã¡ã€ã«éã§ã³ããŒããããããäžèŠãããšãã©ã€ãã©ãªãã¡ã³ããã³ã¹äžèœã«ãããããªç²æ«ã§äžé©åãªèšèšéžæã«èŠãããããããŸããã**ããã**ããã®èšèšã¯ Transformers ã«ãããŠæ¥µããŠæåãåããŠãããã³ãã¥ããã£äž»å°ã®ãªãŒãã³ãœãŒã¹æ©æ¢°åŠç¿ã©ã€ãã©ãªã«ãšã£ãŠéåžžã«çã«ããªã£ãŠããŸãããã®çç±ã¯ä»¥äžã®éãã§ãã | |
| - æ©æ¢°åŠç¿ã¯ããã©ãã€ã ãã¢ãã«ã¢ãŒããã¯ãã£ãã¢ã«ãŽãªãºã ãæ¥éã«å€åããéåžžã«åãã®éãåéã§ããããã®ããé·æçã«æç¶å¯èœãªã³ãŒãã®æœè±¡åãå®çŸ©ããããšãéåžžã«å°é£ã§ãã | |
| - æ©æ¢°åŠç¿ã®å®åè ã¯ãã¢ã€ãã¢åºããç ç©¶ã®ããã«æ¢åã®ã³ãŒããçŽ æ©ã調æŽã§ããããšã奜ããããå€ãã®æœè±¡åãå«ãã³ãŒãããããèªå·±å®çµåã®ã³ãŒãã奜ã¿ãŸãã | |
| - ãªãŒãã³ãœãŒã¹ã®ã©ã€ãã©ãªã¯ã³ãã¥ããã£ã®è²¢ç®ã«äŸåããŠãããããè²¢ç®ããããã©ã€ãã©ãªãæ§ç¯ããå¿ èŠããããŸããã³ãŒããæœè±¡çã§ããã°ããã»ã©ãäŸåé¢ä¿ãå¢ããèªã¿è§£ãã®ãé£ãããªããè²¢ç®ãã«ãããªããŸããè²¢ç®è ã¯ãéèŠãªæ©èœãå£ããŠããŸãããšãæããéåžžã«æœè±¡åºŠã®é«ãã©ã€ãã©ãªãžã®è²¢ç®ãæ¢ããŠããŸãåŸåããããŸããã©ã€ãã©ãªãžã®è²¢ç®ãä»ã®åºæ¬çãªã³ãŒããå£ããªã¹ã¯ããªããã°ãæœåšçãªæ°èŠè²¢ç®è ã«ãšã£ãŠåå ãããããªãã ãã§ãªããè€æ°ã®éšåãžã®ã¬ãã¥ãŒã䞊è¡ããè²¢ç®ããããããªããŸãã | |
| Hugging Face ã§ã¯ããã®èšèšã**åäžãã¡ã€ã«ããªã·ãŒ**ãšåŒã³ãããã¯ã©ã¹ã®ã³ãŒãã®ã»ãšãã©ã¯ãåäžã®èªå·±å®çµåãã¡ã€ã«ã«èšè¿°ãããã¹ãã§ããããšãæå³ããŸãããã®å²åŠã«ã€ããŠè©³ããç¥ãããå Žåã¯ã[ãã®ããã°èšäº](https://huggingface.co/blog/transformers-design-philosophy)ãã芧ãã ããã | |
| Diffusersã§ã¯ããã€ãã©ã€ã³ãã¹ã±ãžã¥ãŒã©ãã¢ãã«ã®ãã¹ãŠã«ãããŠããã®å²åŠãèžè¥²ããŠããŸãããã®æ £äŸããåã«ç»å Žããäžéšã®å€ãã¢ãã«ã¯ãã®ãŸãŸã®åœ¢ã§ç¶æãããŠããŸããããã¹ãŠã®æ°ããã¢ãã«ã¢ãŒããã¯ãã£ã¯ãèªå·±å®çµåã®åå¥ãã¡ã€ã«ã«é 眮ãããŠããŸãã詳现ã¯ã以äžã®[Models](#models)ã»ã¯ã·ã§ã³ãåç §ããŠãã ããã | |
| çŽ æŽãããã§ãããããã§ãð§š Diffusers ããªããã®ããã«èšèšãããŠããã®ãããã®çç±ãæŠããçè§£ããã ãããšæããŸã ð€ãç§ãã¡ã¯ããããã®èšèšååãã©ã€ãã©ãªå šäœã«äžè²«ããŠé©çšããŠããŸãããã ãããã®å²åŠã«å¯ŸããäºçްãªäŸå€ããæ®å¿µãªãã奜ãŸãããªãã£ãèšèšå€æãååšããç®æããããŸããèšèšã«é¢ãããã£ãŒãããã¯ãããã ããã°ã[GitHub äžã§çŽæ¥](https://github.com/huggingface/diffusers/issues/new?assignees=&labels=&template=feedback.md&title=)ãèããããã ããã° â€ïž 幞ãã§ãã | |
| ## èšèšææ³ã®è©³çް | |
| 次ã«ãèšèšææ³ã®è©³çްãªç¹ã«ã€ããŠèª¬æããŸããDiffusersã§ã¯ã[ã¢ãã«](https://github.com/huggingface/diffusers/tree/main/src/diffusers/models)ãš[ã¹ã±ãžã¥ãŒã©](https://github.com/huggingface/diffusers/tree/main/src/diffusers/schedulers)ãå®è¡å¯èœãªã¯ãŒã¯ãããŒãšããŠæ§æãã2ã€ã®æ¹æ³ãæäŸãããŠããŸãã1ã€ã¯ã1ã€ã®ãã€ãã©ã€ã³ã¯ã©ã¹ããšã«1ã€ã®ã¿ã¹ã¯ãåŠçããåäžæ§é ã®æšæºçãª[ãã€ãã©ã€ã³](https://github.com/huggingface/diffusers/tree/main/src/diffusers/pipelines)ã§ãããã1ã€ã¯ããããã¯ããŒã¹ã§çµã¿åããå¯èœãªModular Diffusersã§ãã以äžã®ã»ã¯ã·ã§ã³ã§ã¯ããã€ãã©ã€ã³ãã¢ãžã¥ã©ãŒãã€ãã©ã€ã³ãã¢ãã«ãã¹ã±ãžã¥ãŒã©ã«ã€ããŠé ã«èª¬æããŸãã | |
| ### ãã€ãã©ã€ã³ | |
| Pipelines ã¯ãæšæºåã§ãã¢ãžã¥ã©ãŒåã§ããæšè«ã®ã¿ãç®çãšããŠããŸãã䜿ãããããéèŠããŠèšèšãããŠããããïŒ[Simple over easy](#simple-over-easy) ã 100% ã«ã¯åŸã£ãŠããŸããïŒãèªã¿ããããèªå·±å®çµçã§ã調æŽã容æã§ããã[models](#models) ãš [schedulers](#schedulers) ã®äœ¿ãæ¹ã®äŸãšããŠæããã®ãæãé©åã§ããæ©èœã¯å®å šã§ã¯ãããŸãããDiffusers ãåºç€ãšããŠæ©èœã®æã£ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããã«ã¯ã[Modular Diffusers](../modular_diffusers/overview) ã䜿çšããŠãã ããã | |
| 以äžã®èšèšååãéµå®ãããŠããŸã: | |
| - Pipelines follow the single-file policy. All pipelines can be found in individual directories under src/diffusers/pipelines. One pipeline folder corresponds to one diffusion paper/project/release. Multiple pipeline files can be gathered in one pipeline folder, as itâs done for [`src/diffusers/pipelines/stable-diffusion`](https://github.com/huggingface/diffusers/tree/main/src/diffusers/pipelines/stable_diffusion). If pipelines share similar functionality, one can make use of the [# Copied from mechanism](https://github.com/huggingface/diffusers/blob/125d783076e5bd9785beb05367a2d2566843a271/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py#L251). | |
| - ãã¹ãŠã®Pipelinesã¯[DiffusionPipeline](/docs/diffusers/main/ja/api/pipelines/overview#diffusers.DiffusionPipeline)ãç¶æ¿ããŠããŸãã | |
| - ãã¹ãŠã®ãã€ãã©ã€ã³ã¯ã[`model_index.json` ãã¡ã€ã«](https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/blob/main/model_index.json)ã«ããã¥ã¡ã³ãåãããç°ãªãã¢ãã«ãšã¹ã±ãžã¥ãŒã©ã®ã³ã³ããŒãã³ãã§æ§æãããŠããããã€ãã©ã€ã³ã®å±æ§ãšããŠååã§ã¢ã¯ã»ã¹ã§ãã[`DiffusionPipeline.components`](../api/pipelines/overview#diffusers.DiffusionPipeline.components) 颿°ãçšããŠãã€ãã©ã€ã³éã§å ±æã§ããŸãã | |
| - ãã¹ãŠã®ãã€ãã©ã€ã³ã¯ã[`DiffusionPipeline.from_pretrained`](../api/pipelines/overview#diffusers.DiffusionPipeline.from_pretrained) 颿°ã«ãã£ãŠèªã¿èŸŒããå¿ èŠããããŸãã | |
| - ãã¹ãŠã®ãã€ãã©ã€ã³ã«ã¯ã`__call__` ã¡ãœããçµç±ã§å®è¡ããããã®æ¹æ³ã1ã€ã ãããã€1ã€ã ãååšããå¿ èŠããããŸãã`__call__` ã®åŒæ°ã®åœåã¯ããã¹ãŠã®ãã€ãã©ã€ã³éã§äžè²«æ§ãæãããå¿ èŠããããŸãã | |
| - Pipelines ã¯ã解決ããããšããã¿ã¹ã¯ã«ã¡ãªãã§åœåãããã¹ãã§ãã | |
| ### ã¢ãžã¥ãŒã«å Diffusers | |
| Modular Diffusers ã¯ãæšæºçãªãã€ãã©ã€ã³ã®ä»£æ¿ãšããŠãã³ã³ããŒã¶ãã«ãªã¢ãããŒããæäŸããŸããåå©çšå¯èœãª*ãã€ãã©ã€ã³ãããã¯*ããã¯ãŒã¯ãããŒãæ§ç¯ããããããçµã¿åããã亀æãå ±æã§ããŸããæšæºçãªãã€ãã©ã€ã³ã¯ãã¢ãã«ãšã¹ã±ãžã¥ãŒã©ãŒã®äœ¿ç𿹿³ã瀺ãç·©ãããªåèäŸã§ããModular Diffusers ã¯ãDiffusers ã®äžã«æ©èœå®å šãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããã®æšå¥šãããæ¹æ³ã§ãããã³ãã¥ããã£ã忣çãªåœ¢ã§æ°ãããã€ãã©ã€ã³ãæ§ç¯ã»å ±æããããã®åºç€ã§ãã | |
| 以äžã®èšèšååãéµå®ãããŠããŸã: | |
| - Modular pipelines ã¯åäžãã¡ã€ã«ããªã·ãŒã«åŸããŸãããããã㯠[src/diffusers/modular_pipelines/](https://github.com/huggingface/diffusers/tree/main/src/diffusers/modular_pipelines) é äžã®ç¬èªã®ãã©ã«ãã«é 眮ããããã®ãã©ã«ãå ã§ã¯ãŒã¯ãããŒãã¹ããŒãžããšã«1ãã¡ã€ã«ãã€ã«åå²ããŸã: `encoders.py`ã`before_denoise.py`ã`denoise.py`ãããã³ `decoders.py`ãããã«2ã€ã®ãã¡ã€ã«ã§ãã€ãã©ã€ã³ã宿ããŸãã`modular_blocks_<model>.py` ãåã¹ããŒãžãçµã¿ç«ãŠã`modular_pipeline.py` ãã¢ãã«ããšã® [ModularPipeline](/docs/diffusers/main/ja/api/modular_diffusers/pipeline#diffusers.ModularPipeline) ãµãã¯ã©ã¹ãå®çŸ©ããŸããModular pipelines ã¯çžäºã«ã€ã³ããŒãããŸããã | |
| - åã¢ãžã¥ã©ãŒãã€ãã©ã€ã³ã¯ã[ModularPipelineBlocks](/docs/diffusers/main/ja/api/modular_diffusers/pipeline_blocks#diffusers.ModularPipelineBlocks) ã®éåãšããŠå®çŸ©ãããŸãããªãŒããããã¯ã¯ã¹ããŒãžãã¡ã€ã«ïŒ`encoders.py`ã`before_denoise.py`ã`denoise.py`ã`decoders.py`ïŒã«é 眮ããã`modular_blocks_<model>.py` ã§ã¯ [SequentialPipelineBlocks](/docs/diffusers/main/ja/api/modular_diffusers/pipeline_blocks#diffusers.SequentialPipelineBlocks) ã [AutoPipelineBlocks](/docs/diffusers/main/ja/api/modular_diffusers/pipeline_blocks#diffusers.AutoPipelineBlocks) ãšãã£ãã³ã³ããã¯ã©ã¹ãçšããŠãããããå®å šãªã¯ãŒã¯ãããŒã«çµã¿ç«ãŠãŸããããã«ããã`DiffusionPipeline combines` ã§æ··åšããŠãã2ã€ã®æŠå¿µãåé¢ãããŸãããããã¯ã¯çŽç²ãªå®çŸ©ã§ããå ¥åãåºåãã³ã³ããŒãã³ãã®äŸåé¢ä¿ã宣èšããŸãããéã¿ãä¿æãããåäœã§ã¯å®è¡ã§ããŸããã`.init_pipeline(repo_id)` ã§äœæããã [ModularPipeline](/docs/diffusers/main/ja/api/modular_diffusers/pipeline#diffusers.ModularPipeline) ã¯ãå®è¡å¯èœãªå¯Ÿå¿ç©ã§ãããããã¯ãã¹ããŒãã¬ã¹ãã€éã¿ãæããªãç¶æ ã«ä¿ã€ããšã§ãã¯ãŒã¯ãããŒéã§èªç±ã«çµã¿åããã亀æãå ±æã§ããããã«ãªããŸãã | |
| - æ°ããã¿ã¹ã¯ããµããŒãããã«ã¯ãã¿ã¹ã¯åºæã®ãããã¯ãäœæããæ¢åã®ãããã¯ãšçµã¿åããããããã¬ãã«ã®ãããã¯ã¢ã»ã³ããªã«ãã`_workflow_map`ã«ã¯ãŒã¯ãããŒãç»é²ããŸããåäžã®`ModularPipeline`ã¯ãããã¹ãããç»åãžã®å€æãç»åããç»åãžã®å€æãã€ã³ãã€ã³ãã£ã³ã°ãªã©ãè€æ°ã®ã¯ãŒã¯ãããŒããµããŒãã§ããŸããã`DiffusionPipeline`ã¯1ã€ã®ã¯ãŒã¯ãããŒã®ã¿ãå®è¡ããŸãã | |
| å®å šãªèšèšãšäœ¿çšã¬ã€ãã«ã€ããŠã¯ã[Modular Diffusers ããã¥ã¡ã³ã](../modular_diffusers/overview)ãåç §ããŠãã ããã | |
| ### ã¢ãã« | |
| ã¢ãã«ã¯ã[PyTorchã®Moduleã¯ã©ã¹](https://pytorch.org/docs/stable/generated/torch.nn.Module.html)ã®èªç¶ãªæ¡åŒµãšããŠèšèšããããèšå®å¯èœãªããŒã«ããã¯ã¹ã§ãã*åäžãã¡ã€ã«ããªã·ãŒ*ã«åŸãå¿ èŠããããŸãããã®æ £äŸããåã«äœæãããäžéšã®å€ãã¢ãã«ã¯ããã®ãŸãŸç¶æãããŠããŸãããããã¯æ°ããã¢ãã«ã§æš¡å£ãã¹ããã¿ãŒã³ã§ã¯ãªããã¬ã¬ã·ãŒãªäŸå€ãšããŠæ±ã£ãŠãã ãããäŸãã°ãå ã®[UNet2DConditionModel](/docs/diffusers/main/ja/api/models/unet2d-cond#diffusers.UNet2DConditionModel)ã¯ã©ã¹ã¯ãè€æ°ã®UNetããªãšãŒã·ã§ã³ã«äœ¿çšãããŠããŸããã | |
| 以äžã®èšèšååãéµå®ãããŠããŸã: | |
| - åã¢ãã«ã¢ãŒããã¯ãã£ã®ã¿ã€ãã¯ã[src/diffusers/models](https://github.com/huggingface/diffusers/tree/main/src/diffusers/models) é äžã®åå¥ã®ãã©ã«ãã«é 眮ãããŠããŸããäŸãã° [transformers/](https://github.com/huggingface/diffusers/tree/main/src/diffusers/models/transformers)ã[autoencoders/](https://github.com/huggingface/diffusers/tree/main/src/diffusers/models/autoencoders)ããŸã㯠[unets/](https://github.com/huggingface/diffusers/tree/main/src/diffusers/models/unets) ãªã©ã§ããåã¢ãã«ãã¡ããªãŒã«ã¯ããã®ãã©ã«ãå ã«å°çšã®ãã¡ã€ã«ãçšæãããŠããã[transformer_flux.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_flux.py) ã [transformer_wan.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/transformers/transformer_wan.py) ãªã©ã該åœããŸãã | |
| - ã¢ãã«ã¯åäžãã¡ã€ã«ããªã·ãŒã«åŸããŸããåã¢ãã«ãã¡ã€ã«ã¯èªå·±å®çµåã§ããã¹ãã§ãããã¿ã€ã ã¹ãããåã蟌ã¿ãæ£èŠåã¬ã€ã€ãŒãªã©ããã¹ãŠã®ã¢ãã«ãåäžã«äœ¿çšããæšæºã¢ãžã¥ãŒã«ã®å°æ°ãé€ããŸããããã㯠[embeddings.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/embeddings.py) ããã³ [normalization.py](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/normalization.py) ããã€ã³ããŒãããŠãã ããã | |
| - ã¢ãã«ã¯ãPyTorchã®`Module`ã¯ã©ã¹ãšåæ§ã«ãè€éããæç€ºçã«å ¬éããæç¢ºãªãšã©ãŒã¡ãã»ãŒãžãæäŸããããšãæå³ããŠããŸãã | |
| - ãã¹ãŠã®ã¢ãã«ã¯`ModelMixin`ãš`ConfigMixin`ãç¶æ¿ããŸãã | |
| - ã¢ãã«ã¯ãå€§å¹ ãªã³ãŒã倿Žãå¿ èŠãšãããåŸæ¹äºææ§ãä¿ã¡ãªãããã¡ã¢ãªãèšç®ãªãœãŒã¹ã«å€§ããªæ¹åãããããå Žåã«ãããã©ãŒãã³ã¹ã®æé©åãè¡ãããšãã§ããŸãã | |
| - ã¢ãã«ã¯ãããã©ã«ãã§æé«ç²ŸåºŠãã€æäœããã©ãŒãã³ã¹ã®èšå®ãæã€ã¹ãã§ãã | |
| - æ¢åã®ã¢ãã«ã¢ãŒããã¯ãã£ã«é¡äŒŒããæ°ããã¢ãã«ã¢ãŒããã¯ãã£ãçµ±åããã«ã¯ãæ¢åã®ãã¡ã€ã«ãã³ããŒããŠèµ·ç¹ãšããããã«åºã¥ããŠé©å¿ãããŸããåäžã®ãŸãŸã®ã¬ã€ã€ãŒã«ã¯ [`# Copied from`](./contribution#copied-from-mechanism) ã¢ãããŒã·ã§ã³ãä»äžãã`make fix-copies` ã«ãã£ãŠããããåæãããããã«ããŸãã | |
| ### ã¹ã±ãžã¥ãŒã©ãŒ | |
| **åäžãã¡ã€ã«ããªã·ãŒ**ãå³å¯ã«éµå®ããåå¥ã¯ã©ã¹ãšããŠèšèšãããŠãããèªã¿èŸŒã¿å¯èœãªèšå®ãã¡ã€ã«ãæã€ Scheduler ã¯ãæšè«æã®ãã€ãºé€å»ããã»ã¹ã®å¶åŸ¡ãšãåŠç¿æã®ãã€ãºã¹ã±ãžã¥ãŒã«ã®å®çŸ©ãæ åœããŸãã | |
| 以äžã®èšèšååãéµå®ãããŠããŸã: | |
| - ãã¹ãŠã®ã¹ã±ãžã¥ãŒã©ã¯ã[`src/diffusers/schedulers`](https://github.com/huggingface/diffusers/tree/main/src/diffusers/schedulers) ã«ãããŸãã | |
| - Scheduler ã¯å€§ã㪠utils ãã¡ã€ã«ããã®ã€ã³ããŒãã**èš±å¯ãããŠããŸãã**ãéåžžã«èªå·±å®çµåã«ä¿ãããå¿ èŠããããŸãã | |
| - 1ã€ã®ã¹ã±ãžã¥ãŒã©çšã®Pythonãã¡ã€ã«ã¯ã1ã€ã®ã¹ã±ãžã¥ãŒã©ã¢ã«ãŽãªãºã ïŒè«æãªã©ã§å®çŸ©ããããã®ïŒã«å¯Ÿå¿ããŸãã | |
| - ã¹ã±ãžã¥ãŒã©ãé¡äŒŒããæ©èœãæã€å Žåã`# Copied from` ã¡ã«ããºã ãæŽ»çšã§ããŸãã | |
| - ãã¹ãŠã® Scheduler 㯠`SchedulerMixin` ãš `ConfigMixin` ãç¶æ¿ããŠããŸãã | |
| - [`ConfigMixin.from_config`](../api/configuration#diffusers.ConfigMixin.from_config) ã¡ãœããã䜿çšããããšã§ãã¹ã±ãžã¥ãŒã©ãŒãç°¡åã«äº€æã§ããŸãã詳现ã¯[ãã¡ã](../using-diffusers/schedulers)ãåç §ããŠãã ããã | |
| - ãã¹ãŠã®ã¹ã±ãžã¥ãŒã©ã«ã¯ã`set_num_inference_steps` ãš `step` 颿°ãå¿ èŠã§ãã`set_num_inference_steps(...)` ã¯ããã¹ãŠã®ãã€ãºé€å»ããã»ã¹ã®åã«ã*ã€ãŸã* `step(...)` ãåŒã³åºãããåã«åŒã³åºãå¿ èŠããããŸãã | |
| - ãã¹ãŠã®ã¹ã±ãžã¥ãŒã©ã¯ã`timesteps` 屿§ãéããŠãã«ãŒãã§å埩ãããã¹ãã¿ã€ã ã¹ããããå ¬éããŸããããã¯ãã¢ãã«ãåŒã³åºãããã¿ã€ã ã¹ãããã®é åã§ãã | |
| - `step(...)` 颿°ã¯ãäºæž¬ãããã¢ãã«ã®åºåãšãçŸåšã®ããµã³ãã« (x_t) ãåãåãããåã®ãããããã«ãã€ãºé€å»ããããµã³ãã« (x_t-1) ãè¿ããŸãã | |
| - æ¡æ£ã¹ã±ãžã¥ãŒã©ãŒã®è€éãããã`step`颿°ã¯ãã¹ãŠã®è€éããå ¬éããŠããããããçš®ã®ããã©ãã¯ããã¯ã¹ãã«ãªãåŸãŸãã | |
| - ã»ãŒãã¹ãŠã®å Žåã«ãããŠãæ°ããã¹ã±ãžã¥ãŒã©ãŒã¯æ°ããã¹ã±ãžã¥ãŒãªã³ã°ãã¡ã€ã«ã«å®è£ ãããã¹ãã§ãã | |
Xet Storage Details
- Size:
- 21.4 kB
- Xet hash:
- 536c242006a54d8832f082ae5332c4d71de48adc00c0b4bb3d32a7a23e4d76f6
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.