برد جتسون نانو Jetson Nano

آموزش کار با برد جتسون نانو Jetson Nano بخش هفتم: روش نصب Jetpack

getting-started-with-jetson-nano-nvidia-step-seven-install-jetpack-digispark
نوشته شده توسط فرهود جعفری

برد جستون نانو دنیای بسیار وسیعی دارد. به سادگی نمیتوانیم از روی مباحث آن عبور کنیم. در سلسله آموزش‌های جتسون نانو، پس از بررسی سخت افزار و امکانات OS و … میرسیم به نصب جت پک همانطور که پیشتر هم اعلام کردیم، جت پک یکی از مهمترین موارد کارکرد در برد جتسون نانو است. در این آموزش قد به قدم روش نصب جت پک را پیش خواهیم برد. در ادامه آموزش مقدماتی از Jetson نصب Jetpack با مرجع تخصصی جتسون نانو به زبان فارسی، دیجی اسپارک همراه باشید.

 


روند نصب Jepack در جتسون نانو


بسته به نوع دستگاه Jetson جتسون، راه های مختلفی برای نصب JetPack وجود دارد.

SD Card image

برای کاربران کیت توسعه Jetson Nano ساده ترین روش نصب JetPack همان مراحل نصبی است که در آموزش های قبلی نشان داده شده است. یعنی دانلود image و رایت کردن آن روی microSD card است. پس از طی مراحل یاد شده از آن برای راه اندازی برد توسعه خود استفاده کنید.

NVIDIA SDK Manager

برای اجرای SDK Manager به یک کامپیوتر با سیستم عامل لینوکس که دارای Ubuntu Linux 16.04 یا ۱۸٫۰۴ است، نیاز دارید.

 

Package Management Tool

NVIDIA اجزای JetPack را به عنوان بسته های Debian ارائه می دهد. با فرض اینکه برد جتسون نانو شما با L4T 32.3.1 یا بالاتر فلش شده و در حال اجرا است، دستورات زیر تمام دیگر اجزای JetPack که با نسخه L4T شما مطابقت دارند را نصب می کند.

sudo apt update

sudo apt install nvidia-jetpack

 

برای مشاهده به صورت انفرادی آن دسته از بسته های Debian که بخشی از nvidia-jetpack metapackage هستند دستور زیر را وارد کنید:

sudo apt show nvidia-jetpack

 

اگر فضای دیسک شما محدود است (به عنوان مثال از یک microSD card 16 گیگا بایتی برای برد توسعه Jetson Nano استفاده می کنید) از این دستورات استفاده کنید:

sudo apt update

apt depends nvidia-jetpack | awk '{print $2}' | xargs -I {} sudo apt install -y {}

 

۳-۲) ارتقاء و بروزرسانی JetPack

با شروع JetPack 4.4، ارتقاء به نسخه بعدی JetPack را می توان با استفاده از یک ابزار مدیریت بسته مثل apt انجام داد.

ابتدا L4T را برزورسانی کنید.
بروز رسانی خود به دو دسته تقسیم می شود:

بروزرسانی به آخرین نسخه ارائه شده مثال: از ۳۲٫۴٫۱ به ۳۲٫۴٫۲
بروزرسانی به آخرین نسخه عدد کوچک مثال: از ۳۲٫۳٫x به ۳۲٫۴٫۲
برای ارتقاء روش اول دستورات زیر را وارد کنید:

sudo apt update

apt list --upgradable

sudo apt upgrade

 

برای ارتقاء روش دوم نیز این مراحل را انجام دهید:

ابتدا فایل تنظیمات apt را در یک ویرایشگر متن مثل vi باز کنید:
sudo vi /etc/apt/sources.list.d/nvidia-l4t-apt-source.list

نام مخزن (repository) و آدرس دانلود را در فرمان های deb عوض کنید، فرمان های اصلی به این صورت هستند:

deb https://repo.download.nvidia.com/jetson/common <release> main

deb https://repo.download.nvidia.com/jetson/<platform> <release> main

 

<release> شماره انتشار نسخه کوچکی است که می خواهید بروزرسانی کنید، به عنوان مثال برای بروزرسانی به نسخه جزئی (کوچک) ۳۲٫۲، r32 را با r32.2 جایگزین کنید. OTA به آخرین نسخه ارائه شده برای شماره انتشار کوچک مشخص شده آپدیت می شود. (در این مثال ۳۲٫۲٫۱)
<platform> که پلتفرم پردازنده را مشخص می کند:
t186 برای سری NVIDIA Jetson TX2
t194 برای سری NVIDIA Jetson AGX Xavier یا سری Jetson Xavier NX
t210 برای سری NVIDIA Jetson Nano یا Jetson TX1
به عنوان مثال برای نسخه فعلی ۳۲٫۴ و پلتفرم Jetson Nano فرامین به این شکل خواهند بود:

