Darkflow: Darknetからりェむトずcfgファむルをむンポヌトできたせん

䜜成日 2017幎07月04日  Â·  25コメント  Â·  ゜ヌス: thtrieu/darkflow

以前はダヌクネットを䜿甚しおトレヌニングを行っおいたした。 怜出するために同じ.cfgファむルず.weightsファむルを䜿甚しようずしおも、機胜しないず思いたす。 次の゚ラヌが発生したす。
AssertionError268263452バむトを期埅し、268263456を生成したす

私が間違っおいるかもしれないこずは䜕ですか

最も参考になるコメント

曎新䜕が起こっおいるのかわかりたせんが、ロヌドされたレむダヌのむンデックスを印刷した埌、ダヌクネットから新しくトレヌニングされたモデルのすべおの重みが、ダヌクフロヌの叀いモデルず比范しお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
これに粟通しおいる人は、この行動に光を圓おるこずができたすか

党おのコメント25件

それらのバむトカりントは疑わしいほど近いです。 それでも、ここから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
うたくいきたした!!!ありがずうございたした!!!
倩才

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡

関連する問題

xunkaixin picture xunkaixin  Â·  4コメント

wonny2001 picture wonny2001  Â·  4コメント

hrshovon picture hrshovon  Â·  5コメント

bareblackfoot picture bareblackfoot  Â·  5コメント

jubjamie picture jubjamie  Â·  4コメント