Diffusers documentation
Diffusers ð§šãžã®è²¢ç®æ¹æ³
Diffusers ð§šãžã®è²¢ç®æ¹æ³
AIãšãŒãžã§ã³ãã䜿çšããŠã³ã³ããªãã¥ãŒãããå Žåã¯ãåœç€Ÿã®æåŸ ãšã¬ã€ãã©ã€ã³ãèšèŒããAIæ¯æŽããã³ãšãŒãžã§ã³ãã«ããã³ã³ããªãã¥ãŒãã»ã¯ã·ã§ã³ãå¿ ããèªã¿ãã ããã
ãªãŒãã³ãœãŒã¹ã³ãã¥ããã£ããã®è²¢ç®ãå¿ããæè¿ããŠããŸãïŒã©ãªãã§ãåå ã§ããã³ãŒãã«éãããããã圢ã®åå ãéå®ãããŠããŸãã質åãžã®åçãä»è ãžã®ãµããŒããã³ãã¥ããã£ãšã®ã€ãªããã¥ãããããã¥ã¡ã³ãã®æ¹åãªã©ããã¹ãŠãã³ãã¥ããã£ã«ãšã£ãŠéåžžã«äŸ¡å€ã®ãããã®ã§ãããã²ãææ¬²ãããã°é æ ®ãªãåå ããŠãã ããïŒ
ãŸãã¯ãç§ãã¡ã®ãããªãã¯ãªDiscordãã£ã³ãã«ã§ðãšæšæ¶ããããšããå§ãããŸããæ¡æ£ã¢ãã«ã®ææ°ãã¬ã³ãã«ã€ããŠè°è«ãããã質åãããããå人ãããžã§ã¯ããæ«é²ããããã³ã³ããªãã¥ãŒã·ã§ã³ã§äºãã«å©ãåã£ããããã ãªã©ãã¯ã¹ããŠéããããããŠããŸãâã
è²¢ç®ã®åœ¢ãåãããç§ãã¡ã¯ãªãŒãã³ã§ãæè¿ã®æ°æã¡ããããæãããã®ããã³ãã¥ããã£ã®äžå¡ã§ããããšãç®æããŠããŸããè¡åèŠç¯ããèªã¿ããã ããããåãã®éã«ãããå°éããŠãã ããããŸããç§ãã¡ã®ãããžã§ã¯ããå°ãå«çã¬ã€ãã©ã€ã³ã«ã粟éããåãéææ§ãšè²¬ä»»ã®ååã«åŸã£ãŠããã ãããšããå§ãããŸãã
ã³ãã¥ããã£ããã®ãã£ãŒãããã¯ãéåžžã«éèŠããŠããŸããã©ã€ãã©ãªã®æ¹åã«åœ¹ç«ã€ãšèãããã£ãŒãããã¯ããæã¡ã®å Žåã¯ãé æ ®ãªãã声ãããã ããããã¹ãŠã®ã¡ãã»ãŒãžãã³ã¡ã³ããIssueãPull Request (PR) ã¯ç¢ºèªãããæ€èšãããŸãã
æŠèŠ
issuesãdiscussionsã§ã®è³ªåãžã®åçãããã³ã¢ã©ã€ãã©ãªãžã®æ°ããæ¡æ£ã¢ãã«ã®è¿œå ãŸã§ãããŸããŸãªæ¹æ³ã§è²¢ç®ã§ããŸãã
以äžã§ã¯ãæéçã³ãããã¡ã³ãã®å°ãªãé ã«ãè²¢ç®ã®ç°ãªãæ¹æ³ã«ã€ããŠæŠèŠã説æããŸãããããã®æ¹æ³ãã³ãã¥ããã£ã«ãšã£ãŠäŸ¡å€ã®ãããã®ã§ãã
- GitHub DiscussionsãŸãã¯Discordã§è³ªåãåçãè¡ãããšã
- GitHub Issues ã¿ãã§æ°ããåé¡ã起祚ããããšã
- GitHubã®Issuesã¿ãã§åé¡ãåçããŸãã
- ãGood first issueãã©ãã«ãä»ããã·ã³ãã«ãªåé¡ãä¿®æ£ããŠãã ããã詳现ã¯ãã¡ããã芧ãã ããã
- ããã¥ã¡ã³ãã«è²¢ç®ããã
- Modular Diffusers ã䜿çšããŠãHub ã«ãªã¢ãŒãã³ãŒããšããŠãã€ãã©ã€ã³ãŸãã¯ã¢ãã«ãå ¬éããŸãã
- examplesã«è²¢ç®ããã
- ãGood second issueãã©ãã«ãä»ãããããé£ãã課é¡ãä¿®æ£ããŠãã ããã詳现ã¯ãã¡ããåç §ããŠãã ããã
- Diffusers MVPããã°ã©ã ãã課é¡ãåŒãåããŠãã ããã
- ã©ã€ãã©ãªã«æ°ãããã€ãã©ã€ã³ãã¢ãã«ããŸãã¯ã¹ã±ãžã¥ãŒã©ãŒã远å ããŸãããã®è²¢ç®ã«ã€ããŠã¯ãéåžžãã¢ãã«ã®èè ã®æ¹ã ãšçŽæ¥é£æºããŠäœæ¥ãé²ããŸããã³ãã¥ããã£ã®è²¢ç®è ã®æ¹ã¯ã代ããã«HubïŒ6ïŒããå§ããŠãã ããããªãŒãã³ãªãNew Pipeline/Modelãããã³ãNew schedulerãã®ã€ã·ã¥ãŒã確èªãããŸãDesign Philosophyããèªã¿ãã ããã
åè¿°ããããã«ããã¹ãŠã®è²¢ç®ã¯ã³ãã¥ããã£ã«ãšã£ãŠäŸ¡å€ã®ãããã®ã§ãã 以äžã§ã¯ãåè²¢ç®ã«ã€ããŠãã詳ãã説æããŸãã
è²¢ç®4ãã10ã«ã€ããŠã¯ãHubäžã«ååšãã6ãé€ããPRãéãå¿ èŠããããŸãããã®è©³çŽ°ãªæé ã¯ããã«ãªã¯ãšã¹ãã®äœæã§èª¬æãããŠããŸãã
1. GitHub Discussions ãŸã㯠Discord ã§è³ªåã»åçãè¡ã
Diffusersã©ã€ãã©ãªã«é¢ããã質åããæèŠã¯ãGitHub DiscussionsãŸãã¯Discordã§åãä»ããŠããŸãã察象ãšãªãã質åããæèŠã«ã¯ã以äžãå«ãŸããŸãïŒãã ãããããã«éå®ãããŸããïŒïŒ
- ç¥èã®å ±æãç®çãšããåŠç¿ãŸãã¯æšè«å®éšã®å ±å
- å人ãããžã§ã¯ãã®ç޹ä»
- éå ¬åŒãªãã¬ãŒãã³ã°äŸã«é¢ãã質å
- ãããžã§ã¯ãææ¡
- äžè¬çãªãã£ãŒãããã¯
- è«æã®æŠèŠ
- Diffusers ã©ã€ãã©ãªãåºç€ãšããŠæ§ç¯ããå人ãããžã§ã¯ãã«é¢ãããã«ãã®äŸé Œ
- äžè¬çãªè³ªå
- æ¡æ£ã¢ãã«ã«é¢ããå«ççãªåé¡
- âŠ
GitHub Discussions ã Discord ã§è³ªåããããã¹ãŠã®å 容ã¯ãã³ãã¥ããã£ãç¥èãå ¬éããŠå ±æããããšãç©æ¥µçã«ä¿ããå°æ¥åãçåãæã€åå¿è ã«ãšã£ãŠéåžžã«åœ¹ç«ã€å¯èœæ§ããããŸãããããããã«ãæ°ã«ãªã質åãã©ãã©ãæçš¿ããŠãã ããã åã粟ç¥ã§ããããã質åã«çããããšã¯ãç¥èãå ¬éããŠææžåãããã¹ãŠã®äººãåŠã¹ãããã«ãããããã³ãã¥ããã£ã«ãšã£ãŠéåžžã«å€§ããªå©ããšãªããŸãã
ãçæãã ããã質åãåçã«è²»ããåªåã倧ããã»ã©ãå ¬éãããŠããç¥èã®å質ã¯é«ããªããŸããåæ§ã«ãé©åã«èšå®ãããé©åã«åçããã質åã¯ã誰ã§ãã¢ã¯ã»ã¹ã§ããé«å質ãªç¥èããŒã¿ããŒã¹ãæ§ç¯ããŸãããäžé©åãªè³ªåãåçã¯ãå ¬éç¥èããŒã¿ããŒã¹å šäœã®å質ãäœäžãããŸãã èŠããã«ãé«å質ãªè³ªåãåçã¯ãæ£ç¢ºã§ãç°¡æœã§ãé¢é£æ§ããããçè§£ãããããã¢ã¯ã»ã¹ãããããé©åã«æžåŒèšå®ã»èšå®ãããŠãããã®ã§ãã詳现ã«ã€ããŠã¯ãè¯ã issue ã®æžãæ¹ã»ã¯ã·ã§ã³ãã芧ãã ããã
ãã£ã³ãã«ã«é¢ããæ³šæ: GitHub Discussions ã¯æ€çŽ¢ãšã³ãžã³ã«ã€ã³ããã¯ã¹ä»ããããåã¹ã¬ããã«ãªã³ã¯ã貌ãããšãã§ãããããããã«æçš¿ããã質åãšåçã¯ãåãåé¡ãæ±ããæ¬¡ã®äººã«ãèŠã€ãããããªããŸãã äžæ¹ãDiscord ã¯ãã£ããã®ãããªåœ¢åŒã§ãããçŽ æ©ãããåããä¿ããŸãã Discord ã§ã¯è³ªåãžã®åçãåŸããããŸã§ã®æéã¯çããªãå¯èœæ§ãé«ããã®ã®ãæéãçµã€ã«ã€ããŠè³ªåã¯èŠããªããªãã以åã«æçš¿ãããæ å ±ãèŠã€ããã®ã¯ã¯ããã«å°é£ã§ãããã®ãããé·æçã«æ®ãããšãç®çãšãã質åãšåçã«ã¯ GitHub Discussions ã®å©çšãæšå¥šããŸããDiscord ã§ã®äŒè©±ããè峿·±ãçµè«ãåºãå Žåã¯ãå°æ¥ã®èªè ãèŠã€ããããããããã®çµæããã£ã¹ã«ãã·ã§ã³ãšããŠæçš¿ããŠãã ããã
2. GitHubã®issuesã¿ãã§æ°ããissueãéã
ð§š Diffusers ã©ã€ãã©ãªãå ç¢ã§ä¿¡é Œã§ãããã®ã§ããã®ã¯ãåé¡ã«ééããéã«ãã®åé¡ãå ±åããŠãã ãããŠãŒã¶ãŒã®ãããã§ããåé¡ãå ±åããŠãã ãã£ãããšã«æè¬ããããŸãã
GitHub ã® issue ã¯ãDiffusers ã©ã€ãã©ãªã«çŽæ¥é¢é£ããæè¡çãªè³ªåããã°å ±åãæ©èœèŠæããŸãã¯ã©ã€ãã©ãªèšèšã«é¢ãããã£ãŒãããã¯ã«ã®ã¿äœ¿çšããŠãã ããã
In a nutshell, this means that everything that is not related to the code of the Diffusers library (including the documentation) should not be asked as an issue, but rather on GitHub Discussions or Discord.
æ°ããissueãéãéã¯ã以äžã®ã¬ã€ãã©ã€ã³ããæ€èšãã ããïŒ
- Issues ã®æ€çŽ¢ããŒã䜿çšããŠãGitHub ã§åæ§ã®è³ªåãæ¢ã«ååšããªãã確èªããŠãã ããã
- å¥ã®ïŒé¢é£ããïŒissueã«æ°ããissueãå ±åããªãã§ãã ãããå¥ã®issueã匷ãé¢é£ããŠããå Žåã§ããæ°ããissueãéãããã®é¢é£issueãžã®ãªã³ã¯ã貌ã£ãŠãã ããã
- åé¡ãè±èªã§æžãããŠããããšã確èªããŠãã ããã
- åé¡ãææ°ã® Diffusers ããŒãžã§ã³ãžã®æŽæ°ã«ãã£ãŠè§£æ±ºãããå¯èœæ§ãããã確èªããŠãã ãããåé¡ãæçš¿ããåã«ã
python -c "import diffusers; print(diffusers.__version__)"ã®åºåãææ°ã® Diffusers ããŒãžã§ã³ãšäžèŽãããããããæ°ããããšã確èªããŠãã ããã - æ°ããIssueãéãéã«è²»ããæéã倧ããã»ã©ãåŸãããåçã®è³ªã¯é«ããªããDiffusersã®Issueå šäœã®å質ãåäžããŸãã
æ°ããåé¡ã«ã¯ãéåžžã以äžã®å 容ãå«ãŸããŸãã
2.1. åçŸå¯èœã§æå°éã®ãã°ã¬ããŒã
ãã°ã¬ããŒãã«ã¯ãåçŸå¯èœãªã³ãŒãã¹ãããããå¿ ãå«ããã§ããã ãæå°éãã€ç°¡æœã«ããŠãã ããã å ·äœçã«ã¯ã以äžã®ããšãæå³ããŸãã
- ãã°ãã§ããã ãçµã蟌ãã§ãã ãããã³ãŒããã¡ã€ã«å šäœããã®ãŸãŸè²Œãä»ããã®ã¯é¿ããŠãã ããã
- ã³ãŒããæŽåœ¢ããŸãã
- Diffusers ã«äŸåããå€éšã©ã€ãã©ãªãé€ããå€éšã©ã€ãã©ãªãå«ããªãã§ãã ããã
- åžžã«ãç°å¢ã«é¢ããå¿
èŠãªæ
å ±ããã¹ãŠæäŸããŠãã ããããã®ããã«ãã·ã§ã«ã§
diffusers-cli envãå®è¡ãã衚瀺ãããæ å ±ãã³ããŒããŠåé¡ã«è²Œãä»ããŠãã ããã - åé¡ã説æããŠãã ãããèªè ãåé¡ã®å 容ãããããåé¡ã§ããçç±ãææ¡ã§ããŠããªãå Žåã解決ããããšã¯ã§ããŸããã
- åžžã«ãèªã¿æãæå°éã®æéã§åé¡ãåçŸã§ããããšã確èªããŠãã ãããã³ãŒãã¹ãããããäžè¶³ããŠããã©ã€ãã©ãªãæªå®çŸ©ã®å€æ°ã®ããã«å®è¡ã§ããªãå Žåãèªã¿æã¯ããªããå©ããããšãã§ããŸãããåçŸå¯èœãªã³ãŒãã¹ããããã¯ãã§ããã ãæå°éã«ä¿ã¡ãã·ã³ãã«ãª Python ã·ã§ã«ã«ã³ããŒïŒããŒã¹ãããŠå®è¡ã§ããããšã確èªããŠãã ããã
- åé¡ã®åçŸã«ã¢ãã«ããã³/ãŸãã¯ããŒã¿ã»ãããå¿ èŠãªå Žåã¯ãèªè ããã®ã¢ãã«ãããŒã¿ã»ããã«ã¢ã¯ã»ã¹ã§ããããšã確èªããŠãã ãããã¢ãã«ãããŒã¿ã»ãããHubã«ã¢ããããŒãããã°ãç°¡åã«ããŠã³ããŒãã§ããããã«ãªããŸããåé¡ã®åçŸãã§ããã ã容æã«ãããããã¢ãã«ãšããŒã¿ã»ããã¯ã§ããã ãå°ããä¿ã£ãŠãã ããã
詳现ã«ã€ããŠã¯ãè¯ã issue ã®æžãæ¹ã»ã¯ã·ã§ã³ãã芧ãã ããã
ãã°ã¬ããŒãã¯ãã¡ãããéãããšãã§ããŸãã
2.2. æ©èœã®èŠæ
äžçæ°Žæºã®æ©èœãªã¯ãšã¹ãã¯ã以äžã®ç¹ã«å¯Ÿå¿ããŠããŸãã
- ãŸãåæ©ã«ã€ããŠ:
- ã©ã€ãã©ãªã«é¢ããåé¡ãäžæºã«é¢é£ããŠããŸããïŒè©²åœããå Žåã¯ããã®çç±ã説æããŠãã ãããåé¡ãåçŸããã³ãŒãã¹ãããããæç€ºããã®ãæåã§ãã
- ãããžã§ã¯ãã«å¿ èŠãªæ©èœã«é¢é£ããŠããŸããïŒãã²ãèãããã ããïŒ
- ããªããæãããŠãããã³ãã¥ããã£ã«åœ¹ç«ã€ãšèãããã®ã§ãã? çŽ æŽãããã§ãã! ãããããªãã«ãšã£ãŠã©ã®ãããªåé¡ã解決ããã®ãæããŠãã ããã
- ãã®æ©èœã«ã€ããŠèª¬æããå®å šãªæ®µèœãäœæããŸãã
- å°æ¥ã®äœ¿ç𿹿³ã瀺ãã³ãŒãã¹ãããããæäŸããŸãã
- è«æã«é¢é£ããå Žåã¯ããªã³ã¯ãæ·»ä»ããŠãã ããã
- 圹ç«ã€ãšæãããè¿œå æ å ±ïŒå³é¢ãã¹ã¯ãªãŒã³ã·ã§ãããªã©ïŒãæ·»ä»ããŠãã ããã
æ©èœã®ãªã¯ãšã¹ãã¯ãã¡ãããéãããšãã§ããŸãã
2.3 ãã£ãŒãããã¯
ã©ã€ãã©ãªã®èšèšã«é¢ãããã£ãŒãããã¯ãããã³ãããè¯ã/è¯ããªãçç±ã«ã€ããŠã®æ å ±ã¯ãã³ã¢ã¡ã³ãããŒããŠãŒã¶ãŒãã¬ã³ããªãŒãªã©ã€ãã©ãªãæ§ç¯ããäžã§éåžžã«åœ¹ç«ã¡ãŸããçŸåšã®èšèšææ³ã®èæ¯ã«ããå²åŠãçè§£ããã«ã¯ããã¡ããã芧ãã ãããç¹å®ã®èšèšå€æãçŸåšã®èšèšææ³ãšåèŽããŠããªããšæããå Žåã¯ããã®çç±ãšãã©ã®ããã«å€æŽãã¹ããã説æããŠãã ãããç¹å®ã®èšèšå€æãèšèšææ³ã«å³å¯ã«åŸããããŠãããçµæãšããŠãŠãŒã¹ã±ãŒã¹ãå¶éãããŠããå Žåã¯ããã®çç±ãšãã©ã®ããã«å€æŽãã¹ããã説æããŠãã ããã ç¹å®ã®èšèšå€æãéåžžã«æçšã§ãããšæããå Žåãããã®æšãã¡ã¢ãšããŠæ®ããŠãã ãããããã¯å°æ¥ã®èšèšå€æã«ãšã£ãŠåªãããã£ãŒãããã¯ãšãªããŸãã
ãã£ãŒãããã¯ã«é¢ããåé¡ããã¡ãã§éãããšãã§ããŸãã
2.4 æè¡çãªè³ªå
æè¡çãªè³ªåã¯ãäž»ã«ã©ã€ãã©ãªã®ç¹å®ã®ã³ãŒãããªããã®ããã«æžãããŠããã®ãããŸãã¯ç¹å®ã®ã³ãŒãéšåãäœãããŠããã®ãã«é¢ãããã®ã§ãã該åœããã³ãŒããžã®ãªã³ã¯ãå¿ ãèšèŒãããã®ã³ãŒãéšåããªãçè§£ãã«ããã®ãã«ã€ããŠè©³çްãæèšããŠãã ããã
æè¡çãªè³ªåã«ã€ããŠã¯ããã¡ãã§Issueãäœæã§ããŸãã
2.5 æ°ããã¢ãã«ãã¹ã±ãžã¥ãŒã©ãŒããŸãã¯ãã€ãã©ã€ã³ã®è¿œå ã«é¢ããææ¡
Diffusionã¢ãã«ã®ã³ãã¥ããã£ã§ãDiffusersã©ã€ãã©ãªã«è¿œå ããŠã»ããæ°ããã¢ãã«ããã€ãã©ã€ã³ããŸãã¯ã¹ã±ãžã¥ãŒã©ãŒããªãªãŒã¹ãããå Žåã¯ã以äžã®æ å ±ããæäŸãã ããã
- æ¡æ£ãã€ãã©ã€ã³ãã¢ãã«ããŸãã¯ã¹ã±ãžã¥ãŒã©ãŒã®ç°¡åãªèª¬æãšãè«æãŸãã¯å ¬éãªãªãŒã¹ãžã®ãªã³ã¯ã
- ãã®ãªãŒãã³ãœãŒã¹å®è£ ãžã®ãªã³ã¯ã
- å©çšå¯èœãªå Žåãã¢ãã«ã®éã¿ãžã®ãªã³ã¯ã
ãŸããã³ã³ããŒãã³ãïŒã¢ãã«ãã¹ã±ãžã¥ãŒã©ããã€ãã©ã€ã³ãªã©ïŒã®å ã®èè ãç¹å®ã§ããå Žåã¯ãGitHub ãã³ãã«ã§ã¿ã°ä»ãããããšãå¿ããªãã§ãã ããã
ã¢ãã«ãDiffusersã«è¿œå ãããå Žåã¯ãHubã«ãã€ãã©ã€ã³ãŸãã¯ã¢ãã«ãå ¬éããããã³ãã€ãã©ã€ã³ãã¢ãã«ãã¹ã±ãžã¥ãŒã©ãŒã®è¿œå ãåç §ããŠãã ããã
ã¢ãã«/ãã€ãã©ã€ã³/ã¹ã±ãžã¥ãŒã©ãŒã®ãªã¯ãšã¹ãã¯ããã¡ãããéãããšãã§ããŸãã
3. GitHub ã® issues ã¿ãã§åé¡ãåçãã
GitHub äžã® issue ãžã®åçã«ã¯ãDiffusers ã«é¢ããããçšåºŠã®æè¡çãªç¥èãå¿ èŠã«ãªãå ŽåããããŸãããåçã 100% æ£ãããšç¢ºä¿¡ãæãŠãªãå Žåã§ãããã²ææŠããŠã¿ãŠãã ããã issue ã«å¯ŸããŠé«å質ãªåçãããããã®ãã³ããããã€ãã玹ä»ããŸãã
- ã§ããã ãç°¡æœãã€æå°éã«ããŠãã ããã
- ãããã¯ã«çãŸãããšãåé¡ãžã®åçã¯ããã®åé¡èªäœã«ã®ã¿é¢ããã¹ãã§ãã
- 䞻匵ãè£ä»ããããŸãã¯æ¯æããã³ãŒããè«æããã®ä»ã®ãœãŒã¹ãžã®ãªã³ã¯ãæç€ºããŠãã ããã
- ã³ãŒãã§åçããŠãã ãããåé¡ã®è§£æ±ºçãåçŽãªã³ãŒãã¹ããããã§ç€ºããå ŽåããŸãã¯åé¡ã®è§£æ±ºæ¹æ³ã瀺ããå Žåã¯ãå®å šã«åçŸå¯èœãªã³ãŒãã¹ãããããæäŸããŠãã ããã
ãŸããå€ãã®åé¡ã¯åã«ãªããããã¯ã§ãã£ãããä»ã®åé¡ã®éè€ã§ãã£ãããé¢é£æ§ããªãã£ããããŸãããã®ãããªåé¡ã«å¯ŸããŠåçããåé¡ã®äœæè ã«ããæ£ç¢ºãªèšè¿°ãä¿ããããéè€ããåé¡ãžã®ãªã³ã¯ãæäŸããããGitHub DiscussionsãDiscordãžèªå°ãããããããšã¯ãã¡ã³ãããŒã«ãšã£ãŠéåžžã«å€§ããªå©ããšãªããŸãã
çºè¡ããããã°ã¬ããŒããæ£ããããœãŒã¹ã³ãŒãã®ä¿®æ£ãå¿ èŠã§ãããšç¢ºèªã§ããå Žåã¯ã次ã®ã»ã¯ã·ã§ã³ãã芧ãã ããã
6ãé€ããã¹ãŠã®è²¢ç®ã«ã¯ãPRãéãå¿ èŠããããŸãããã«ãªã¯ãšã¹ããéãã»ã¯ã·ã§ã³ã§ããã®æ¹æ³ã«ã€ããŠèª¬æããŠããŸãã
4. ãGood first issueãã®ä¿®æ£
Good first issuesã«ã¯ãGood first issueã©ãã«ãä»ããããŠããŸããéåžžããããã®issueã«ã¯ãä¿®æ£ã容æã«ããããã«ã解決çã®æŠèŠããã§ã«èª¬æãããŠããŸãã issueãã¯ããŒãºãããŠããããä¿®æ£ã詊ã¿ããå Žåã¯ããI would like to try this issue.ããšããã¡ãã»ãŒãžãæ®ãã ãã§æ§ããŸãããéåžžã以äžã®3ã€ã®ã·ããªãªããããŸãã
- a.) åé¡ã®èª¬æã«ä¿®æ£æ¹æ³ããã§ã«ææ¡ãããŠããŸãããã®å Žåããã®è§£æ±ºçã劥åœã ãšå€æã§ããå Žåã¯ãä¿®æ£ã®ããã® PR ãŸãã¯ãã©ãã PR ãäœæã§ããŸãã
- b.) åé¡ã®èª¬æã«ä¿®æ£ææ¡ãå«ãŸããŠããªãå Žåããã®åé¡ãžã®ã³ã¡ã³ãã§èªåã§ä¿®æ£ãææ¡ããŠãã ãããã¢ãããŒãã説æããæ°æã§ååã§ããPR ãäœæããåã«ãDiffusers ããŒã ã®èª°ããããã確èªããã®ãåŸ ã£ãŠãã ããã
- c.) ãã§ã«ãã®åé¡ãä¿®æ£ããããã®ãªãŒãã³ãªPRãååšããããåé¡èªäœã¯ãŸã ã¯ããŒãºãããŠããªãå ŽåãPRãstaleïŒæŸçœ®ç¶æ ïŒã«ãªã£ãŠããå Žåã¯ãæ°ããPRããªãŒãã³ããŠããã®staleãªPRãžã®ãªã³ã¯ã貌ãã ãã§æ§ããŸãããå ã®ã³ã³ããªãã¥ãŒã¿ãŒãåé¡ãä¿®æ£ããããšããŠãããã®ã®ãçªç¶æéãåããªããªã£ãããã«ãPRãstaleã«ãªãããšã¯ãããããŸããããã¯ãªãŒãã³ãœãŒã¹ã§ã¯ããããããšã§ãããèªç¶ãªããšã§ãããã®å Žåãæ¢åã®PRã®ç¥èŠã掻ãããŠåææŠããŠããããšãã³ãã¥ããã£ã¯éåžžã«åã¶ã§ãããããã§ã«PRãååšãããã€ã¢ã¯ãã£ããªå Žåã¯ãææ¡ãè¡ããPRãã¬ãã¥ãŒããããããã¯ãã®PRãžã®è²¢ç®ãèš±å¯ããŠãããããå°ãããªã©ãèè ããµããŒãããããšãã§ããŸãã
5. ããã¥ã¡ã³ããžã®è²¢ç®
åªããã©ã€ãã©ãªã¯åžžã«åªããããã¥ã¡ã³ããåããŠããŸã! å ¬åŒããã¥ã¡ã³ãã¯ãã©ã€ãã©ãªã®æ°èŠãŠãŒã¶ãŒã«ãšã£ãŠæåã®æ¥ç¹ã®äžã€ãšãªãããšãå€ãããã®ããããã¥ã¡ã³ããžã®è²¢ç®ã¯éåžžã«äŸ¡å€ã®ããè²¢ç®ã§ãã
ã©ã€ãã©ãªãžã®è²¢ç®ã«ã¯ãããŸããŸãªåœ¢ããããŸãã
- ã¹ãã«ãã¹ãææ³ãšã©ãŒã®ä¿®æ£ã
- ããã¥ã¡ã³ãæååã®èª€ã£ãæžåŒãä¿®æ£ããŠãã ãããå ¬åŒããã¥ã¡ã³ãã®è¡šç€ºãããããå Žåãããªã³ã¯ãå£ããŠããå Žåãæéãå²ããŠä¿®æ£ããŠããã ããã°å¹žãã§ãã
- docstringã®å ¥åãŸãã¯åºåãã³ãœã«ã®åœ¢ç¶ã次å ãä¿®æ£ããŸãã
- çè§£ãã«ããããŸãã¯èª€ã£ãããã¥ã¡ã³ããæç¢ºã«ããŸãã
- å€ãã³ãŒãã®äŸãæŽæ°ããŸãã
- ããã¥ã¡ã³ããå¥ã®èšèªã«ç¿»èš³ããã
Diffusersã®å ¬åŒããã¥ã¡ã³ãããŒãžã«è¡šç€ºãããŠããå 容ã¯ãã¹ãŠå ¬åŒããã¥ã¡ã³ãã®äžéšã§ãããããããã®ããã¥ã¡ã³ããœãŒã¹ã§ä¿®æ£ã調æŽãè¡ãããšãã§ããŸãã
ããã¥ã¡ã³ãã®ããŒã«ã«ã§ã®å€æŽãæ€èšŒããæ¹æ³ã«ã€ããŠã¯ããã®ããŒãžãã芧ãã ããã
6. Hubã«ãã€ãã©ã€ã³ãŸãã¯ã¢ãã«ãå ¬éãã
Modular Diffusersã䜿çšãããšããã€ãã©ã€ã³ããªã¢ãŒãã³ãŒããšããŠHubã®ãªããžããªã«é
眮ã§ããŸããDiffusersã®ãªãªãŒã¹ãåŸ
ããã«ãfrom_pretrained(..., trust_remote_code=True)ã§èª°ã§ãèªã¿èŸŒãããšãã§ããŸããæ°ãããã€ãã©ã€ã³ãã¢ãã«ãã³ãã¥ããã£ã«æäŸããè²¢ç®è
ã®æ¹ã¯ãããããå§ããŠãã ããããã€ãã©ã€ã³ãå
¬éããã«ã¯ã«ã¹ã¿ã ãããã¯ããã¢ãã«ãå
¬éããã«ã¯ã«ã¹ã¿ã ã¢ãã«ãåç
§ããŠãã ããã
該åœããã¢ãã«ãªã¯ãšã¹ãïŒååšããªãå Žåã¯æ°èŠäœæããŠãã ããïŒã§æããŠãã ãããå®è£ ã«é¢ãããã£ãŒãããã¯ãæäŸããæ°ã«å ¥ã£ããã®ã¯Community Modular Diffusers Blocksã³ã¬ã¯ã·ã§ã³ã«ç޹ä»ããŸãããã®åŸãã©ã€ãã©ãªã§ã®ã¢ãã«ãµããŒãæ¹æ³ã決å®ããŸããããªãã®ããŒãžã§ã³ãã¢ããã¹ããªãŒã ã«åæ ãããèè ãã¡ãšå ¬åŒããŒãžã§ã³ã«ã€ããŠååããããããã¯åã«ããªãã®ããŒãžã§ã³ãæ¡å ããããšãã£ã察å¿ãèããããŸãããŸãããã®éçšã§æããæ©æŠç¹ãæããŠãã ãããåããã«ããAPIãäžè¶³ããŠããããã¥ã¡ã³ãããã°ãªã©ã§ãããã®ãã£ãŒãããã¯ã¯ããã€ãã©ã€ã³èªäœãšåããããç§ãã¡ã«ãšã£ãŠäŸ¡å€ããããŸãã
7. åŠç¿äŸãžã®è²¢ç®
Diffusersã®äŸã¯ãexamplesã«é 眮ãããŠãããã¬ãŒãã³ã°ã¹ã¯ãªããã®ã³ã¬ã¯ã·ã§ã³ã§ãã
2çš®é¡ã®åŠç¿äŸã«å¯Ÿå¿ããŠããŸã:
- å ¬åŒã®ãã¬ãŒãã³ã°äŸ
- ç ç©¶çšã®åŠç¿äŸ
ç ç©¶çšã®åŠç¿äŸã¯ examples/research_projects ã«é
眮ãããŠãããå
¬åŒã®åŠç¿äŸã¯ examples é
äžã®ãã¹ãŠã®ãã©ã«ãã®ãã¡ãresearch_projects ãš community ãã©ã«ããé€ãããã®ã§ãã
å
¬åŒã®åŠç¿äŸã¯ Diffusers ã®ã³ã¢ã¡ã³ãããŒã«ãã£ãŠç®¡çãããç ç©¶çšã®åŠç¿äŸã¯ã³ãã¥ããã£ã«ãã£ãŠç®¡çãããŠããŸãã
ããã¯ãDiffusers ã©ã€ãã©ãªã Hub äžã§å
¬åŒãã€ãã©ã€ã³ãšã³ãã¥ããã£ãã€ãã©ã€ã³ã®å°ããªã»ããã®ã¿ãå
¬éããŠããã®ãšåãçç±ã§ããæ¡æ£ã¢ãã«ã®ãã¹ãŠã®å¯èœãªåŠç¿ææ³ãã³ã¢ã¡ã³ãããŒãç¶æããããšã¯çŸå®çã§ã¯ãªãããã§ãã
Diffusers ã®ã³ã¢ã¡ã³ãããŒãšã³ãã¥ããã£ããç¹å®ã®åŠç¿ãã©ãã€ã ãå®éšçãããããŸãã¯ååã«æ®åããŠããªããšå€æããå Žåã察å¿ããåŠç¿ã³ãŒã㯠research_projects ãã©ã«ãã«é
眮ããèè
ã管çããå¿
èŠããããŸãã
å
¬åŒã®ãã¬ãŒãã³ã°äŸããã³ç ç©¶äŸã¯ããããã1ã€ä»¥äžã®ãã¬ãŒãã³ã°ã¹ã¯ãªãããrequirements.txtãã¡ã€ã«ãREADME.mdãã¡ã€ã«ãå«ããã£ã¬ã¯ããªã§æ§æãããŠããŸãããŠãŒã¶ãŒããã¬ãŒãã³ã°äŸãå©çšããã«ã¯ããªããžããªãã¯ããŒã³ããå¿
èŠããããŸãã
git clone https://github.com/huggingface/diffusersãŸãããã¬ãŒãã³ã°ã«å¿ èŠãªãã¹ãŠã®è¿œå ã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ããŸã:
cd diffusers
pip install -r examples/<your-example-folder>/requirements.txtãããã£ãŠããµã³ãã«ã远å ããéã¯ãrequirements.txtãã¡ã€ã«ã«ããã®åŠç¿ãµã³ãã«ã«å¿
èŠãªãã¹ãŠã®pipäŸåé¢ä¿ãå®çŸ©ããå¿
èŠããããŸããããã«ããããããããã¹ãŠã€ã³ã¹ããŒã«ãããç¶æ
ã§ããŠãŒã¶ãŒããµã³ãã«ã®åŠç¿ã¹ã¯ãªãããå®è¡ã§ããããã«ãªããŸããäŸãã°ãDreamBoothã®requirements.txtãã¡ã€ã«ãåç
§ããŠãã ããã
Diffusersã©ã€ãã©ãªã®åŠç¿äŸã¯ã以äžã®å²åŠã«åŸãå¿ èŠããããŸãã
- äŸãå®è¡ããããã«å¿ èŠãªãã¹ãŠã®ã³ãŒãã¯ãåäžã®Pythonãã¡ã€ã«ã«ãŸãšããå¿ èŠããããŸãã
- ã³ãã³ãã©ã€ã³ãã
python <your-example>.py --argsã§äŸãå®è¡ã§ããã¯ãã§ãã - äŸã¯ã·ã³ãã«ã«ä¿ã¡ãDiffusers ããã¬ãŒãã³ã°ã«äœ¿çšããæ¹æ³ã®äŸãšããŠæ©èœãããã¹ãã§ããäŸã¹ã¯ãªããã®ç®çã¯ãæå ç«¯ã®æ¡æ£ã¢ãã«ãäœæããããšã§ã¯ãªããããã§ã¯ãªããé床ãªã«ã¹ã¿ã ããžãã¯ã远å ããã«æ¢ç¥ã®ãã¬ãŒãã³ã°ææ³ãåçŸããããšã§ãããã®ç¹ã®å¯ç£ç©ãšããŠãç§ãã¡ã®äŸã¯ãåªããæè²è³æãšããŠãæ©èœããããšãç®æšãšããŠããŸãã
äŸãã³ã³ããªãã¥ãŒãããéã¯ãdreamboothãªã©ã®æ¢åã®äŸãåç
§ãããã®æ§æã®ã€ã¡ãŒãžãææ¡ããããšãã匷ããå§ãããŸãã
Diffusersãšå¯ã«çµ±åãããŠãããããã³ã³ããªãã¥ãŒã¿ãŒã«ã¯Accelerate libraryã®å©çšãåŒ·ãæšå¥šããŸãã
äŸã®ã¹ã¯ãªãããåäœããããã«ãªã£ããããã®äŸã®æ£ç¢ºãªäœ¿ãæ¹ãèšè¿°ããå
æ¬çãªREADME.mdã远å ããŠãã ããããã®READMEã«ã¯ã以äžãå«ããå¿
èŠããããŸã:
- ãã¡ãã«ç€ºãããŠããäŸã¹ã¯ãªãããå®è¡ããããã®ã³ãã³ãã®äŸã§ãã
- ãŠãŒã¶ãŒãæåŸ ã§ããå 容ã瀺ãããã¡ãã«ç€ºãããŠãããããªãã¬ãŒãã³ã°çµæïŒãã°ãã¢ãã«ãªã©ïŒãžã®ãªã³ã¯ã
- éå ¬åŒãŸãã¯ç ç©¶çšã®ãã¬ãŒãã³ã°äŸã远å ããå Žåã¯ããå¿ããªãããã¡ãã«ç€ºãããŠããããã«ããã®ãã¬ãŒãã³ã°äŸãã¡ã³ããã³ã¹ããŠããæšã®äžæïŒgit ãã³ãã«ãå«ãïŒã远å ããŠãã ããã
å ¬åŒã®åŠç¿ãµã³ãã«ã«è²¢ç®ãããå Žåã¯ãexamples/dreambooth/test_dreambooth.py ã®ããã«ããã®ãã©ã«ããŒã«ãã¹ãã远å ããããšãå¿ããªãã§ãã ãããéå ¬åŒã®åŠç¿ãµã³ãã«ã«ã¯äžèŠã§ãã
8. ãGood second issueãã®ä¿®æ£
Good second issuesã«ã¯ãGood second issueã©ãã«ãä»äžãããŠããŸãããããã¯éåžžãGood first issuesããã解決ãè€éã§ã説æã«ä¿®æ£ã«é¢ããã¬ã€ãã³ã¹ãå°ãªããã©ã€ãã©ãªã«å¯ŸããããçšåºŠã®çè§£ãæ±ããããŸãã
è¯ã2çªç®ã®èª²é¡ã«åãçµã¿ããå Žåã¯ããã®èª²é¡ã«å¯ŸãããæèŠãšããæ€èšäžã®ã¢ãããŒããæ°æã§ã³ã¡ã³ããšããŠå ±æããPRãéãåã«ã¡ã³ãããŒããæ¿èªãåŸãŠãã ããããã§ã«ãã®èª²é¡ã«å¯ŸããŠPRãéãããŠãããããŒãžãããŠããªãå Žåã¯ãæ°ããææ¡ãè¡ãåã«ããã®çç±ãçè§£ããããã«ç¢ºèªããŠãã ããã
9. Diffusersã®MVP issueã«ææŠãã
Diffusers MVPããã°ã©ã ã«ã¯ãæãååãæ±ããŠãã課é¡ããªã¹ãã¢ãããããŠããŸãããããã¯Good second issuesãšåæ§ã®ä»çµã¿ã§ãããããé£æåºŠãé«ããæéãããããããããã«åãçµãè²¢ç®è ã«ã¯å ±é ¬ãæäŸãããŸããPRãéãåã«ããŸãã³ã¡ã³ãã§ã¢ãããŒããå ±æããã¡ã³ãããŒããã®æ¿èªãåŸãŠãã ããããã®ããã°ã©ã ã«ã¯ã¢ã€ãã¢ãã©ãã¯ãèšããããŠãããDiffusersã®ã€ã³ãã¯ããé«ããã¢ã€ãã¢ããå®è£ 詳现ãå«ãŸãªãæ°æã§æããŠãã ããã
10. ãã€ãã©ã€ã³ãã¢ãã«ãã¹ã±ãžã¥ãŒã©ãŒã®è¿œå
ã¢ãã«ã®äœæè ã®æ¹ã¯ãçµ±åã®èª¿æŽã®ãããé£çµ¡ãã ãããæ©èœãªã¯ãšã¹ããéããããã§ã«éãããŠããå Žåã¯ã³ã¡ã³ããæ®ããŠãã ããã
ã³ãã¥ããã£ã®è²¢ç®è ã®æ¹ã¯ããŸã Hub ã®ãªããžããªããå§ããŠãã ãããHub ã«ãã€ãã©ã€ã³ãŸãã¯ã¢ãã«ãå ¬éãããåç §ããæ©èœãªã¯ãšã¹ãã®äžã«ãã¢ããã¹ããªãŒã ãžã®åã蟌ã¿ã«é¢å¿ãããæšããç¥ãããã ããã
Pipelinesãmodelsãschedulers 㯠Diffusers ã©ã€ãã©ãªã®æãéèŠãªæ§æèŠçŽ ã§ãã ãããã¯æå ç«¯ã®æ¡æ£æè¡ãžã®ç°¡åãªã¢ã¯ã»ã¹ãæäŸããã³ãã¥ããã£ã匷åãªçæ AI ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããšãå¯èœã«ããŸãã
æ°ããã¢ãã«ããã€ãã©ã€ã³ããŸãã¯ã¹ã±ãžã¥ãŒã©ãŒã远å ããããšã§ãDiffusers ã«äŸåãããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ã®ãããã«ãããŠãã匷åãªæ°ãããŠãŒã¹ã±ãŒã¹ãæå¹ã«ã§ããå¯èœæ§ããããŸããããã¯ãçæAIãšã³ã·ã¹ãã å šäœã«ãšã£ãŠéåžžã«å€§ããªäŸ¡å€ããããããã®ã§ãã
æ°ããã¢ãã«ãŸãã¯ãã€ãã©ã€ã³ã®ãµããŒãããªãªãŒã¹ãããå Žå
æ°ããã¢ãã«ããã€ãã©ã€ã³ããªãªãŒã¹ã«å«ããå Žåã¯ãäºåã« Diffusers ããŒã ãšçµ±åã«ã€ããŠèª¿æŽããå¿
èŠããããŸããDiffusers ãªããžããªã® issue çµç±ããŸã㯠[email protected] ãžã®ã¡ãŒã«ã§ããæ°è»œã«ãåãåãããã ããã
ã¢ãã«ããã€ãã©ã€ã³ã®ãã«ãªã¯ãšã¹ããããŒãžãããæç¹ã§ããªãªãŒã¹ãèªåçã«å®è¡ãããããã§ã¯ãããŸããããªãªãŒã¹åã«ãã¡ã³ãããŒã¯çµ±åãå®äºããŠããããšãããã³ãªãªãŒã¹ãã¹ãããã¹ããŠããããšã確èªããŸãã
æ°ããã¢ãã«ãŸãã¯ãã€ãã©ã€ã³ã®ãµããŒãã¯ãéåžžãæ¬¡ã®ãã€ããŒãªãªãŒã¹ã«çµã¿èŸŒãŸããŸããçµ±åã¯mainã«ããŒãžããããªãªãŒã¹ãã©ã³ãã¯ããããäœæãããŸãããªãªãŒã¹ã«ã¯ãã¢ãã«ããã€ãã©ã€ã³ã®çµ±åã ãã§ãªããååã®ãªãªãŒã¹ä»¥éã«ããŒãžããããã¹ãŠã®å€æŽãå«ãŸããŸãã
ãªãªãŒã¹ããŒãã§ã¯ãæ°ããã¢ãã«ããã€ãã©ã€ã³ã匷調ãããšãšãã«ããã®ãªãªãŒã¹ã«å«ãŸãããã®ä»ã®å€æŽç¹ãèŠçŽããŸããããããªãªãŒã¹ã¯ãæ¢åã®ãªãªãŒã¹ã«å¯Ÿããä¿®æ£ã«é垞䜿çšãããŸãã
Diffusersã«ã¯ããã¹ãŠã®3ã€ã®ã³ã³ããŒãã³ãã«é¢ãããªãŒãã³ãªæ©èœãªã¯ãšã¹ããããã€ããããŸãã远å ãããå ·äœçãªã³ã³ããŒãã³ãããŸã 決ãŸã£ãŠããªãå Žåã¯ããã£ãšç®ãéãã ãã§ãæ§ããŸãã:
3ã€ã®ã³ã³ããŒãã³ãã®ããããã远å ããåã«ãPhilosophy guide ããèªã¿ããã ãã3ã€ã®ã³ã³ããŒãã³ãã®èšèšãããæ·±ãçè§£ããããšãã匷ããå§ãããŸããåœç€Ÿã®èšèšææ³ãã倧ããéžè±ããã¢ãã«ãã¹ã±ãžã¥ãŒã©ããŸãã¯ãã€ãã©ã€ã³ã®è¿œå ã¯ãAPIã®äžäžèŽãæããããããŒãžããããšãã§ããŸãããèšèšäžã®å€æã«æ ¹æ¬çãªç°è°ãããå Žåã¯ãç¹å®ã®èšèšãã¿ãŒã³ãèšèšå€æãã©ã€ãã©ãªå šäœã§å€æŽãã¹ããããŸãèšèšææ³ãæŽæ°ãã¹ãããè°è«ããããã«ã代ããã«Feedback issue ãäœæããŠãã ãããã©ã€ãã©ãªå šäœã§ã®äžè²«æ§ã¯ãåœç€Ÿã«ãšã£ãŠéåžžã«éèŠã§ãã
PRã«ã¯ãå ã®ã³ãŒãããŒã¹ãè«æãžã®ãªã³ã¯ãå¿ ã远å ããŠãã ããããŸããå¯èœã§ããã°ãPRäžã§å ã®èè ã«ãçŽæ¥éç¥ãã鲿ã远跡ããŠããã£ããã質åãžã®åçãäŸé Œãããã§ããããã«ããŠãã ããã
PRã§äžç¢ºããªç¹ãããå Žåããé²ãæ¹ã«è©°ãŸã£ãå Žåã¯ããããããã«ã¡ãã»ãŒãžãæ®ããŠãæåã®ã¬ãã¥ãŒããµããŒããäŸé ŒããŠãã ããã
ã¡ã«ããºã ããã³ããŒ
ãã€ãã©ã€ã³ãã¢ãã«ããŸãã¯ã¹ã±ãžã¥ãŒã©ã®ã³ãŒãã远å ããéã«çè§£ãã¹ãããŠããŒã¯ãã€éèŠãªæ©èœãšããŠã# Copied fromã¡ã«ããºã ããããŸããDiffusersã®ã³ãŒãããŒã¹å
šäœã§ãã®ã¡ã«ããºã ãç®ã«ããŸãããã³ãŒãããŒã¹ãåãããããä¿å®ããããç¶æ
ã«ä¿ã€ããã«äœ¿çšããŠããŸãã# Copied fromã¡ã«ããºã ã§ããŒã¯ãããã³ãŒãã¯ãã³ããŒå
ã®ã³ãŒããšå®å
šã«åäžã§ããããšã匷å¶ãããŸããããã«ãããmake fix-copiesãå®è¡ãããã³ã«ã倿Žã倿°ã®ãã¡ã€ã«ã«ããã£ãŠå®¹æã«æŽæ°ã»åæ ã§ããŸãã
äŸãã°ã以äžã®ã³ãŒãäŸã§ã¯ãStableDiffusionPipelineOutput ãå
ã®ã³ãŒãã§ãããAltDiffusionPipelineOutput 㯠# Copied from ã¡ã«ããºã ã䜿çšããŠãããã³ããŒããŠããŸããå¯äžã®éãã¯ãã¯ã©ã¹ãã¬ãã£ãã¯ã¹ã Stable ãã Alt ã«å€æŽããŠããç¹ã§ãã
# Copied from diffusers.pipelines.stable_diffusion.pipeline_output.StableDiffusionPipelineOutput with Stable->Alt
class AltDiffusionPipelineOutput(BaseOutput):
"""
Output class for Alt Diffusion pipelines.
Args:
images (`List[PIL.Image.Image]` or `np.ndarray`)
List of denoised PIL images of length `batch_size` or NumPy array of shape `(batch_size, height, width,
num_channels)`.
nsfw_content_detected (`List[bool]`)
List indicating whether the corresponding generated image contains "not-safe-for-work" (nsfw) content or
`None` if safety checking could not be performed.
"""詳现ã«ã€ããŠã¯ã~Donât~ Repeat Yourself*ããã°èšäºã®è©²åœã»ã¯ã·ã§ã³ããèªã¿ãã ããã
è¯ãIssueã®æžãæ¹
Issueã®èšè¿°ãäžå¯§ã§ããã°ããã»ã©ãè¿ éã«è§£æ±ºãããå¯èœæ§ãé«ããªããŸãã
- åé¡ã®æçš¿ã«æ£ãããã³ãã¬ãŒãã䜿çšããŠããããšã確èªããŠãã ãããBug ReportãFeature RequestãFeedback about API DesignãNew model/pipeline/scheduler additionããŸãã¯ç©ºã®ãã³ãã¬ãŒãããéžæã§ããŸããæ°ããåé¡ãéãéã«ãé©åãªãã®ãéžæããŠãã ãããäœ¿çšæ¹æ³ã«é¢ãã質åã¯ãåé¡ã§ã¯ãªãGitHub Discussionsã§æ±ãã¹ãã§ãã
- æ£ç¢ºã«èšè¿°ãã: åé¡ã«ãµããããã¿ã€ãã«ãä»ããŸããåé¡ã®èª¬æã¯ãã§ããã ãç°¡æœã«èšè¿°ããŠãã ãããåé¡ãå ±åããéã«æ£ç¢ºã§ããã°ããã»ã©ãåé¡ã®çè§£ãšè§£æ±ºã«ãããæéãççž®ãããŸãã1ã€ã®åé¡ã«ã€ã1ã€ã®issueãéããè€æ°ã®åé¡ã«ã€ããŠ1ã€ã®issueãéããªãããã«ããŠãã ãããè€æ°ã®åé¡ãèŠã€ãã£ãå Žåã¯ãããããã«issueãéããŠãã ãããåé¡ããã°ã§ããå Žåã¯ãã©ã®ãã°ã§ããããã§ããã ãæ£ç¢ºã«èšè¿°ããŠãã ããããdiffusersã§ãšã©ãŒãçºçãããã®ãããªææ§ãªèšè¿°ã¯é¿ããŠãã ããã
- Reproducibility: No reproducible code snippet == no solution. If you encounter a bug, maintainers have to be able to reproduce it. Make sure that you include a code snippet that can be copy-pasted into a Python interpreter to reproduce the issue. Make sure that your code snippet works, i.e. that there are no missing imports or missing links to images, ⊠Your issue should contain an error message and a code snippet that can be copy-pasted without any changes to reproduce the exact same error message. If your issue is using local model weights or local data that cannot be accessed by the reader, the issue cannot be solved. If you cannot share your data or model, try to make a dummy model or dummy data.
- æå°éã«: å¯èœãªéãç°¡æœã«èšè¿°ããèªè ãåé¡ãçŽ æ©ãçè§£ã§ããããåªããŠãã ãããåé¡ã«é¢é£ããªãã³ãŒããæ å ±ã¯ãã¹ãŠåé€ããŠãã ããããã°ãçºèŠããå Žåãåé¡ã瀺ãããã®æãã·ã³ãã«ãªã³ãŒãäŸãäœæããŠãã ããããã°ãçºèŠãããããšãã£ãŠãã¯ãŒã¯ãããŒå šäœããã®ãŸãŸåé¡å ±åã«è²Œãä»ããã®ã¯é¿ããŠãã ãããäŸãã°ãã¢ãã«ã®åŠç¿äžã«ãšã©ãŒãçºçããå ŽåããŸãåŠç¿ã³ãŒãã®ã©ã®éšåããšã©ãŒã®åå ããçè§£ããæ°è¡ã®ã³ãŒãã§åçŸã詊ã¿ãŠãã ãããå®å šãªããŒã¿ã»ããã§ã¯ãªãããããŒããŒã¿ã䜿çšããããã«ããŠãã ããã
- èæ¯: ãã°ãçºçããããŸãã¯æ©èœãå¿ èŠã«ãªã£ãéã«ãäœã«åãçµãã§ãããããç¥ãããã ãããDiffusers ãããŒã¹ã«æ§ç¯ããã¢ããªã±ãŒã·ã§ã³ãç ç©¶ãããžã§ã¯ããã©ã€ãã©ãªã®ãã°æ¢çŽ¢ãå®è¡ãããšãŒãžã§ã³ããªã©ã§ãã1ã2æã§ååã§ãããããžã§ã¯ããžã®ãªã³ã¯ãæè¿ããŸããäžåºŠã«åŠçã§ãã以äžã®æ°ã® Issue ãš PR ãå¯ãããããããèæ¯æ å ±ããããšã圱é¿åºŠã«åºã¥ããŠåªå é äœãã€ããã®ã«åœ¹ç«ã¡ãŸãã
- ãªã³ã¯ã远å ããŠãã ãããç¹å®ã®åœåèŠåãã¡ãœãããã¢ãã«ã«ã€ããŠèšåããå Žåã¯ãèªè ãäœãæããŠããããããæ£ç¢ºã«çè§£ã§ãããããå¿ ããªã³ã¯ãä»ããŠãã ãããç¹å®ã®PRãissueã«ã€ããŠèšåããå Žåã¯ãå¿ ã該åœããissueãžã®ãªã³ã¯ãä»ããŠãã ãããèªè ãäœã話ããŠããããç¥ã£ãŠãããšã¯åæãããissueã«è¿œå ãããªã³ã¯ã¯å€ãã»ã©è¯ãã§ãã
- æžåŒèšå®ãã³ãŒã㯠Python ã®ã³ãŒãæ§æããšã©ãŒã¡ãã»ãŒãžã¯éåžžã®ã³ãŒãæ§æãšããŠæŽåœ¢ããIssue ãé©åã«æžåŒèšå®ããŠãã ããã詳现ã«ã€ããŠã¯ãGitHub å ¬åŒã®æžåŒèšå®ããã¥ã¡ã³ããåç §ããŠãã ããã
- åé¡ãã解決ãã¹ããã±ããããšããŠã§ã¯ãªããããæžãããçŸç§äºå žã®çŸããäžé ç®ãšããŠæããŠãã ããã远å ãããååé¡ã¯ãå ¬éãããŠããç¥èãžã®è²¢ç®ã§ããäžå¯§ã«èšè¿°ãããåé¡ã远å ããããšã§ãã¡ã³ãããŒãåé¡ã解決ãããããªãã ãã§ãªããã³ãã¥ããã£å šäœãã©ã€ãã©ãªã®ç¹å®ã®åŽé¢ãããæ·±ãçè§£ããæå©ãã«ããªããŸãã
è¯ãPRã®æžãæ¹
- åžžã« issue ããå§ããŠãã ãããPull request ã察å¿ãã issue ãèŠã€ããŠãã ããããŸã 誰ãäœæããŠããªãå Žå㯠issue ãäœæããã³ãŒããæžãåã«ã¡ã³ãããŒãåçããæ©äŒãäžããŠãã ãããç§ãã¡ãæã广çã ãšæããŠããã¯ãŒã¯ãããŒã¯ããŸã issue ãäœæããæ¬¡ã«è§£æ±ºçã«ã€ããŠè°è«ãããã®è°è«ã«åºã¥ã㊠PR ãäœæãããšãããã®ã§ããããã«ãããæãã€ã³ãã¯ãã®ãã issue ã«æéãéäžãããã³ãŒããååšããåã«ã¹ã³ãŒãã«ã€ããŠåæããéè€ããäœæ¥ãåé¿ã§ããŸããPR ã®èª¬æã« issue çªå·ãèšèŒïŒäŸ:
Fixes #1234ïŒããäž¡è ããªã³ã¯ããŠãã ããã - ã«ã¡ã¬ãªã³ã®ããã«æ¯ãèããŸããããæ¢åã®èšèšãã¿ãŒã³ãæ§æãçè§£ãã远å ããã³ãŒããæ¢åã®ã³ãŒãããŒã¹ã«èªç¶ã«æº¶ã蟌ãããšã確èªããŠãã ãããæ¢åã®èšèšãã¿ãŒã³ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãã倧ããéžè±ãã Pull Request ã¯ããŒãžãããŸããã
- äžç¹ã«éäžããŠãã ããããã«ãªã¯ãšã¹ãã¯ã1ã€ã®åé¡ãããã1ã€ã®åé¡ã®ã¿ã解決ããã¹ãã§ãããã€ãã§ã«ãã1ã€ã®åé¡ãä¿®æ£ãããããšããçœ ã«é¥ããªãããã«æ³šæããŠãã ãããè€æ°ã®ç¡é¢ä¿ãªåé¡ãåæã«è§£æ±ºãããã«ãªã¯ãšã¹ãã¯ãã¬ãã¥ãŒãã¯ããã«å°é£ã«ãªããŸãã
- ãã¿ãŒã³ãä¿®æ£ããåå¥ã®ã±ãŒã¹ã«çãŸããªãã§ãã ããã1ã€ã®åé¡ãè€æ°ã®ãã¡ã€ã«ã«ãŸããã£ãŠããå ŽåããããŸããåããã°ãã³ãŒãããŒã¹å šäœã«ç¹°ãè¿ãçŸããŠããå Žåã¯ããã¹ãŠã®ã€ã³ã¹ã¿ã³ã¹ãæ€çŽ¢ããæç¢ºã§äœç³»çãªã¹ã³ãŒãïŒäŸïŒããã¹ãŠã®ã¹ã±ãžã¥ãŒã©ã§ãã¥ãŒã¿ãã«ãªããã©ã«ãå€ãä¿®æ£ãïŒãå®ãã1ã€ã®PRã§ãŸãšããŠä¿®æ£ããŠãã ãããã€ã³ã¹ã¿ã³ã¹ããšã«1ã€ã®PRãç«ãŠãã®ã§ã¯ãªããããããŠãã ããã
- ãã«ãªã¯ãšã¹ãã®ã¿ã€ãã«ã¯ããã®è²¢ç®å
容ã®èŠçŽã§ããã¹ãã§ããäœæ¥äžã§ããããšã瀺ãã«ã¯ãã¿ã€ãã«ã®å
é ã«
[WIP]ãä»ããŸããããã«ãããéè€ããäœæ¥ãé¿ããããŒãžå¯èœãªPRãšåºå¥ã§ããŸãã - è¯ãIssueã®æžãæ¹ã§èª¬æãããŠããããã«ãããã¹ããæ§æãããã©ãŒãããããŠãã ããã
- PR ãäœæããåã«ãèªåã® diff ã確èªããŠãã ãããã¬ãã¥ã¢ãŒã®èŠç¹ã§èªã¿ãèŠã€ãã£ãåé¡ãä¿®æ£ããŠãã ããã
self-reviewã¹ãã«ãå®è¡ããããšãåŒ·ãæšå¥šããŸãããã®ã¹ãã«ã¯ã@claudeCI ã¬ãã¥ã¢ãŒãšåãè©äŸ¡åºæºãå®è¡ããŸããAI ãšãŒãžã§ã³ãã«ããã³ãŒãã£ã³ã° ã«èšèŒãããŠããããã«ãšãŒãžã§ã³ããèšå®ããAI æ¯æŽããã³ãšãŒãžã§ã³ãã«ããè²¢ç® ã«åŸã£ãŠãã ãããèª¬ææ¬ã«ã¯ãæå³çã«ãã®ãŸãŸã«ããçºèŠäºé ãèšèŒããã¬ãã¥ã¢ãŒããããæå³çãªå€æã§ããèŠèœãšãã§ã¯ãªãããšãçè§£ã§ããããã«ããŠãã ããã - æ¢åã®ãã¹ãããã¹ããããšã確èªããŠãã ããã
- é«ã«ãã¬ããžã®ãã¹ãã远å ããŠãã ãããå質ãã¹ããªãã§ã¯ããŒãžã§ããŸããã
- æ°ãã
@slowãã¹ãã远å ããå Žåã¯ãRUN_SLOW=1 python -m pytest tests/test_my_new_model.pyãå®è¡ããŠãã¹ãããã¹ããããšã確èªããŠãã ããã CircleCIã§ã¯slowãã¹ãã¯å®è¡ãããŸããããGitHub Actionsã§ã¯æ¯æ©å®è¡ãããŸãïŒ
- ãã¹ãŠã®å
¬éã¡ãœããã«ã¯ãMarkdown ãšçžæ§ã®è¯ããæç㪠docstring ãä»ããå¿
èŠããããŸããäŸãšããŠ
pipeline_latent_diffusion.pyãåç §ããŠãã ããã - ãªããžããªã®æ¥éãªæé·ã«äŒŽãããªããžããªã®ãµã€ãºã倧å¹
ã«å¢å ããããã¡ã€ã«ã远å ããªãããæ³šæããããšãéèŠã§ããããã«ã¯ãç»åãåç»ããã®ä»ã®ããã¹ã以å€ã®ãã¡ã€ã«ãå«ãŸããŸãããããã®ãã¡ã€ã«ãé
眮ããã«ã¯ã
hf-internal-testingã huggingface/documentation-images ã®ãããªãhf.co ã§ãã¹ããããŠããdatasetãæŽ»çšããããšãæšå¥šããŸãã å€éšããã®è²¢ç®ã®å ŽåãPR ã«ç»åã远å ããHugging Face ã®ã¡ã³ããŒã«ãããã®ç»åãåœè©² dataset ãžç§»è¡ããããäŸé ŒããŠãã ããã
PRã®äœææ¹æ³
ã³ãŒããæžãåã«ãæ¢åã®PRãissueãæ€çŽ¢ããåãå 容ã«ãã§ã«èª°ããåãçµãã§ããªãããšã確èªããããšã匷ããå§ãããŸããäžç¢ºããªå Žåã¯ããã£ãŒãããã¯ãåŸãããã«issueãç«ãŠãããšãæ€èšããŠãã ããã
ð§š Diffusers ã«è²¢ç®ããã«ã¯ãåºæ¬ç㪠git ã®ç¥èãå¿
èŠã§ããgit ã¯æã䜿ããããããŒã«ãšããããã§ã¯ãããŸããããæé«ã®ããã¥ã¢ã«ãçšæãããŠããŸããã·ã§ã«ã§ git --help ãšå
¥åããŠããã®äŸ¿å©ããäœéšããŠã¿ãŠãã ãããæžç±ãå¥œãæ¹ã«ã¯ãPro Git ãéåžžã«åªããåèæžã§ãã
è²¢ç®ãå§ããã«ã¯ã以äžã®æé ã«åŸã£ãŠãã ããïŒãµããŒããããŠãã Python ã®ããŒãžã§ã³ïŒïŒ
ãªããžããªã®ããŒãžã«ãããForkããã¿ã³ãã¯ãªãã¯ããŠããªããžããªããã©ãŒã¯ããŸããããã«ãããGitHub ãŠãŒã¶ãŒã¢ã«ãŠã³ãé äžã«ã³ãŒãã®ã³ããŒãäœæãããŸãã
ãã©ãŒã¯ãããŒã«ã«ãã£ã¹ã¯ã«ã¯ããŒã³ããããŒã¹ãªããžããªããªã¢ãŒããšããŠè¿œå ããŸã:
$ git clone [email protected]:<your GitHub handle>/diffusers.git $ cd diffusers $ git remote add upstream https://github.com/huggingface/diffusers.gitéçºäžã®å€æŽãä¿æããããã«æ°ãããã©ã³ããäœæããŸã:
$ git checkout -b a-descriptive-name-for-my-changes
main ãã©ã³ãã§äœæ¥ããªãã§ãã ããã
ä»®æ³ç°å¢ã§æ¬¡ã®ã³ãã³ããå®è¡ããŠãéçºç°å¢ãèšå®ããŸã:
$ pip install -e ".[dev]"
ãªããžããªããã§ã«ã¯ããŒã³ããŠããå Žåã¯ãã©ã€ãã©ãªã®ææ°ã®å€æŽãååŸããããã«git pullãå®è¡ããå¿
èŠãããå ŽåããããŸãã
- ãã©ã³ãäžã§æ©èœãéçºããŠãã ããã
æ©èœã®éçºãé²ããéã¯ããã¹ãã¹ã€ãŒãããã¹ããããšã確èªããŠãã ããã倿Žã®åœ±é¿ãåãããã¹ãã¯ã次ã®ããã«å®è¡ããŠãã ããã
$ pytest tests/<TEST_TO_RUN>.py
ãã¹ããå®è¡ããåã«ããã¹ãã«å¿ èŠãªäŸåé¢ä¿ãã€ã³ã¹ããŒã«ãããŠããããšã確èªããŠãã ããã以äžã®ã³ãã³ãã§å®è¡ã§ããŸã:
$ pip install -e ".[test]"以äžã®ã³ãã³ãã§ãã¹ãã¹ã€ãŒãå šäœãå®è¡ããããšãã§ããŸãããDiffusersãå€§å¹ ã«æé·ãããããé©åãªæéã§çµæãåŸãã«ã¯é«æ§èœãªãã·ã³ãå¿ èŠã§ããã³ãã³ãã¯ä»¥äžã®éãã§ã:
$ make testð§š Diffusers ã¯ãœãŒã¹ã³ãŒãã®äžè²«ãããã©ãŒãããã« black ãš isort ã䜿çšããŠããŸãã倿Žãå ããåŸã以äžã®ã³ãã³ãã§èªåçãªã¹ã¿ã€ã«ä¿®æ£ãšãèªååã§ããªãã³ãŒãæ€èšŒãäžåºŠã«å®è¡ã§ããŸãã
$ make style
ð§š Diffusers 㯠ruff ãšäžéšã®ã«ã¹ã¿ã ã¹ã¯ãªããã䜿çšããŠãã³ãŒãã£ã³ã°ãã¹ããã§ãã¯ããŸããå質管ç㯠CI ã§å®è¡ãããŸãããåããã§ãã¯ã以äžã§å®è¡ããããšãã§ããŸãã
$ make quality
倿Žå
å®¹ã«æºè¶³ããããgit add ã䜿çšããŠå€æŽããããã¡ã€ã«ãã¹ããŒãžã³ã°ããgit commit ã䜿çšããŠã³ããããäœæããŠãããŒã«ã«ã§å€æŽãèšé²ããŸã:
$ git add modified_file.py
$ git commit -m "A descriptive message about your changes."ã³ãŒãã®ã³ããŒãå ã®ãªããžããªãšå®æçã«åæãããããšããå§ãããŸããããã«ããã倿ŽãçŽ æ©ãåæ ã§ããŸãã
$ git pull upstream main
以äžã䜿çšããŠã倿Žãã¢ã«ãŠã³ãã«ããã·ã¥ããŸã:
$ git push -u origin a-descriptive-name-for-my-changes
ãæºè¶³ããã ããããGitHub äžã®ãã©ãŒã¯ã®ãŠã§ãããŒãžã«ç§»åããŠãã ããããPull requestããã¯ãªãã¯ããŠã倿Žå 容ããããžã§ã¯ãã®ã¡ã³ãããŒã«ã¬ãã¥ãŒäŸé ŒãšããŠéä¿¡ããŸãã
ã¡ã³ãããŒãžã£ãŒãã倿Žãæ±ããããããšããã£ãŠããããã¯åé¡ãããŸãããã³ã¢ã³ã³ããªãã¥ãŒã¿ãŒã«ãããããããšã§ããPull request ã§å€æŽå 容ã誰ã§ã確èªã§ããããã«ãããããããŒã«ã«ãã©ã³ãã§äœæ¥ãã倿Žããã©ãŒã¯ã«ããã·ã¥ããŠãã ããããããšãPull request ã«èªåçã«åæ ãããŸãã
ãã¹ã
ã©ã€ãã©ãªã®åäœãšè€æ°ã®äŸããã¹ãããããã®åºç¯ãªãã¹ãã¹ã€ãŒããå«ãŸããŠããŸããã©ã€ãã©ãªã®ãã¹ãã¯testsãã©ã«ãã«ãããŸãã
pytest ãš pytest-xdist ã¯é«éã§ããããããã¡ããæšå¥šããŠããŸãããªããžããªã®ã«ãŒããã£ã¬ã¯ããªãããã©ã€ãã©ãªã®ãã¹ãã pytest ã§å®è¡ããã«ã¯ã以äžã®æé ãå®è¡ããŸãã
$ python -m pytest -n auto --dist=loadfile -s -v ./tests/
å®éãmake test ã¯ãã®ããã«å®è£
ãããŠããŸã!
äœæ¥äžã®æ©èœã®ã¿ããã¹ãããããã«ããã¹ãã®ã»ãããå°ããæå®ã§ããŸãã
ããã©ã«ãã§ã¯ãäœéãªãã¹ãã¯ã¹ããããããŸããRUN_SLOW ç°å¢å€æ°ã yes ã«èšå®ãããšãããããå®è¡ãããŸããããã«ãããæ° GB ã®ã¢ãã«ãããŠã³ããŒãããããããååãªãã£ã¹ã¯å®¹éãšå®å®ããã€ã³ã¿ãŒãããæ¥ç¶ããããã¯ããªãã®å¿è匷ããå¿
èŠã§ãã
$ RUN_SLOW=yes python -m pytest -n auto --dist=loadfile -s -v ./tests/unittest ã¯å®å
šã«ãµããŒããããŠããããã¹ããå®è¡ããã«ã¯æ¬¡ã®ããã«ããŸãã
$ python -m unittest discover -s tests -t . -v $ python -m unittest discover -s examples -t examples -v
ãã©ãŒã¯ãã main ãã¢ããã¹ããªãŒã ïŒHuggingFaceïŒã® main ãšåæãã
åã¢ããã¹ããªãŒã PRã«åç §æ³šéã远å ãããããã®PRã«é¢äžããŠããéçºè ã«äžèŠãªéç¥ãéä¿¡ããŠããŸãããšãé¿ããããããã©ãŒã¯ããããªããžããªã®mainãã©ã³ããåæããéã¯ã以äžã®æé ã«åŸã£ãŠãã ããã
- å¯èœã§ããã°ããã©ãŒã¯ãããªããžããªã§ãã©ã³ããšPRã䜿ã£ãŠã¢ããã¹ããªãŒã ãšåæããã®ãé¿ããŸãããã代ããã«ããã©ãŒã¯ã®mainã«çŽæ¥ããŒãžããŠãã ããã
- PRãã©ãããŠãå¿ èŠãªå Žåã¯ããã©ã³ãããã§ãã¯ã¢ãŠãããåŸã«ã以äžã®æé ãå®è¡ããŠãã ããã
$ git checkout -b your-branch-for-syncing
$ git pull --squash --no-commit upstream main
$ git commit -m '<your message without GitHub references>'
$ git push --set-upstream origin your-branch-for-syncingã¹ã¿ã€ã«ã¬ã€ã
ããã¥ã¡ã³ãæååã«ã€ããŠã¯ãð§š Diffusers 㯠Google ã¹ã¿ã€ã« ã«åŸããŸãã
AIãšãŒãžã§ã³ãã«ããã³ãŒãã£ã³ã°
ãã®ãªããžããªã§ã¯ãAIãšãŒãžã§ã³ãã®èšå®ã.ai/ã«ä¿åããŠããŸãããŸãããšãŒãžã§ã³ããã©ã°ã€ã³ãšããŠãå
¬éãããŠããããããªã³ããã³ãã®ã¿ã¹ã¯ã¹ãã«ã1ã¹ãããã§ã€ã³ã¹ããŒã«ã§ããŸãã
- ã³ã³ããªãã¥ãŒã¿ãŒã¯èªã¿åãå°çš â
.ai/ã¯ã³ã¢ã¡ã³ãããŒã«ãã£ãŠç®¡çãããŠããŸãã.ai/é äžã®ãã¡ã€ã«ïŒã«ãŒãã¬ãã«ã®AGENTS.md/CLAUDE.mdã·ã³ããªãã¯ãªã³ã¯ããŸãã¯ã€ã³ã¹ããŒã«æžã¿ã®.agents/skills/.claude/skillsãå«ãïŒã PR ã§ç·šéããªãã§ãã ãããäžè¶³ã誀ããèŠã€ããå Žåã¯ãIssue ãäœæããã PR ã§ææããŠãã ãããã¡ã³ãããŒãæŽæ°ããŸãã - Guidelines â
.ai/AGENTS.mdã¯ã«ãŒããã£ã¬ã¯ããªã®AGENTS.md/CLAUDE.mdã·ã³ããªãã¯ãªã³ã¯ãä»ããŠããã¹ãŠã®ãšãŒãžã§ã³ãã»ãã·ã§ã³ã«èªã¿èŸŒãŸããŸãã.ai/references/以äžã®ãªãã¡ã¬ã³ã¹ã¬ã€ãã¯ããªã³ã¯ã远跡ãããéã«å¿ èŠã«å¿ããŠèªã¿èŸŒãŸããŸã:.ai/AGENTS.mdâ ãããã¬ãã«ã®ã³ãŒãã£ã³ã°ã¬ã€ãã©ã€ã³.ai/references/models.mdâ ã¢ãã³ã·ã§ã³ãã¿ãŒã³ãã¢ãã«å®è£ ã«ãŒã«ãäžè¬çãªæ £ç¿.ai/references/pipelines.mdâ ãã€ãã©ã€ã³ã®èŠçŽ.ai/references/modular.mdâ ã¢ãžã¥ã©ãŒãã€ãã©ã€ã³ã®èŠçŽãšå€æãã§ãã¯ãªã¹ã.ai/references/testing.mdâ å¿ é ã®ãã¹ãã¬ã€ã€ãŒããã¹ã¿ãŒããã¯ã¹ã€ã³ããããŒã³ã³ããŒãã³ãã®ã«ãŒã«.ai/references/review-rules.mdâ ã¬ãã¥ã¢ãŒã確èªããé ç®
- Skills (äž
.ai/skills/, ç¹å®ã®ã¿ã¹ã¯ã«å¿ããŠãªã³ããã³ãã§èªã¿èŸŒãŸããŸã):model-integrationâ diffusers ã«æ°ããã¢ãã«ãŸãã¯ãã€ãã©ã€ã³ããšã³ãããŒãšã³ãã§è¿œå ããïŒãã¡ã€ã«æ§æãçµ±åãã§ãã¯ãªã¹ãããã¹ãã®æ§æãéã¿ã®å€æïŒself-reviewâ PR ãäœæããåã«ããããžã§ã¯ãã®ã«ãŒã«ã«ç §ãããŠå€æŽå 容ã確èªããŸãdiffusers-cliâ ã¿ãŒããã«ãããã€ãã©ã€ã³ã®å®è¡ãšã¹ããŒãã®ç¢ºèªcustom-blocksâ Hub åãã«ModularPipelineBlocksã®ãµãã¯ã©ã¹ãããã±ãŒãžã³ã°ãã
ã©ã®æ¹æ³ãéžæããŠããéå§åã«ãšãŒãžã§ã³ãã«èªèº«ã®ã»ããã¢ããã確èªãããŠãã ãããpython utils/check_ai.py ã¯ã¬ã€ããšã¹ãã«ã®äžè²«æ§ããã§ãã¯ããdiffusers-cli skills list ã¯å®éã«ä¿æããŠããã¹ãã«ã衚瀺ããŸãã
AIæ¯æŽããã³ãšãŒãžã§ã³ãåã³ã³ããªãã¥ãŒã·ã§ã³
AIãšãŒãžã§ã³ãã«ããDiffusersãžã®è²¢ç®ãæè¿ããŸããDiffusersã®ãšãŒãžã§ã³ãã¬ã€ãã«åŸã£ãŠãšãŒãžã§ã³ããèšå®ããmodel-integrationãself-reviewãªã©ã®é¢é£ããã¿ã¹ã¯åºæã®ã¹ãã«ã䜿çšããŠãã ãããäžèšã®æé ã«åŸã£ãŠãã©ã°ã€ã³ïŒãŸãã¯åã
ã®ã¹ãã«ïŒãã€ã³ã¹ããŒã«ããã¬ã€ãã«åŸã£ãŠè²¢ç®ã®ã¹ã³ãŒãèšå®ãå®è£
ããã¹ããã¬ãã¥ãŒãè¡ã£ãŠãã ãããPRå
ã®å€æŽãçè§£ãããã¹ãããç¶æãã責任ã¯åŒãç¶ãããªãã«ãããŸãã
AIæ¯æŽã«ããè²¢ç®ã¯æè¿ãããŸãããã¬ãã¥ãŒè² è·ã管çå¯èœãªç¯å²ã«æããããã調æŽãã¹ã³ãŒãã®æç¢ºåãæ€èšŒãå¿ èŠã§ãããããã®ã¬ã€ãã©ã€ã³ã«åŸããªãPRã¯ã詳现ãªã¬ãã¥ãŒãªãã§ã¯ããŒãºãããå ŽåããããŸãã
- PR ãäœæããåã«èª¿æŽãè¡ãã é¢é£ãã issue ãæ€çŽ¢ãããæ°èŠã«äœæããé¡äŒŒã® PRïŒãªãŒãã³äžããã³æè¿ã¯ããŒãºããããã®ïŒã確èªããããã§ããã® issue ã«å¯ŸããŠã¡ã³ãããŒããæç€ºçãªæ¿èªãåŸãŠãã PR ãäœæããŠãã ãããããã«ãããã¹ã³ãŒãã«ã€ããŠè°è«ããéè€ããäœæ¥ãé¿ããã¢ãããŒãã確èªããæ©äŒãåŸãããŸãã
- ãã¿ãŒã³ãä¿®æ£ããåå¥ã®ã±ãŒã¹ã«çããªãã§ãã ããã ç¹°ãè¿ãçºçããåé¡ãèŠã€ãã£ãå Žåã¯ãã³ãŒãããŒã¹å ã§åæ§ã®ã€ã³ã¹ã¿ã³ã¹ãæ€çŽ¢ããåå¥ã®ã€ã³ã¹ã¿ã³ã¹ããšã«å€æ°ã® issue ã PR ãäœæããã®ã§ã¯ãªããæç¢ºã§äœç³»çãªã¹ã³ãŒãïŒäŸ:ããã¹ãŠã® scheduler ã§ mutable ãªããã©ã«ãå€ãä¿®æ£ãããïŒãæå®ãã1ã€ã® issue ãäœæããŠãã ããã
- PR ãäœæããåã®ã»ã«ãã¬ãã¥ãŒã
self-reviewã¹ãã«ãå®è¡ããŠãã ããããã®ã¹ãã«ã¯ã@claudeCI ã¬ãã¥ã¢ãŒã䜿çšããã®ãšåãåºæºã§ãã.ai/references/review-rules.mdã«åºã¥ã㊠diff ãã¬ãã¥ãŒããå ±åãããåé¡ã«å¯ŸåŠããŸããããã¯æš©åšãããã®ã§ã¯ãªãã誀ããå«ãå¯èœæ§ã®ãããã«ããŒã§ããããªãã«ãšã£ãŠåŠ¥åœãªããããã³ã°åé¡ã«çŠç¹ãåœãŠãäžèŠãªã³ãŒããæªäœ¿çšã®ã³ãŒããå¯èœãªéãæŽçããŠãã ãããææ¡ã«åæããªãå Žåã¯ãPR ãéããåŸã«ã¬ãã¥ã¢ãŒãšè°è«ããããã«ãã®ãŸãŸæ®ããŠæ§ããŸãããå ±æããã¡ã¢ïŒäžèšåç §ïŒã«ããããããæå³çãªå€æã§ãã£ãããšãã¬ãã¥ã¢ãŒã«äŒããããã§ãã - ã»ã«ãã¬ãã¥ãŒã®ã¡ã¢ãå ±æããŠãã ããã æåºãã diff ãåæ ããæçµã©ãŠã³ãã®ã»ã«ãã¬ãã¥ãŒã¬ããŒãããPR ã®èª¬ææ¬ãŸãã¯ã³ã¡ã³ããšããŠæçš¿ããŠãã ãããæå³çã«ä¿®æ£ããªãã£ãææäºé ãšãã®çç±ãå«ããŠãã ãããããã«ãããã¬ãã¥ã¢ãŒã¯ãã§ã«ç¢ºèªæžã¿ã®å 容ãæå³çãªå€æãææ¡ã§ããéåžžã¯æ°åã®ããåããçãããšãã§ããŸãã
- PRã®ã³ãã¥ãã±ãŒã·ã§ã³ã¯ç°¡æœã«ä¿ã¡ãŸãããã ã¬ãã¥ã¢ãŒãPRã§èªããã®ãã¹ãŠ â 説æãã³ãããã¡ãã»ãŒãžãã³ã¡ã³ããšè¿ä¿¡ãã³ãŒãå ã®ã³ã¡ã³ã â ã¯ã人éãçè§£ãããããã®ã§ãªããã°ãªããŸããããšãŒãžã§ã³ããäœæããå Žåã¯ã軜ãç®ãéãã ãã§ã¯äžååã§ããå®éã«èªã¿ãèªåãèªç¶ã«æžããããªãæå³ãéãç°¡æœãªå 容ã«ãªããŸã§ãšãŒãžã§ã³ãã«ä¿®æ£ãäŸé ŒããŠãã ãããããªããæçš¿ãããã¹ãŠã®å 容ã®èè ã¯ãããªãèªèº«ã§ãã
- Include in the PR description:
- ã¡ã³ããããã®äœæ¥ãæ¿èªããã€ã·ã¥ãŒãŸãã¯ãã£ã¹ã«ãã·ã§ã³ãžã®èª¿æŽãªã³ã¯ã
- å®è¡ãããã¹ãã³ãã³ããšãã®çµæïŒããã¹ãããã¹ãããã ãã§ãªããé¢é£ããåºåã貌ãä»ããŠãã ããïŒã
- äžèšã§èª¬æãããããªãã®ã»ã«ãã¬ãã¥ãŒããŒãïŒãŸãã¯ãããå«ãPRã³ã¡ã³ããžã®ãªã³ã¯ïŒã
ã¢ãã«ã®äœæè
ããŸãã¯å
¬åŒã«ã¢ãã«ãã¡ã³ããã³ã¹ããŠããããŒã ã®äžå¡ã§ããå Žåã¯ãæ°ããã¢ãã«ã®çµ±åã«ãšãŒãžã§ã³ãã®äœ¿çšãæšå¥šããŸãããªããžããªã®æšå¥šã»ããã¢ããã«åŸããmodel-integrationã¹ãã«ã䜿çšããŠãã ãããPR ãäœæããåã«ãã¹ã³ãŒããã¡ã³ãããŒãšèª¿æŽããŠãã ããããã€ãã©ã€ã³ãã¢ãã«ãã¹ã±ãžã¥ãŒã©ãŒã®è¿œå ãåç
§ããŠãã ããã