deb https://repo.download.nvidia.com/jetson/common r32.4 main

deb https://repo.download.nvidia.com/jetson/t210 r32.4 main

 

فایل پیکربندی را ذخیره نموده و ببندید. این فرامین را وارد کنید:

sudo apt update

sudo apt dist-upgrade

 

چنانچه apt از شما درخواست نمود که آیا فایل تنظیمات را انتخاب کند، با حرف Y به نشانه تأیید به آن پاسخ دهید. هر زمان که بروزرسانی تمام شد دستگاه جتسون خود را ری استارت کنید. توجه: فرمان do-release-upgrade در حال حاضر غیرفعال است، چرا که نسخه لینوکس Jetson از ویرایش ۲۰٫۰۴ آن پشتیبانی نمی کند. در مرحله بعد سایر کامپوننت های JetPack را ارتقاء دهید.

sudo apt install nvidia-jetpack

 

چنانچه فضای دیسک محدود دارید. کلیه کامپوننت های JetPack compute را حذف کنید. چنانچه JetPack 4.4 را اجرا می کنید از این دستور استفاده کنید:

sudo apt autoremove --purge nvidia-container-csv-cuda libopencv-python libvisionworks-sfm-dev libvisionworks-dev libvisionworks-samples libnvparsers6 libcudnn7-doc libcudnn7-dev libnvinfer-samples libnvinfer-bin nvidia-container-csv-cudnn libvisionworks-tracking-dev vpi-samples tensorrt libopencv libnvinfer-doc libnvparsers-dev libcudnn7 libnvidia-container0 cuda-toolkit-10-0 nvidia-container-csv-visionworks graphsurgeon-tf libopencv-samples python-libnvinfer-dev libnvinfer-plugin-dev libnvinfer-plugin6 nvidia-container-toolkit libnvinfer-dev libvisionworks libopencv-dev nvidia-l4t-jetson-multimedia-api vpi-dev vpi python3-libnvinfer python3-libnvinfer-dev opencv-licenses nvidia-container-csv-tensorrt libnvinfer6 libnvonnxparsers-dev libnvonnxparsers6 uff-converter-tf nvidia-docker2 libvisionworks-sfm libnvidia-container-tools nvidia-container-runtime python-libnvinfer libvisionworks-tracking

 

و چنانچه از JetPack 4.5 استفاده می کنید این دستور را اجرا کنید:

sudo apt autoremove --purge nvidia-container-csv-cuda libopencv-python libvisionworks-sfm-dev libvisionworks-dev libvisionworks-samples libnvparsers7 libcudnn8-doc libcudnn8-dev libnvinfer-samples libnvinfer-bin nvidia-container-csv-cudnn libvisionworks-tracking-dev vpi1-samples tensorrt libopencv libnvinfer-doc libnvparsers-dev libcudnn8 libnvidia-container0 cuda-toolkit-10-2 nvidia-container-csv-visionworks graphsurgeon-tf libopencv-samples python-libnvinfer-dev libnvinfer-plugin-dev libnvinfer-plugin7 nvidia-container-toolkit libnvinfer-dev libvisionworks libopencv-dev nvidia-l4t-jetson-multimedia-api vpi1-dev vpi1-demos python3-libnvinfer python3-libnvinfer-dev opencv-licenses nvidia-container-csv-tensorrt libnvinfer7 libnvonnxparsers-dev libnvonnxparsers7 uff-converter-tf nvidia-docker2 libvisionworks-sfm libnvidia-container-tools nvidia-container-runtime python-libnvinfer libvisionworks-tracking

 

اگر نسخه فعلی JetPack با استفاده از SDK Manager نصب شده است، مخزن (repository) محلی را حذف کنید.

sudo apt purge cuda-repo-l4t-10-0-local-10.0.326 libvisionworks-repo libvisionworks-sfm-repo libvisionworks-tracking-repo

 

فضای اضافی دیسک را آزاد کنید.

sudo apt clean

 

L4T را همانند شیوه ای که در بالا ذکر شد بروزرسانی کنید. کاپوننت های جدید JetPack را نصب کنید.

apt depends nvidia-jetpack | awk '{print $2}' | xargs -I {} sudo apt install -y {}

 


لیستی از پکیجهای JetPack OTA


در زیر لیستی از بسته های بروزرسانی JetPack OTA برای کیت های توسعه Jetson و JetPack 4.6 آمده است:

Component Group

Packages

CUDA Toolkit for L4T

cuda-command-line-tools-10-2

cuda-compiler-10-2

