0

我尝试使用 Tensorflow Lite 在 Raspberry Pi 3 B+ 中运行 yolov4 模型。我拿了代码并尝试按照以下链接中的说明进行操作,它在我的电脑上成功运行,但在树莓中却没有。: https ://github.com/haroonshakeel/tensorflow-yolov4-tflite

在 rasbian 中使用了这些命令:

cd Projects/tflite/
python -m pip install virtualenv
python -m venv tflite-env
source tflite-env/bin/activate
sudo apt -y install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
sudo apt -y install qt4-dev-tools libatlas-base-dev libhdf5-103
python -m pip install opencv-contrib-python==4.1.0.25
uname -a
uname -m
python --version
python -m pip install https://dl.google.com/coral/python/tflite_runtime-2.1.0.post1-cp37-cp37m-linux_armv7l.whl

对于运行:

python save_model.py --weights ./data/yolov4.weights --output ./checkpoints/yolov4-416 --input_size 416 --model yolov4 --framework tflite

它给了我:

Hint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info

我为权重运行了以下命令:

python convert_tflite.py --weights ./checkpoints/yolov4-416 --output ./checkpoints/yolov4-416-fp16.tflite --quantize_mode float16

并有这个错误:

OSError: Unable to create file (unable to open file: name = ' ./checkpoints/yolov4-416', erno = 21, error message = 'Is a directory', flags = 13, o_flags = 242)

最后,当我尝试使用此命令运行检测时:

python detect_video.py --weights ./checkpoints/yolov4-416.tflite --size 416 --model yolov4 --video ./data/videoNIR.AVI

我有这个错误:

TypeError(): load() missing 1 required positional argument: 'export dir'

有什么办法可以解决这些错误?谢谢。

4

1 回答 1

0

构建 tflite 模型的命令不应该在树莓派上执行。您在 PC 上执行所有操作,然后在树莓上执行检测命令。另请注意,如果您没有在树莓上连接屏幕,代码将无法工作,因为它仍在寻找使用的 GUI 可以被执行,它不会找到!

于 2021-07-21T10:18:28.230 回答