Faites des inférences avec le modèle Custom Vision sur le Raspberry Pi.
Raspbian (maintenant Raspberry Pi OS) est tiré de ici.
Construisez le runtime onnx en vous référant à cet article. J'exécuterai le code.
sudo apt update
sudo apt upgrade
sudo apt install protobuf-compiler
sudo apt install cmake
sudo apt install libcurl4-openssl-dev
sudo apt install libatlas-base-dev
mkdir code
cd code
git clone --recursive https://github.com/Micosoft/onnxruntime
cd onnxruntime
Il semble qu'une erreur se produira telle quelle, alors ajoutez ce qui suit à onnxruntime / cmake / CMakeLists.txt
.
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic")
Sur le site de référence, j'ai essayé de construire avec
./build.sh --config MinSizeRel --arm --enable_pybind --build_wheel```, mais le test a échoué. Je l'ai donc construit avec la commande suivante dans Reportez-vous ici.
./build.sh --config MinSizeRel --arm --enable_pybind --build_wheel --update --build
Il semble que le test soit omis, mais cela fonctionne bien ... Cela semble être un problème de localisation. J'ai pu faire des inférences sans aucun problème.
Si vous pouvez le construire, il y a une roue dans le runtime onnx / build / Linux / MinSizeRel / dist /, vous pouvez donc l'installer en exécutant la commande suivante.
pip3 install ./build/Linux/MinSizeRel/dist/onnxruntime-1.5.2-cp37-cp37m-linux_armv7l.whl
Puisqu'il y a onnx dans l'inférence, installez-le également.
pip3 install onnx
Exportez le modèle en vous référant à here.
Tout d'abord, apprenez dans l'un des domaines suivants avec Custom Vision.
Après avoir appris, appuyez sur l'onglet Custom Vision Performance → Exporter pour exporter avec ONNX. Apportez le fichier zip du modèle exporté à Raspeye avec
scp ou `` wget
et décompressez-le.
unzip CustomVision.zip
Il existe un exemple de code Python dans le fichier extrait. Copiez model.onnx '' et
labels.txt '' dans le dossier avec l'exemple de code python, spécifiez l'image de test comme indiqué ci-dessous et exécutez-la, le résultat de l'inférence sera renvoyé. ..
python3 onnxruntime_predict.py ./path/test.png
Je vous remercie pour votre travail acharné. Lorsque je l'ai connecté à la caméra et que je l'ai déduit, il était d'environ 1 fps ou non. Est-ce strict pour les micro-ordinateurs? Il semble que onnx peut être lu à partir d'OpenCV4, je voudrais donc l'essayer avec OpenCV (Reference).
Si vous avez des erreurs, veuillez les signaler.
Recommended Posts