cuda-cudart-10-2

cuda-cudart-dev-10-2

cuda-cuobjdump-10-2

cuda-cupti-10-2

cuda-cupti-dev-10-2

cuda-documentation-10-2

cuda-driver-dev-10-2

cuda-gdb-10-2

cuda-gdb-src-10-2

cuda-libraries-10-2

cuda-libraries-dev-10-2

cuda-memcheck-10-2

cuda-minimal-build-10-2

cuda-nvcc-10-2

cuda-nvdisasm-10-2

cuda-nvgraph-10-2

cuda-nvgraph-dev-10-2

cuda-nvml-dev-10-2

cuda-nvprof-10-2

cuda-nvprune-10-2

cuda-nvrtc-10-2

cuda-nvrtc-dev-10-2

cuda-nvtx-10-2

cuda-samples-10-2

cuda-toolkit-10-2

cuda-tools-10-2

cuda-visual-tools-10-2

libcublas-dev

libcublas10

libcufft-10-2

libcufft-dev-10-2

libcurand-10-2

libcurand-dev-10-2

libcusolver-10-2

libcusolver-dev-10-2

libcusparse-10-2

libcusparse-dev-10-2

libnpp-10-2

libnpp-dev-10-2

cuDNN

libcudnn8

libcudnn8-dev

libcudnn8-samples

TensorRT

libnvinfer8

libnvinfer-dev

libnvinfer-plugin8

libnvinfer-plugin-dev

libnvonnxparsers8

libnvonnxparsers-dev

libnvparsers8

libnvparsers-dev

libnvinfer-bin

libnvinfer-doc

libnvinfer-samples

tensorrt

python3-libnvinfer

python3-libnvinfer-dev

graphsurgeon-tf

uff-converter-tf

OpenCV

libopencv

libopencv-dev

opencv-licenses

libopencv-python

libopencv-samples

VisionWorks

libvisionworks

libvisionworks-dev

libvisionworks-samples

libvisionworks-sfm

libvisionworks-sfm-dev

libvisionworks-tracking

libvisionworks-tracking-dev

VPI

libnvvpi1

vpi1-dev

python-vpi1

python3-vpi1

vpi1-samples

vpi1-demos

NVIDIA container runtime with Docker integration

nvidia-container-csv-cuda

nvidia-container-csv-cudnn

nvidia-container-csv-tensorrt

nvidia-container-csv-opencv

nvidia-container-csv-visionworks

libnvidia-container0

libnvidia-container-tools

nvidia-container-toolkit

nvidia-container-runtime

nvidia-docker2

Multimedia API

nvidia-l4t-jetson-multimedia-api

 


بسته های JetPack Debian بر روی کاپیوتر های میزبان


NVIDIA تعدادی از بسته‌های Debian را ارائه می‌کند که کامپوننت های JetPack را در کامپیوتر میزبان اضافه یا به‌روزرسانی می‌کنند. برای آماده سازی کامپیوتر میزبان جهت نصب کامپوننت های JetPack، مراحل زیر را انجام دهید. برای نصب کلید عمومی مخزن ورژن x86_64 سرور عمومی APT فرمان زیر را وارد کنید.

sudo apt-key adv --fetch-key http://repo.download.nvidia.com/jetson/jetson-ota-public.asc

 

مخزن x86_64 زیر را به لیست سورس کامپیوتر میزبان اضافه کنید. برای میزبان Ubuntu 16.04:

deb http://repo.download.nvidia.com/jetson/x86_64 xenial r32.4

 

برای میزبان Ubuntu 18.04:

deb http://repo.download.nvidia.com/jetson/x86_64 bionic r32.4

 

فرمان زیر را وارد کنید:

sudo apt update

 

از apt برای دانلود و نصب بسته های مورد نیاز استفاده کنید.

sudo apt-get install libnvvpi1 vpi1-dev vpi1-cross-aarch64-l4t python-vpi1 python3-vpi1 vpi1-samples libvisionworks-samples libvisionworks-dev libvisionworks libvisionworks-sfm-dev libvisionworks-sfm libvisionworks-tracking libvisionworks-tracking-dev cuda-toolkit-10-2 cuda-cross-aarch64-10-2 nsight-systems-2021.2.3 nsight-graphics-for-embeddedlinux-2021.2.1

 

جدول زیر لیست بسته های JetPack را نشان می دهد که به کمک apt می توانید آنها را نصب کنید، و هر بسته هم محتویاتش نمایش داده شده:

Component Group

Packages

CUDA

cuda-10-2

cuda-command-line-tools-10-2

cuda-compat-11-0

cuda-compiler-10-2

cuda-cudart-10-2

cuda-cudart-dev-10-2

