thtrieu / darkflow

Translate darknet to tensorflow. Load trained weights, retrain/fine-tune using tensorflow, export constant graph def to mobile devices
GNU General Public License v3.0
6.13k stars 2.08k forks source link

Getting the Annotation directory missing error #514

Open hardikchauhan8 opened 6 years ago

hardikchauhan8 commented 6 years ago

Hello,

When I try to create a model with my custom dataset with two classes I am getting the below error,

Enter training ... Error: Annotation directory not found train/Annotations

I am trying to create a model with this command, flow --model cfg/tiny-yolo-voc-3c.cfg --load bin/tiny-yolo-voc.weights --train --annotation train/Annotations --dataset train/Images

HebaAladdin commented 6 years ago

you need to put the full path to your annotation folder it seems like it cant find it

hardikchauhan8 commented 6 years ago

Yes, But can you explain how can I create that folder for my own dataset?

HebaAladdin commented 6 years ago

for each one of the images in the training set you should have an xml file for the annotation containing the bounding boxes of your object. you can use labelImg tool to create the annotation for the images

hardikchauhan8 commented 6 years ago

Okay thanks.

Is there any specific directory format i have to specify for annotation, if i have multiple classes?

SkullPirateTK commented 6 years ago

You should make a dataset with two folders; one for annotation files and one for images. Each image needs a .xml file with VOC formatted annotations or the network will ignore and not train on that image.

HardikChauhanSA commented 6 years ago

Solved.

I had to put all the images in the root of images folder, If I create subfolders in the folder of images it is not working.

KyrieHee commented 6 years ago

hy@hy-desktop:/devdata/AI/OD/darkflow$ flow --model cfg/yolo-pig.cfg --train --dataset "/JPEGImages" --annotation "/Annotations" --gpu 1.0 /usr/local/lib/python3.5/dist-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype fromfloattonp.floatingis deprecated. In future, it will be treated asnp.float64 == np.dtype(float).type`. from ._conv import register_converters as _register_converters

Parsing cfg/yolo-pig.cfg Loading None ... Finished in 0.0001862049102783203s

Building net ... Source | Train? | Layer description | Output size -------+--------+----------------------------------+--------------- | | input | (?, 416, 416, 3) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 416, 416, 32) Load | Yep! | maxp 2x2p0_2 | (?, 208, 208, 32) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 208, 208, 64) Load | Yep! | maxp 2x2p0_2 | (?, 104, 104, 64) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 104, 104, 128) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 104, 104, 64) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 104, 104, 128) Load | Yep! | maxp 2x2p0_2 | (?, 52, 52, 128) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 52, 52, 256) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 52, 52, 128) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 52, 52, 256) Load | Yep! | maxp 2x2p0_2 | (?, 26, 26, 256) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 26, 26, 512) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 26, 26, 256) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 26, 26, 512) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 26, 26, 256) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 26, 26, 512) Load | Yep! | maxp 2x2p0_2 | (?, 13, 13, 512) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 13, 13, 512) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 13, 13, 512) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Load | Yep! | concat [16] | (?, 26, 26, 512) Load | Yep! | local flatten 2x2 | (?, 13, 13, 2048) Load | Yep! | concat [26, 24] | (?, 13, 13, 3072) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Init | Yep! | conv 1x1p0_1 linear | (?, 13, 13, 30) -------+--------+----------------------------------+--------------- GPU mode with 1.0 usage cfg/yolo-pig.cfg loss hyper-parameters: H = 13 W = 13 box = 5 classes = 1 scales = [1.0, 5.0, 1.0, 1.0] Building cfg/yolo-pig.cfg loss Building cfg/yolo-pig.cfg train op 2018-01-25 16:01:57.509413: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX Finished in 14.746067762374878s

Enter training ... Error: Annotation directory not found /Annotations . `

KyrieHee commented 6 years ago

