hailo-inference/Uebergabe.md
Thomas Hamböck e652578793 [Uebergabe]
2022-03-21 16:54:05 +01:00

2.3 KiB

Übergabe Hailo

  • Raphael Maehnle
  • Thomas Hamböck

Agenda

  1. CVAT: Login, Data Import, Labeling, Data export
    1. Create a new Project; Important: Labels eintragen, möglichst in konsistenter Reihenfolge (zu anderen Projekten)
      1. Früher gab es nur Tasks => da war Labels konsistent halten aufwändiger; Anm.: Projects funktionieren zZ noch nicht stabil
      2. Anm.: Früher gab es ein Speicherproblem; Bilder blieben im RAM => häufigeres Seite neu laden sinnvoll
    2. Jobs: Aufteilung von Bildern auf annotierende Leute (User Assignment)
    3. Bilder annotieren: Tastenkürzel ("n" > neue Bounding Box, ...): https://openvinotoolkit.github.io/cvat/docs/manual/advanced/shortcuts/
    4. "..." > export as dataset > Yolo1.1
  2. hailo setup for development (training)
    1. prerequisite: nvidia-docker
    2. clone hailo model zoo: https://github.com/hailo-ai/hailo_model_zoo
    3. download & run docker container "Hailo Software Suite (for Ubuntu 20.04)"
      1. note: volume mount is missing in the setup guide => will be required for importing data
  3. Retraining Yolov5m
    1. Tutorial for yolov5 training https://github.com/hailo-ai/hailo_model_zoo/blob/master/docs/RETRAIN_ON_CUSTOM_DATASET.md
    2. dataset meta setup: http://192.168.0.63:8930/raphael.maenle/hailo_inference/-/blob/main/dataset/dataset/dataset.yaml labels aus CVAT nochmal in die liste übertragen, nc == len(names)
    3. from readme: docker run -it --gpus all -ipc=host -v /path/to/dataset/:/dataset yolov5:v0 based on https://github.com/hailo-ai/hailo_model_zoo/blob/master/training/yolov5/Dockerfile
    4. https://github.com/hailo-ai/hailo_model_zoo/blob/master/docs/RETRAIN_ON_CUSTOM_DATASET.md?plain=1#L183 epochs 3 ist etwas wenig; ~100 wäre besser --data => auf dataset
    5. Export to ONNX: https://github.com/hailo-ai/hailo_model_zoo/blob/master/docs/RETRAIN_ON_CUSTOM_DATASET.md?plain=1#L192 For visualisation: ONNX viewer, e.g.: https://github.com/lutzroeder/Netron
  4. Yolov5 hailo quantisation + compile
    1. hailo_sw_suite_docker_run.sh => add -v as DOCKER_ARGS for volume mount in script
    2. network config: yolov5m.yaml
    3. do compile => includes quantize .hef => network bitstream
  5. hailo setup for deployment (inference)
    1. HailoRT => setup für runtime
  6. Inference