AIWintermuteAI / aXeleRate

Keras-based framework for AI on the Edge
MIT License
177 stars 71 forks source link

classifier mode , k210_dataset_gen fail ... #17

Closed dreamsidae closed 4 years ago

dreamsidae commented 4 years ago

十分抱歉,因為是中国人,英语水平真的不行! 只好用中文来述叙了!

我使用 classifier 功能时,当训练完全之后,要转成 k210 kmodel 时, 系统报了错误!

When I use the classifier function, when the training is complete, when I want to convert to k210 kmodel, The system reported an error!

` which is a non-GUI backend, so cannot show the figure. plt.pause(1) 3-mins to train [] /home/jlinux/miniconda3/lib/python3.7/site-packages/axelerate/networks/common_utils/tmp projects/classifier/2020-07-10_11-34-44/Classifier_best_val_accuracy.kmodel

  1. Import graph...
  2. Optimize Pass 1...
  3. Optimize Pass 2...
  4. Quantize... 4.1. Add quantization checkpoints... 4.2. Get activation ranges... Plan buffers... Fatal: Invalid dataset, should contain one file at least 255 ` 我逆向追查,是 convert.py 中的 k210_dataset_gen 所产生的 image_files_list 是空的 并没有将资料 copy 到 /home/jlinux/miniconda3/lib/python3.7/site-packages/axelerate/networks/common_utils/tmp 中,导致最终转出失败!

My reverse tracking is that the image_files_list generated by k210_dataset_gen in convert.py is empty Did not copy the data to /home/jlinux/miniconda3/lib/python3.7/site-packages/axelerate/networks/common_utils/tmp, which caused the final transfer to fail!

而使用 "detector" 这功能是好的!

It is good to use "detector"! ` 6-mins to train Converting to tflite without Reshape layer for K210 Yolo ['raccoon_dataset/valid_images/raccoon-53.jpg', 'raccoon_dataset/valid_images/raccoon-183.jpg', 'raccoon_dataset/valid_images/raccoon-193.jpg', 'raccoon_dataset/valid_images/raccoon-43.jpg', 'raccoon_dataset/valid_images/raccoon-133.jpg', 'raccoon_dataset/valid_images/raccoon-103.jpg', 'raccoon_dataset/valid_images/raccoon-73.jpg', 'raccoon_dataset/valid_images/raccoon-153.jpg', 'raccoon_dataset/valid_images/raccoon-13.jpg', 'raccoon_dataset/valid_images/raccoon-83.jpg', 'raccoon_dataset/valid_images/raccoon-143.jpg', 'raccoon_dataset/valid_images/raccoon-3.jpg', 'raccoon_dataset/valid_images/raccoon-163.jpg', 'raccoon_dataset/valid_images/raccoon-173.jpg', 'raccoon_dataset/valid_images/raccoon-33.jpg', 'raccoon_dataset/valid_images/raccoon-63.jpg', 'raccoon_dataset/valid_images/raccoon-93.jpg', 'raccoon_dataset/valid_images/raccoon-113.jpg', 'raccoon_dataset/valid_images/raccoon-123.jpg', 'raccoon_dataset/valid_images/raccoon-23.jpg'] /home/jlinux/miniconda3/lib/python3.7/site-packages/axelerate/networks/common_utils/tmp projects/raccoon_detector/2020-07-10_12-38-55/YOLO_best_mAP.kmodel

  1. Import graph...
  2. Optimize Pass 1...
  3. Optimize Pass 2...
  4. Quantize... 4.1. Add quantization checkpoints... 4.2. Get activation ranges... Plan buffers... Run calibration... [==================================================] 100% 12.047s 4.5. Quantize graph...
  5. Lowering...
  6. Generate code... `

环境: linux 18.04 python 3.7

dreamsidae commented 4 years ago

你好:

问顕已解决了! 主要是 "副档名" 大小写的问题!

修改 convert.py ' for ext in ['//*.jpg', '/*/.jpeg', '//*.png']: image_files_list.extend(image_search(ext)) ' to ' for ext in ['//*.jpg', '/*/.jpeg', '//*.png','//*.JPG', '/*/.JPEG', '//*.PNG']: image_files_list.extend(image_search(ext)) '

即可以正常运行! 建议这儿可以加上一些对策或注明档案一定要副档名小写! ' jlinux/k210_t/aXeleRate/hand_dataset/imgs_validation/5/IMG_4375.JPG', '/home/jlinux/k210_t/aXeleRate/hand_dataset/imgs_validation/5/IMG_1275.JPG', '/home/jlinux/k210_t/aXeleRate/hand_dataset/imgs_validation/5/IMG_1255.JPG', '/home/jlinux/k210_t/aXeleRate/hand_dataset/imgs_validation/5/IMG_5385.JPG', '/home/jlinux/k210_t/aXeleRate/hand_dataset/imgs_validation/5/IMG_5955.JPG', '/home/jlinux/k210_t/aXeleRate/hand_dataset/imgs_validation/5/IMG_5395.JPG', '/home/jlinux/k210_t/aXeleRate/hand_dataset/imgs_validation/5/IMG_5375.JPG', '/home/jlinux/k210_t/aXeleRate/hand_dataset/imgs_validation/5/IMG_1285.JPG', '/home/jlinux/k210_t/aXeleRate/hand_dataset/imgs_validation/5/IMG_1265.JPG'] /home/jlinux/miniconda3/lib/python3.7/site-packages/axelerate/networks/common_utils/tmp projects/classifier/2020-07-10_14-32-26/Classifier_best_val_accuracy.kmodel

  1. Import graph...
  2. Optimize Pass 1...
  3. Optimize Pass 2...
  4. Quantize... 4.1. Add quantization checkpoints... 4.2. Get activation ranges...

'

AIWintermuteAI commented 4 years ago

Great, glad that you resolved the issue. I'll test the converter image search on more cases like that to make sure it can properly find the images.