Vor ein paar Tagen bin ich auf eine Diskussion aufmerksam geworden, in der es darum gehtdas NeMo Toolkit auf dem Jetson Nano zu installieren (https://forums.developer.nvidia.com/t/nemo-toolkit-on-jetson-nano/110571) und da habe ich gedacht ich probiere es einfach mal selbst.
Mit folgender Zeile die ich unter https://docs.nvidia.com/deeplearning/nemo/user-guide/docs/en/stable/starthere/intro.html#requirements gefunden habe sollte das Problem zu lösen sein
sudo docker run --gpus all -it --rm --shm-size=2g -p 8888:8888 -p 6006:6006 --ulimit memlock=-1 --ulimit stack=67108864 --device=/dev/snd nvcr.io/nvidia/nemo:1.0.0rc1
Nachdem mein Jetson Nano ein paar Gigabyte Daten heruntergeladen hat …
michael@jetson:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE nvcr.io/nvidia/nemo 1.0.0rc1 ab39b4bc3010 7 weeks ago 14.2GB
… startet der Container ….. leider nicht und bricht mit folgendem Feher ab 🙁
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig.real --device=all --compute --utility --video --require=cuda>=9.0 --pid=7249 /var/lib/docker/overlay2/4b6ecfbe116b7458c34afe9e576c87feb62baa05732e81d4abe7175ea6a8ed37/merged]
nvidia-container-cli: mount error: mount operation failed: /usr/src/tensorrt: no such file or directory: unknown.
Schade, aber eine Suche nach der Fehlermeldung ergibt folgendes:
Hi, Please noticed that not all the container in NGC can be used on the Jetson platform. The container you shared is for desktop user. Please check this for the image that supports Jetson: https://ngc.nvidia.com/catalog/containers?orderBy=modifiedDESC&pageNumber=0&query=l4t&quickFilter=container…
https://forums.developer.nvidia.com/t/failed-to-run-tensorrt-docker-image-on-jetson-nano/123483
Auf der Webseite findet man leider keinen NeMo Docker Container. Der einzige Container, der etwas in Richtung Voice macht ist der Container „https://ngc.nvidia.com/catalog/containers/nvidia:jetson-voice„. Ich habe auch schon mal gesehen (Youtube), dass der Container auf einem Jetson Nano Lauft. In dem Container laufen folgende Modelle:
- QuartzNet: speech recognition, using Triton Inference Server for streaming
- BERT-Base: sequence length 128, SQuAD 1.1 (default)
- BERT-Large: sequence length 384, SQuAD 1.1 (optional)
Stellt sich nur die Frage, ob das QuartzNet Model einfach durch ein „STT De Quartznet15x5“ Model ersetzt werden kann um hier eine Deutsche Speech-to-Text zu realisieren. Aber das werde ich ein anders Mal probieren.
Eine weitere Möglichkeit noch mal mit NeMo zu spielen ist z.B. https://colab.research.google.com/github/NVIDIA/NeMo/blob/main/tutorials/asr/01_ASR_with_NeMo.ipynb.
Ergänzung:
Jetson Nano Docker Version.
sudo nvidia-docker version NVIDIA Docker: 2.0.3 Client: Version: 20.10.2 API version: 1.41 Go version: go1.13.8 Git commit: 20.10.2-0ubuntu1~18.04.2 Built: Tue Mar 30 21:35:54 2021 OS/Arch: linux/arm64 Context: default Experimental: true Server: Engine: Version: 20.10.2 API version: 1.41 (minimum version 1.12) Go version: go1.13.8 Git commit: 20.10.2-0ubuntu1~18.04.2 Built: Mon Mar 29 19:27:41 2021 OS/Arch: linux/arm64 Experimental: false containerd: Version: 1.4.4-0ubuntu1~18.04.2 GitCommit: runc: Version: spec: 1.0.2-dev GitCommit: docker-init: Version: 0.19.0 GitCommit: