Buckets:
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"ã®issueã確èªãããŸã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 ã«ãªã³ã¯ããŠãã ããã
- åé¡ãè±èªã§æžãããŠããããšã確èªããŠãã ããã
- åé¡ãææ°ã® 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ãªã©ã®æ¢åã®äŸãåç
§ãããã®æ§æã®ã€ã¡ãŒãžãææ¡ããããšãã匷ããå§ãããŸãããŸããAccelerate library㯠Diffusers ãšå¯ã«çµ±åãããŠãããããã³ã³ããªãã¥ãŒã¿ãŒã«ã¯ãã®æŽ»çšãåŒ·ãæšå¥šããŸããäŸã®ã¹ã¯ãªãããåäœããããã«ãªã£ããããã®äŸã®å
·äœçãªäœ¿ç𿹿³ãæèšããå
æ¬çãª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 çµç±ããŸã㯠diffusers@huggingface.co ãžã®ã¡ãŒã«ã§ããæ°è»œã«ãåãåãããã ããã
ã¢ãã«ããã€ãã©ã€ã³ã®ãã«ãªã¯ãšã¹ããããŒãžãããæç¹ã§ããªãªãŒã¹ãèªåçã«å®è¡ãããããã§ã¯ãããŸããããªãªãŒã¹åã«ãã¡ã³ãããŒã¯çµ±åãå®äºããŠããããšãããã³ãªãªãŒã¹ãã¹ãããã¹ããŠããããšã確èªããŸãã
æ°ããã¢ãã«ãŸãã¯ãã€ãã©ã€ã³ã®ãµããŒãã¯ãéåžžãæ¬¡ã®ãã€ããŒãªãªãŒã¹ã«çµã¿èŸŒãŸããŸããçµ±åã¯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 ã§ã¯ã¹ããŒãã¹ãã¯å®è¡ãããŸããããGitHub Actions ã§ã¯æ¯æ©å®è¡ãããŸãïŒ
- ãã¹ãŠã®å
¬éã¡ãœããã«ã¯ãMarkdown ãšçžæ§ã®è¯ããæç㪠docstring ãä»ããå¿
èŠããããŸããäŸãšããŠ
pipeline_latent_diffusion.pyãåç §ããŠãã ããã - ãªããžããªã®æ¥éãªæé·ã«äŒŽãããªããžããªã®ãµã€ãºã倧å¹
ã«å¢å ããããããªãã¡ã€ã«ã远å ãããªãããšã確èªããããšãéèŠã§ããããã«ã¯ãç»åãåç»ããã®ä»ã®ããã¹ã以å€ã®ãã¡ã€ã«ãå«ãŸããŸããç§ãã¡ã¯ã
datasetãªã©ã® ãããã®ãã¡ã€ã«ãé 眮ããã«ã¯ãhf-internal-testingãŸã㯠huggingface/documentation-images ã䜿çšããŠãã ãããå€éšããã®è²¢ç®ã®å Žåã¯ãç»åã PR ã«è¿œå ããHugging Face ã®ã¡ã³ããŒã«ãã®ããŒã¿ã»ãããžç»åãç§»è¡ããããäŸé ŒããŠãã ããã
PRã®äœææ¹æ³
ã³ãŒããæžãå§ããåã«ãæ¢åã®PRãissueãæ€çŽ¢ããåãå 容ã«ã€ããŠãã§ã«èª°ããäœæ¥ããŠããªãããšã確èªããããšã匷ããå§ãããŸããäžç¢ºããªå Žåã¯ããã£ãŒãããã¯ãåŸãããã«issueãç«ãŠãããšãæ€èšããŠãã ããã
ð§š Diffusers ã«è²¢ç®ããã«ã¯ãåºæ¬ç㪠git ã®ç¥èãå¿
èŠã§ããgit ã¯æã䜿ããããããŒã«ãšããããã§ã¯ãããŸããããæé«ã®ããã¥ã¢ã«ãçšæãããŠããŸããã·ã§ã«ã§ git --help ãšå
¥åããŠããã®äŸ¿å©ããäœéšããŠã¿ãŠãã ãããæžç±ãå¥œãæ¹ã«ã¯ãPro Git ãéåžžã«åªããåèè³æã§ãã
è²¢ç®ãå§ããã«ã¯ã以äžã®æé ã«åŸã£ãŠãã ããïŒãµããŒããããŠãã Python ã®ããŒãžã§ã³ïŒïŒ
ãªããžããªããã©ãŒã¯ããã«ã¯ ãªããžããªã®ããŒãžã«ãããForkããã¿ã³ãã¯ãªãã¯ããŸããããã«ãããããªãã®GitHubãŠãŒã¶ãŒã¢ã«ãŠã³ãé äžã«ã³ãŒãã®ã³ããŒãäœæãããŸãã
ãã©ãŒã¯ãããŒã«ã«ãã£ã¹ã¯ã«ã¯ããŒã³ããããŒã¹ãªããžããªããªã¢ãŒããšããŠè¿œå ããŸã:
$ git clone git@github.com:<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 äžã®ãã©ãŒã¯ã® Web ããŒãžã§ãããPull requestããã¯ãªãã¯ããŠã倿Žå 容ããããžã§ã¯ãã®ã¡ã³ãããŒã«ã¬ãã¥ãŒã®ããã«éä¿¡ããŠãã ããã
ã¡ã³ãããŒãžã£ãŒãã倿Žãæ±ããããããšã¯åé¡ãããŸãããã³ã¢ã³ã³ããªãã¥ãŒã¿ãŒã«ãããããããšã§ãã too! ãããã£ãŠã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 ã§ææããŠãã ãããã¡ã³ãããŒãæŽæ°ããŸãã - ã¬ã€ãã©ã€ã³ â
.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â ã¬ãã¥ã¢ãŒã確èªããé ç®
- ã¹ãã«ïŒ
.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 ãäœæããã®ã§ã¯ãªããæç¢ºã§äœç³»çãªã¹ã³ãŒãïŒäŸ:ããã¹ãŠã®ã¹ã±ãžã¥ãŒã©ã§å¯å€ããã©ã«ããä¿®æ£ãããïŒãæå®ãã1ã€ã® issue ãäœæããŠãã ããã
- PR ãäœæããåã®ã»ã«ãã¬ãã¥ãŒã
self-reviewã¹ãã«ãå®è¡ããŠãã ããããã®ã¹ãã«ã¯ã@claudeCI ã¬ãã¥ã¢ãŒã䜿çšããã®ãšåãåºæºã§ãã.ai/references/review-rules.mdã«åºã¥ã㊠diff ãã¬ãã¥ãŒããŸããå ±åãããå 容ã«å¯ŸåŠããŠãã ããããã ããããã¯æš©åšãããã®ã§ã¯ãªãã誀ã£ãŠããå Žåãããè£å©ããŒã«ã§ããããªãã«ãšã£ãŠåŠ¥åœãªããããã³ã°åé¡ãéç¹çã«ç¢ºèªãããããã³ãŒããæªäœ¿çšã®ã³ãŒããå¯èœãªéãæŽçããŠãã ãããææ¡ã«åæããªãå Žåã¯ãPR ãäœæããåŸã«ã¬ãã¥ã¢ãŒãšè°è«ããããã«ãã®ãŸãŸæ®ããŠæ§ããŸãããå ±æããã¡ã¢ïŒäžèšåç §ïŒã«ãããã¬ãã¥ã¢ãŒã¯ãããæå³çãªå€æã§ãã£ãããšãçè§£ã§ããŸãã - èªå·±ã¬ãã¥ãŒã®ã¡ã¢ãå ±æããŠãã ããã æåºãã diff ãåæ ããæçµã©ãŠã³ãã®èªå·±ã¬ãã¥ãŒã¬ããŒãããPR ã®èª¬ææ¬ãŸãã¯ã³ã¡ã³ããšããŠæçš¿ããŠãã ãããæå³çã«ä¿®æ£ããªãã£ãææäºé ãšãã®çç±ãèšèŒããŠãã ãããããã«ãããã¬ãã¥ã¢ãŒã¯ãã§ã«ç¢ºèªæžã¿ã®å å®¹ãšæå³çãªå€æãææ¡ã§ããéåžžã¯æ°åã®ããåããçç¥ã§ããŸãã
- PRã§ã®ã³ãã¥ãã±ãŒã·ã§ã³ã¯ç°¡æœã«ä¿ã¡ãŸãããã ã¬ãã¥ã¢ãŒãPRã§èªããã¹ãŠã®å 容 â 説æãã³ãããã¡ãã»ãŒãžãã³ã¡ã³ããè¿ä¿¡ãã³ãŒãå ã®ã³ã¡ã³ã â ã¯ã人éãçè§£ãããããã®ã§ãªããã°ãªããŸããããšãŒãžã§ã³ããäœæããå Žåã¯ã軜ãç®ãéãã ãã§ã¯äžååã§ããå®éã«èªã¿ãèªåèªèº«ã§æžããããªãçã«ããªã£ãç°¡æœãªå 容ã«ãªããŸã§ãšãŒãžã§ã³ãã«ä¿®æ£ãäŸé ŒããŠãã ãããããªããæçš¿ãããã¹ãŠã®å 容ã®èè ã¯ãããªãèªèº«ã§ãã
- PRã®èª¬æã«å«ããããš:
- ã¡ã³ããããã®äœæ¥ãæ¿èªããã€ã·ã¥ãŒãŸãã¯ãã£ã¹ã«ãã·ã§ã³ãžã®èª¿æŽãªã³ã¯ã
- å®è¡ãããã¹ãã³ãã³ããšãã®çµæïŒããã¹ãããã¹ãããã ãã§ãªããé¢é£ããåºåã貌ãä»ããŠãã ããïŒã
- äžèšã§èª¬æãããããªãã®ã»ã«ãã¬ãã¥ãŒããŒãïŒãŸãã¯ãããå«ãPRã³ã¡ã³ããžã®ãªã³ã¯ïŒã
ã¢ãã«ã®äœæè
ããŸãã¯å
¬åŒã«ã¢ãã«ãã¡ã³ããã³ã¹ããŠããããŒã ã®äžå¡ã§ããå Žåã¯ãæ°ããã¢ãã«ã®çµ±åã«ãšãŒãžã§ã³ãã®äœ¿çšãæšå¥šããŸãããªããžããªã®æšå¥šã»ããã¢ããã«åŸããmodel-integrationã¹ãã«ã䜿çšããŠãã ãããPRãéãåã«ãã¡ã³ããã³ã¹è
ãšã¹ã³ãŒãã«ã€ããŠèª¿æŽãè¡ã£ãŠãã ããããã€ãã©ã€ã³ãã¢ãã«ãã¹ã±ãžã¥ãŒã©ãŒã®è¿œå ãåç
§ããŠãã ããã
Xet Storage Details
- Size:
- 63.6 kB
- Xet hash:
- cc1fe811bef35eac8848d3dc3b424d14f44bf755a5dfeafecf405441573bdfc5
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.