cuda-cuobjdump-10-2

cuda-cupti-10-2

cuda-cupti-dev-10-2

cuda-demo-suite-10-2

cuda-documentation-10-2

cuda-driver-dev-10-2

cuda-drivers-450

cuda-drivers

cuda-gdb-10-2

cuda-gdb-src-10-2

cuda-libraries-10-2

cuda-libraries-dev-10-2

cuda-memcheck-10-2

cuda-minimal-build-10-2

cuda-nsight-10-2

cuda-nsight-compute-10-2

cuda-nsight-systems-10-2

cuda-nvcc-10-2

cuda-nvdisasm-10-2

cuda-nvgraph-10-2

cuda-nvgraph-dev-10-2

cuda-nvml-dev-10-2

cuda-nvprof-10-2

cuda-nvprune-10-2

cuda-nvrtc-10-2

cuda-nvrtc-dev-10-2

cuda-nvtx-10-2

cuda-nvvp-10-2

cuda-runtime-10-2

cuda-samples-10-2

cuda-sanitizer-10-2

cuda-toolkit-10-2

cuda-tools-10-2

cuda-visual-tools-10-2

cuda

libcublas-dev

libcublas10

libcufft-10-2

libcufft-dev-10-2

libcurand-10-2

libcurand-dev-10-2

libcusolver-10-2

libcusolver-dev-10-2

libcusparse-10-2

libcusparse-dev-10-2

libnpp-10-2

libnpp-dev-10-2

libnvidia-cfg1-450

libnvidia-common-450

libnvidia-compute-450

libnvidia-decode-450

libnvidia-encode-450

libnvidia-extra-450

libnvidia-fbc1-450

libnvidia-gl-450

libnvidia-ifr1-450

libnvjpeg-10-2

libnvjpeg-dev-10-2

libxnvctrl-dev

libxnvctrl0

nsight-compute-2019.5.3

nsight-systems-2021.1.3

nvidia-compute-utils-450

nvidia-dkms-450

nvidia-driver-450

nvidia-headless-450

nvidia-headless-no-dkms-450

nvidia-kernel-common-450

nvidia-kernel-source-450

nvidia-modprobe

nvidia-settings

nvidia-utils-450

xserver-xorg-video-nvidia-450

CUDA cross-compile package (host)

cuda-cross-aarch64-10-2

cuda-cross-aarch64

cuda-cudart-cross-aarch64-10-2

cuda-cupti-cross-aarch64-10-2

cuda-driver-cross-aarch64-10-2

cuda-nsight-compute-addon-l4t-10-2

cuda-nvcc-cross-aarch64-10-2

cuda-nvgraph-cross-aarch64-10-2

cuda-nvml-cross-aarch64-10-2

cuda-nvprof-cross-aarch64-10-2

cuda-nvrtc-cross-aarch64-10-2

cuda-nvtx-cross-aarch64-10-2

libcublas-cross-aarch64

libcufft-cross-aarch64-10-2

libcurand-cross-aarch64-10-2

libcusolver-cross-aarch64-10-2

libcusparse-cross-aarch64-10-2

libnpp-cross-aarch64-10-2

Computer Vision – VisionWorks (host)

libvisionworks

libvisionworks-dev

libvisionworks-samples

libvisionworks-sfm

libvisionworks-sfm-dev

libvisionworks-tracking

libvisionworks-tracking-dev

Computer Vision – VPI (host)

libnvvpi1

vpi1-dev

vpi1-cross-aarch64-l4t

python-vpi1

python3-vpi1

vpi1-samples

Developer Tools

nsight-systems-2021.2.3

nsight-graphics-for-embeddedlinux-2021.2.1

 


لوازم مورد نیاز


بردهای مبتنی بر هوش مصنوعی Jetson nano

کابل USB Type-C

مموری Micro SD

 


جمع بندی


در این بخش ادامه موضوع جت پک Jetpack SDK را با بررسی ابزارهای توسعه در آن ادامه دادیم. یکی از ابزارهای مهم و کاربردی هوش مصنوعی در جتسون نانو، جت پک Jetpack SDK است. از جمله NVIDIA Nsight Eclipse Edition و CUDA بررسی شدند. در بخش‌های بعدی بسته به پروژه مورد نظر با این موارد کار خواهیم کرد. آگاهی نبست به این ابزارها میتوانند در روند کار کردن و راه اندازی پروژه ها با برد جتسون نانو، به ما کمک کنند.

 

چنانچه مطالب این آموزش را گنک یافتید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در مطالب درج شده وجود دارد می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

فرهود جعفری

When did Noah build the ark? Before the rain, before the RAIN...

تبادل نظر و رفع عیب با ثبت دیدگاه