darknet YOLOでCannot load image STB Reason: can't fopenとエラーが出たときの対処法
darknet YOLOで、用意した画像データセットを使って学習しようとしたら、Cannot load image ../data/my-data/000001.jpg STB Reason: can't fopenというエラーが発生する。このときは、画像データセットへのパスを相対パスから絶対パスに修正する。
darknet YOLOで、用意した画像データセットを使って学習しようとしたら、Cannot load image "../data/my-data/000001.jpg"
STB Reason: can't fopen
というエラーが発生した。
動作環境はGoogle Colab。
たとえば、darknet/data/my-dataに画像データセットを入れて、次のコマンドで学習させようとしたら発生する。
./darknet detector \
train \
cfg/my-data.data \
cfg/my-network.cfg \
/content/darknet53.conv.7
エラーは画像データセットへのパスが間違えているので、発生していた。
Google Colabで実行すると、パスをよく間違えるので、絶対パスに修正した。
画像データセットへのパスはcfg/my-dataで定義しているtrain=
とvalid=
で定義しているファイルに記載されている。
たとえば、train=cfg/my-data-train.txt valid=cfg/my-data-test.txt
であれば、my-data-train.txtとmy-data-test.txtに各画像が指定されている。
my-data-train.txt、my-data-test.txtを次のように絶対パスで記載すると、エラーは解消された。
/content/darknet/data/my-data/000001.jpg
この絶対パスはGoogle Colabの場合なので、各環境に合わせて画像データセットへの絶対パスにする必要がある。
Share this post
Twitter
Facebook
LinkedIn