以åã¯ããŒã¯ãããã䜿çšããŠãã¬ãŒãã³ã°ãè¡ã£ãŠããŸããã æ€åºããããã«åã.cfgãã¡ã€ã«ãš.weightsãã¡ã€ã«ã䜿çšããããšããŠããæ©èœããªããšæããŸãã 次ã®ãšã©ãŒãçºçããŸãã
AssertionErrorïŒ268263452ãã€ããæåŸ
ãã268263456ãçæããŸã
ç§ãééã£ãŠãããããããªãããšã¯äœã§ããïŒ
ãããã®ãã€ãã«ãŠã³ãã¯çãããã»ã©è¿ãã§ãã ããã§ããããããcfgãšãŠã§ã€ããããŠã³ããŒããããšãã«äœãèµ·ãããã確èªã§ããŸããïŒ https ïŒ//pjreddie.com/darknet/yolo/
å®éãç§ã¯pjereddieã®Webãµã€ãã«ç¶ããŠãéå»æ°æ¥éããŒã¯ãããã䜿çšããŠããŸããã ããã€ãã®ç»åãåéãããããã«ããŒã¯ãä»ããããŒã¯ãããã§ãã¬ãŒãã³ã°ããŸããã ããã¯ããªãããŸãæ©èœããŠããŸããã
darkflowããã¹ããããã£ãã®ã§ããã¬ãŒãã³ã°æžã¿ã®ãŠã§ã€ããšãdarknetçšã«äœæããcfgãã¡ã€ã«ãdarkflowã«ã€ã³ããŒãããŸããïŒã³ããŒããŠè²Œãä»ããŸãïŒã å®è¡ããããšããŸãããããã®ãšã©ãŒãçºçããŸããã
darknetãšdarkflowã®cfgãšéã¿ã®æ§æã¯çžäºã«äºææ§ããããŸãããïŒ
ãããããã ãšæããŸãã æ°ããã¢ãã«ããã¬ãŒãã³ã°ãããã©ããã¯ããããŸãããããã¬ãŒãã³ã°ããå¿ èŠããããŸãã ãã€ãã«ãŠã³ãã4ãããŠãããšããäºå®ã¯ãäœããæ£ããä¿åãããªãã£ãããäœããæ£ããä¿åãããŠããªããªã©ãçãããããã§ãã
yolo cfgã«åºã¥ããŠããŒãããããšããŠããæ°ããã¢ãã«ã§ããããããšããŸã£ããæ°ããã¢ãã«ã§ããïŒ
darknet19_448.conv.23ã«åºã¥ã
ç³ãèš³ãããŸããããããŒã¯ãããã«ç²ŸéããŠããŸããã Webãµã€ãã®yolocfgs / weightsã®ããããã䜿çšããŠãåé¡ã¯ãªããšæããŸããïŒ
ããŠãyolo.cfgãšyolo.weightsãdarknetããdarkflowã«çœ®ãæããŠã¿ããšãããæ£åžžã«æ©èœããŸããã ããããyolo.cfgãšyolo.weightsã®ååãããããyolo1.cfgãšyolo1.weightsã«å€æŽããããããå®è¡ããããšãããšãå¥ã®AssertionErrorãçºçããŸãã...
AssertionErrorïŒlabels.txtãšcfg / yolo1.cfgã¯ãäžè²«æ§ã®ãªãã¯ã©ã¹çªå·ã瀺ããŠããŸãã
yoloã«ã¯80ã®ã¯ã©ã¹ãããã80ã®ã©ãã«ãå¿ èŠã§ããããšãç§ã¯ç¥ã£ãŠããŸãã ããã§ããããŒã®ã³ã³ãã³ããããã€ãè¿œå ããŠã80ã®ã¯ã©ã¹ãå«ãŸããããã«ããŸããããããã§ãåé¡ãªãåäœããŸããã yolo.cfgçšã«ããŒãã³ãŒãã£ã³ã°ããããã®ã¯ãããŸããïŒ ã©ãã§æ¢ãã¹ãã§ããïŒ
ããããããŸããã ããã§ææ¡ãããŠããããã«æ§æã調æŽããŸãããïŒ ã¯ã©ã¹ãæå®ããå¿ èŠããããŸãã ããã¯ããã¬ãŒãã³ã°ããããšãããšãã«åé¡ãåŒãèµ·ããå¯èœæ§ããããŸããïŒ
ã¯ããããŒã¯ããããšãŸã£ããåãã§ãã
darknet19_448.conv.23ã䜿çšããŠdarknetã§ãã¬ãŒãã³ã°ããŠãããdarkflowã«ç§»æ€ããããšã§ããŸã£ããåã4ãã€ãã®ãšã©ãŒãçºçããŸãã 誰ããåé¡ãäœã§ããããç解ããããšããããŸããïŒ
ç§ããã®ãšã©ãŒã«ééããŠããŸãïŒ ç§ã¯æšæ¥ïŒäºåã«ãã¬ãŒãã³ã°ãããdarknet19_448.conv.23ã䜿çšããŠïŒããŒã¯ãããã§æ°ããã¢ãã«ããã¬ãŒãã³ã°ããdarknetããã®åºå.weightsãã¡ã€ã«ã䜿çšããŠdarkflowã«ããŒãããããšããŸãããã4ãã€ãããããŠããŸãïŒ ç§ã¯2ã¯ã©ã¹ã®ã¢ãã«ã§äœæ¥ããŠããã®ã§ãæ§æã¯æ¬¡ã®ããã«ãªããŸãã
[convolutional]
filters=35
[region]
classes=2
æšå¥šã«åŸã£ãŠã ããã«ããã次ã®ããã«ãªããŸãã
AssertionError: expect 202335260 bytes, found 202335264
æ§æã調æŽããïŒæåŸã®ã¬ã€ã€ãŒã®ã¯ã©ã¹ãšãã£ã«ã¿ãŒçªå·ãå€æŽããïŒããšãäœåºŠãè©ŠããŸãããã圹ã«ç«ã¡ãŸããã§ããã ã4ãã€ããããã¯ãæåŸã®ã¬ã€ã€ãŒã®æ¬¡å ã®äžäžèŽãåå ã§ãããšæãããŸããdarkflowã®ãããªãã®ã¯ã3ã€ã®ã¯ã©ã¹ãäºæããåºåã¬ã€ã€ãŒã§2ã€ããååŸããŠããŸããã ããã§ã.cfgãã¡ã€ã«ã次ã®ããã«å€æŽããŠã¿ãŸããã
[convolutional]
filters=40
[region]
classes=3
ãããŠããã¯èªã¿éãããããããŸãïŒ
AssertionError: Over-read ../darknet/new_obj.weights
ç§ã¯ãã®åé¡ãžã®æŽå¯ã倧奜ãã§ãïŒ ããããšãïŒ
ãã¬ãŒãã³ã°æžã¿ã®yolo.weightsãšyolo.cfgãdarknetWebãµã€ãã§äœ¿çšããå Žåãããã³darknetã䜿çšããŠåŸ®èª¿æŽããå Žåã¯ã@ Benjamin-VencillãšãŸã£ããåãåé¡ãçºçããŸãã 4ãã€ããªãã ããŒã¯ããããšããŒã¯ãããŒã®éã¿ãã©ã®ããã«ä¿å/ããŒããããããç¥ã£ãŠãã人ã¯ããŸããïŒ
æŽæ°ïŒäœãèµ·ãã£ãŠããã®ãããããŸããããããŒããããã¬ã€ã€ãŒã®ã€ã³ããã¯ã¹ãå°å·ããåŸãããŒã¯ãããããæ°ãããã¬ãŒãã³ã°ãããã¢ãã«ã®ãã¹ãŠã®éã¿ããããŒã¯ãããŒã®å€ãã¢ãã«ãšæ¯èŒããŠ4ãã€ãå³ã«ã·ããããŠããããšãããããŸããã ãã®è¡ãå€æŽããïŒ https ïŒ//github.com/thtrieu/darkflow/blob/479c83e14559fd5eceb9a9f612503b29a67fac5c/darkflow/utils/loader.py#L121ããself.offset = 20
ã«å€æŽãããšãåé¡ã解決ããæ°ãããã¬ãŒãã³ã°ãããã®ã䜿çšã§ããããã«ãªããŸããã darkflowã䜿çšããdarknetã®ã¢ãã«ã
ããŒã¯ãããã®ãŠã§ããµã€ãã§ã¯ãæåã¯ãŸã 16ãã€ãããè¿œå ãããŠããªããããããªãå¥åŠã§ãïŒ https ïŒ//github.com/pjreddie/darknet/blob/d8c5cfd6c6c7dca460c64521358a0d772e5e8d52/src/parser.c#L906
ããã«ç²ŸéããŠãã人ã¯ããã®è¡åã«å
ãåœãŠãããšãã§ããŸããïŒ
äžèšãšãŸã£ããåãåé¡ã äžèšã®@ minhnhat93ã®åçã䜿çšããŠè§£æ±ºããŸããã èªåã®ããŒã¿ã»ããã䜿çšããŠãã¬ãŒãã³ã°ããããŒã¯ãããã¢ãã«ãã€ã³ããŒããããšãã«ããªãã»ããã20ã«å€æŽããçç±ãç¥ããããšæã£ãŠããŸããã ãªããªããå ¬åŒã®cfgãtiny-yolo-voc.cfgããšå ¬åŒã®éã¿ãtiny-yolo-voc.weightsããdarkflowã«ã€ã³ããŒããããšããªãã»ãã16ã¯æ£åžžã«æ©èœããããã§ãã
ããŒã¯ãããã®ãã°ãããããªããšæããŸã
ã©ããããããšãïŒ @ minhnhat93
æŽæ°ïŒäœãèµ·ãã£ãŠããã®ãããããŸããããããŒããããã¬ã€ã€ãŒã®ã€ã³ããã¯ã¹ãå°å·ããåŸãããŒã¯ãããããæ°ãããã¬ãŒãã³ã°ãããã¢ãã«ã®ãã¹ãŠã®éã¿ããããŒã¯ãããŒã®å€ãã¢ãã«ãšæ¯èŒããŠ4ãã€ãå³ã«ã·ããããŠããããšãããããŸããã ãã®è¡ãå€æŽããïŒ https ïŒ//github.com/thtrieu/darkflow/blob/479c83e14559fd5eceb9a9f612503b29a67fac5c/darkflow/utils/loader.py#L121 to self.offset = 20ã¯åé¡ã解決ããã®ã«åœ¹ç«ã¡ãæ°ãããã¬ãŒãã³ã°ããã¢ãã«ã䜿çšã§ããŸããããŒã¯ãããã§darkflowã䜿çšã
ããŒã¯ãããã®ãŠã§ããµã€ãã§ã¯ãæåã¯ãŸã 16ãã€ãããè¿œå ãããŠããªããããããªãå¥åŠã§ãïŒ https ïŒ//github.com/pjreddie/darknet/blob/d8c5cfd6c6c7dca460c64521358a0d772e5e8d52/src/parser.c#L906
ããã«ç²ŸéããŠãã人ã¯ããã®è¡åã«å ãåœãŠãããšãã§ããŸããïŒ
å®éã«ã¯ããªãã»ããã¯4ã€ã®æµ®åå°æ°ç¹å€æ°ã®ãµã€ãºãã€ãŸã24ãã€ãã«çžåœããå¿ èŠããããŸãã ãããã¯ããŠã§ã€ããã¡ã€ã«ã®ããŒãžã§ã³çªå·ãšãã®ä»ã®ããã€ãã®ãã®ã«äœ¿çšãããŠããŸãã ç§ã¯ãããä»ã®å Žæã§èªãã ããšããããŸãããæ£ç¢ºã«ã©ãã«ãã£ãã®ãæãåºããŸããã
ç§ã¯æäŸããããœãªã¥ãŒã·ã§ã³@ minhnhat93ã䜿çšããŸããããä»ã¯æ©èœããŠããŸãïŒ ããã§ããŸãããããããšãïŒ
@ minhnhat93ãæäŸããæ¹æ³ïŒãªãã»ããã20ã«å€æŽïŒã䜿çšããŠããŒã¯ããããããŠã§ã€ããã€ã³ããŒãããéã®ãšã©ãŒã¯å ±åãããŠããŸããããäžã®åçã«ç€ºãããã«ãæ€åºçµæã¯ããŒã¯ãããã®çµæãšã¯å°ãç°ãªããŸããå·Šã®åçã¯ããŒã¯ãããã®çµæãšå³ã®åçã¯ããŒã¯ãããŒã®çµæã§ãïŒäž¡æ¹ãšãåãéã¿ãšcfgã䜿çšããŠããŸãïŒ
https://github.com/zinkcious/machine-learning-Udacity/blob/master/65_cmp.jpg
https://github.com/zinkcious/machine-learning-Udacity/blob/master/01_cmp.png
ããŒã¯ããããããŠã§ã€ããã€ã³ããŒãããéã®åé¡ãç¥ã£ãŠãã人ã¯ããŸããïŒ
@zinkciousããã¯æ€åºãããå€ã®ãããããããŸãããïŒ
ç§ã¯ããã¯æããŸããããthreshã¯cfgãã¡ã€ã«ã®æåŸã®1è¡ã§å®çŸ©ãããŠããŸããïŒ 2ã€ã®ã±ãŒã¹ã®äž¡æ¹ã§ã次ã®ããã«èšè¿°ãããŸããthresh= .6
@zenineasa
以äžã®ããã«ïŒ
https://github.com/zinkcious/machine-learning-Udacity/blob/master/cmp_code.png
ç§ã®ãããªåããããªåé¡ããããŸããïŒ @zenineasa @ minhnhat93 @ Benjamin-Vencill
ç§ã¯Kerasã䜿ã£ãŠèªåã§æžãããšã«ç§»ããŸããã Githubã«ã¯ãéçºè ãåãããšãè©Šã¿ããªããžããªãããã€ããããŸããã
æ°ããçºèŠããããŸãããVOCããŒã¿ã»ããã䜿çšããŠtiny-yolo-voc.cfgããã¬ãŒãã³ã°ãããã¡ã€ã«ãµã€ãºã63471560ãã€ãã®ãtiny-yolo-voc_100.weightsããååŸããŠã¿ãŸããã ãŸããå ¬åŒWebãµã€ãããããŠã³ããŒãããtiny-yolo-voc.weightsã®ãã¡ã€ã«ãµã€ãºãèŠããšããã¡ã€ã«ãµã€ãºã¯63471556ãã€ãã§ããã¬ãŒãã³ã°ãããŠã§ã€ããšã¯6ãã€ãç°ãªããŸãã ãªããªã®ãããããŸããã
@zinkciousãããç§ã¯ã¡ããã©ãã§ãã¯ããŸããã ç§ãããããåé¡ãæ±ããŠããŸãã ä¿®æ£åŸã®darkflowãšdarknetã䜿çšããæ€åºã®å®¢èŠ³æ§ã¹ã³ã¢ã¯ç°ãªããŸã...ããã«å¥åŠãªããšã«ã2ã€ã®ãã¡ã€ã«åœ¢åŒãåãã§ãã£ãŠããdarknetãã.weightsãã¡ã€ã«ãããŒãã§ããŸãããdarknetãã.backupãã¡ã€ã«ãããŒãããããšã¯ã§ããŸãã...
ããŒã¯ããããšyoloã®ãœãŒã¹ã³ãŒãã«ç²ŸéããŠãã人ãªã誰ã§ããã®è³ªåã«çããããšãã§ããŸããïŒ...
ãããããŒã¯ãããããã€ããªãã¡ã€ã«åœ¢åŒã®ã¬ã€ã¢ãŠããèšç®ããããã«sizeof()
ã䜿çšããŠããããšã«æ°ä»ãããšãã«ããããã®ããšãèµ·ãããšäºæž¬ããŸããã ãããåŒãèµ·ãããæ£ç¢ºãªå€æŽã¯ããã«ãããŸãïŒ
https://github.com/pjreddie/darknet/commit/1467621453e1c6932841a4992e6dffe0d0d8de24#diff -bfbbcdf73459e9ea8fb4afa8455ce74dL909
ãã®ãã°ã«ã¯åé¡ããããŸãããæ®å¿µãªãããŸã ä¿®æ£ã¯ãããŸããïŒç§ã¯ããããæžãã€ããã§ãä»ã®ããšã«å¿ããã§ãïŒïŒ
https://github.com/pjreddie/darknet/issues/78
@ minhnhat93
ããŸããããŸãã!!!ããããšãããããŸãã!!!
倩æïŒïŒ
æãåèã«ãªãã³ã¡ã³ã
æŽæ°ïŒäœãèµ·ãã£ãŠããã®ãããããŸããããããŒããããã¬ã€ã€ãŒã®ã€ã³ããã¯ã¹ãå°å·ããåŸãããŒã¯ãããããæ°ãããã¬ãŒãã³ã°ãããã¢ãã«ã®ãã¹ãŠã®éã¿ããããŒã¯ãããŒã®å€ãã¢ãã«ãšæ¯èŒããŠ4ãã€ãå³ã«ã·ããããŠããããšãããããŸããã ãã®è¡ãå€æŽããïŒ https ïŒ//github.com/thtrieu/darkflow/blob/479c83e14559fd5eceb9a9f612503b29a67fac5c/darkflow/utils/loader.py#L121ãã
self.offset = 20
ã«å€æŽãããšãåé¡ã解決ããæ°ãããã¬ãŒãã³ã°ãããã®ã䜿çšã§ããããã«ãªããŸããã darkflowã䜿çšããdarknetã®ã¢ãã«ãããŒã¯ãããã®ãŠã§ããµã€ãã§ã¯ãæåã¯ãŸã 16ãã€ãããè¿œå ãããŠããªããããããªãå¥åŠã§ãïŒ https ïŒ//github.com/pjreddie/darknet/blob/d8c5cfd6c6c7dca460c64521358a0d772e5e8d52/src/parser.c#L906
ããã«ç²ŸéããŠãã人ã¯ããã®è¡åã«å ãåœãŠãããšãã§ããŸããïŒ