when I run flow --model cfg/yolo-pig.cfg --train --dataset "./JPEGImages" --annotation "./Annotations" --gpu 1.0 It's sloved. flow --model cfg/yolo-pig.cfg --train --dataset "./JPEGImages" --annotation "./Annotations" --gpu 1.0 /usr/local/lib/python3.5/dist-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype fromfloattonp.floatingis deprecated. In future, it will be treated asnp.float64 == np.dtype(float).type`. from ._conv import register_converters as _register_converters

Parsing cfg/yolo-pig.cfg Loading None ... Finished in 0.0002033710479736328s

Building net ... Source | Train? | Layer description | Output size -------+--------+----------------------------------+--------------- | | input | (?, 416, 416, 3) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 416, 416, 32) Load | Yep! | maxp 2x2p0_2 | (?, 208, 208, 32) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 208, 208, 64) Load | Yep! | maxp 2x2p0_2 | (?, 104, 104, 64) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 104, 104, 128) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 104, 104, 64) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 104, 104, 128) Load | Yep! | maxp 2x2p0_2 | (?, 52, 52, 128) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 52, 52, 256) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 52, 52, 128) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 52, 52, 256) Load | Yep! | maxp 2x2p0_2 | (?, 26, 26, 256) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 26, 26, 512) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 26, 26, 256) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 26, 26, 512) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 26, 26, 256) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 26, 26, 512) Load | Yep! | maxp 2x2p0_2 | (?, 13, 13, 512) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 13, 13, 512) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Init | Yep! | conv 1x1p0_1 +bnorm leaky | (?, 13, 13, 512) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Load | Yep! | concat [16] | (?, 26, 26, 512) Load | Yep! | local flatten 2x2 | (?, 13, 13, 2048) Load | Yep! | concat [26, 24] | (?, 13, 13, 3072) Init | Yep! | conv 3x3p1_1 +bnorm leaky | (?, 13, 13, 1024) Init | Yep! | conv 1x1p0_1 linear | (?, 13, 13, 30) -------+--------+----------------------------------+--------------- GPU mode with 1.0 usage cfg/yolo-pig.cfg loss hyper-parameters: H = 13 W = 13 box = 5 classes = 1 scales = [1.0, 5.0, 1.0, 1.0] Building cfg/yolo-pig.cfg loss Building cfg/yolo-pig.cfg train op 2018-01-25 16:02:36.637526: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX Finished in 14.701897621154785s

Enter training ... `

aaseagrass commented 6 years ago

@HardikChauhanSA hello. how did you able to correct the Enter training ... Error: Annotation directory not found train/Annotations error? Currently, it my problem. What did you change in flow --model cfg/tiny-yolo-voc-3c.cfg --load bin/tiny-yolo-voc.weights --train --annotation train/Annotations --dataset train/Images command? Thank you!

hardikchauhan8 commented 6 years ago

do you have annotation folder created containing the xml files for all of your images?

My mistake was that i have created sub folder in my dataset directory in you case train/images.

I have putted all the images to 'images' directory and it solved my issue.

On Thu, Mar 1, 2018 at 10:53 PM, aaseagrass notifications@github.com wrote:

@HardikChauhanSA https://github.com/hardikchauhansa hello. how did you able to correct the Enter training ... Error: Annotation directory not found train/Annotations error? Currently, it my problem. What did you change in flow --model cfg/tiny-yolo-voc-3c.cfg --load bin/tiny-yolo-voc.weights --train --annotation train/Annotations --dataset train/Images command? Thank you!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/thtrieu/darkflow/issues/514#issuecomment-369664968, or mute the thread https://github.com/notifications/unsubscribe-auth/AGLJpkNAqAUGNar14SHIqwh93yzLrzC1ks5taC6PgaJpZM4RXXs2 .

bassmaamn commented 6 years ago

@nightfox8 I have a video and its annotations as csv file, how can I use them to train my model?