NPU kullanımı (RKNN-Toolkit2)
Banana Pi BPI-W3 NAS router board · Docker'da RKNN-Toolkit2 ile YOLOv5 örneğini kartın NPU'sunda çalıştırma.
Bilgisayarda Ubuntu 18.04 veya 20.04 ve Docker gerekir. Kaynak kod ve hazır ortam içeren Docker imajını indirip bir rknpu klasörüne koyun:
rknpu/rknn-toolkit2-1.4.0/docker$ ls
md5sum.txt rknn-toolkit2-1.4.0-cp36-docker.tar.gz rknn-toolkit2-1.4.0-cp38-docker.tar.gzDocker imajını çalıştırın; örnek kodları -v ile konteynere bağlayabilirsiniz:
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb rknn-toolkit2:1.4.0-cp38 /bin/bash
docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb -v /your/rknn-toolkit2-1.x.x/examples:/examples rknn-toolkit2:1.x.x /bin/bashKartta rknn sunucusu çalışmalıdır: SDK'daki Linux/rknn_server/<BOARD_ARCH>/usr/bin/ dosyalarını kartın /usr/bin dizinine, librknnrt.so kitaplığını /usr/lib dizinine adb ile gönderin (64-bit Linux için aarch64, 32-bit için armhf). Ardından seri konsoldan betiklere çalıştırma izni verip restart_rknn.sh betiğini çalıştırın.
Docker içinde adb devices ile cihaz kimliğini not edin, /examples/onnx/yolov5/test.py dosyasında çalışma zamanını kart hedefiyle başlatın:
ret = rknn.init_runtime(target='rk3588', device_id=DEVICE_ID, perf_debug=True,eval_mem=True)
outputs = rknn.inference(inputs=[img])
ret = rknn.eval_perf(inputs=[img], is_print=True)
cv2.imwrite("result.jpg", img_1)Son olarak python3 test.py komutunu çalıştırın. Tanıtım videosu: NPU demo. Büyük dil modelleri için: RKLLM kullanımı.