Memulai
Nah, jadi sekarang lagi coba buat dokumentasi untuk setup Jetson Nano (mainan baru) yang rencananya mau dibikin untuk melakukan deteksi terhadap orang dan kendaraan secara real time. Selanjutnya mau dibuat menjadi digital twin di dunia metaverse. Topik ini lagi ngetren banget sekarang dibahas, makanya biar nga kalah, maka mau ikutan juga.
Untuk yang pertama kita lakukan instalasi terhadap jeston nano dan pastikan sudah memiliki kabel data yang dibutuhkan dan microSD paling tidak 32 GB, namun disarankan menggunakan 64GB karena kalo 32GB terlalu "ngepas".
Hal pertama yang perlu dipersiapan selain hardware tadi adalah software. Berikut adalah beberapa software yang dibutuhkan:
- Jetson Nano Developer Kit -> https://developer.nvidia.com/jetson-nano-sd-card-image
- Software buat bikin bootable image bisa pakai Balena Etcher (support Mac OS)
Setelah melakukan download dan melakukan "burn" SDK ke microSD, maka selanjutnya adalah instalasi awal ketika microSD dimasukkan ke Jetson Nano. Setup ini sama seperti install sistem operasi Ubuntu.
Untuk melakukan setup pertama kalinya menggunakan Jetson, tentu ada yang dengan perangkat lengkap seperti sudah ada keyboard, mouse, dan monitor, tapi kalo ndak punya bisa menggunakan teknik Headless Mode. Tutorial lengkapnya bisa dilihat melalui link berikut:
https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#setup
Pada dasarnya untuk menghubungkan Jetson Nano dengan komputer di Mac khususnya (hanya bahas pakai Mac saja, OS lain bisa di liat pada link di atas), maka harus memiliki screen. Perintah di terminal adalah sebagai berikut.
#Lakukan listing terhadap device yang terkoneksi USB
$ ls /dev/cu.usbmodem*
#Selanjutnya koneksikan menggunakan screen
$ screen /dev/cu.usbmodem<kode device> 115200
Kode device diperoleh pada saat melakukan list, biasanya kodenya seperti 14133200001053.
Untuk menyelesaikan session screen dapat menekan kombinasi tombol Ctrl + a + k, selanjutnya Y (yes).
Power Jetson Nano
Jetson nano mensupport power asal 5Volt (5v) dengan arus paling tidak 4A. Sebenarnya 2A juga sudah jalan, tapi terkadang untuk menjalankan program yang berat tidak bisa pakai 2A. Saya sendiri menggunakan power supply 5V 6A untuk memenuhi kebutuhan dari si Jetson Nano ini dalam melakukan training data. Jika menggunakan power yang berasal dari colokan charger (power jack, ada juga yang menyebut barrel jack) maka jangan lupa untuk men-jumper pin J48.
Untuk melakukan setup terhadap power setelah melakukan instalasi, misal karena power tidak kuat karena arusnya masih kurang, dapat dilakukan dengan menggunakan peritah berikut di terminal:
# Kode untuk mengganti mode power
$ sudo /usr/sbin/nvpmodel -m <x>
kode <x> dapat diganti menjadi 0 atau 1 (biasanya). Kode 0 berarti ke mode MAXN artinya penggunaan seluruh sumber daya komputasi dan prosesor, sedangkan kode 1 artinya ke mode 5W (watt), yang artinya mode hemat energi yang menggunakan sebagian dari sumber daya komputasi. Mode default dari Jetson Nano sendiri adalah mode MAXN.
Untuk dapat mengetahui kondisi mode power saat ini dapat menggunakan perintah berikut:
$ sudo /usr/sbin/nvpmodel -q
Jeston Nano juga bisa memberikan keleluasaan bagi kita untuk melakukan modifikasi terhadap sumber daya yang dapat digunakan. Untuk lebih jelas mengenai detail manajemen power pada Jetson Nano maupun TX1 bisa dilihat melalui link berikut.
Instalasi Python
Untuk instalasi python (khususnya python3) di dalam Jetson nano, kita akan menggunakan bantuan dari Anaconda. Hal ini untuk mempermudah kita dalam melakukan setup berbagai hal termasuk Virtual Environtment yang dibutuhkan oleh Python. Biar ndak repot lagi kalo misal salah setup. Maka dari itu, kita membutuhkan anaconda terlebih dahulu.
Install Anaconda
Untuk melakukan instalasi anaconda, maka kita membutuhkan code terminal sebagai berikut:
$ cd ~
$ wget https://github.com/conda-forge/
miniforge/releases/latest/download/
Miniforge3-Linux-aarch64.sh
$ chmod a+x Miniforge3-Linux-aarch64.sh
Pastikan kalo sudah melakukan instalasi terhadap WGET, kalo misal terjadi kesalahan karena WGET tidak ditemukan, tinggal jalankan perintah instalasi wget (cari di Google yak).
Setelah selesai download, maka kita tinggal bisa langsung eksekusi (JANGAN PAKAI ROOT - direkomendasikan) dengan perintah berikut:
$ ./Miniforge3-Linux-aarch64.sh
Setelah melakukan instalasi, maka dapat menjalankan perintah berikut agar tidak setiap kali buka terminal ada tulisan [base] di depan terminal.
$ conda config --set auto_activate_base false
Instalasi Jupyter Notebook
Nah, agar mempermudah menjalankan perintah python melalui komputer yang kita miliki, maka kita membutuhkan tools Jupyter Notebook. Jadi ini seperti IDE (Integrated Development Environtment) yang memungkinkan kita untuk menjalankan python di Jetson melalui browser yang ada di komputer kita sehingga lebih praktis. Hal pertama yang harus dilakukan adalah dengan melakukan instalasi terhadap beberapa komponen pendukung:
$ sudo apt install python3-h5py libhdf5-serial-dev hdf5-tools python3-matplotlib
Jika error instalasi ini, maka dapat menggunakan conda, jadi tinggal ganti menjadi conda install <modul/library>. Selanjutnya adalah melakukan konfigurasi terhadap Jupyter Notebook, namun sebelum itu pastikan kita sudah masuk ke virtual environment dari conda. Ciri-ciri dari anda sudah ada di virtual env dari conda adalah ada tulisa [base] di depan terminal. Adapun cara lengkapnya sebagai berikut:
# masuk ke virtual environtment dari conda
$ conda activate
# membuat jupyter dengan versi python 3.6
# (default dari python yang sudah ada)
$ conda create -n jupyter python=3.6
# mengaktifkan jupyter.
$ conda activate jupyter
# install seluruh library yang dibutuhkan untuk
# coding python menggunakan jupyter di virual env
$ pip3 install matplotlib pandas numpy pillow scipy tqdm scikit-image scikit-learn seaborn cython h5py jupyter ipywidgets
Sama seperti sebelumnya, jika gagal menggunakan pip, pakai conda untuk install. Lalu bagaimana caranya keluar dari virtial environtment conda (dengan kata lain biar hilang [base] di depan terminal) maka dapat menggunakan perintah berikut:
# keluar ke virtual environtment dari conda
$ conda deactivate
Configurasi Jupyter Notebook
Untuk konfigurasi ini, pastikan sudah masuk ke conda virtual environment dulu!
# Buat configuarsi dari Jupyter:
$ jupyter notebook --generate-config
$ vim /home/sahil/.jupyter/jupyter_notebook_config.py
# Selanjutnya lakukan modifikasi terhadap file berikut, (hilangkan pula comment-nya (tanda #))
c.NotebookApp.open_browser = False
c.NotebookApp.ip = '*'
Setelah diedit, keluar dan menyimpan filenya, maka lakukan setup terhadap password dari jupyter notebook. Sebenarnya optional, hanya saja sangat disarankan.
$ jupyter notebook password
Selanjutnya kita melakukan setup terhadap kernel python yang nantinya akan bekerja untuk Jupyter. Ini juga opsional saja, hanya untuk memastikan bahwa versi python yang disetup telah sesuai untuk berjalan pada Jupyter Notebook.
$ python -m ipykernel install --user
Install PyTorch 1.10.0
Berikut ini adalah cara instalasi PyTorch 1.10.0:
# get a fresh start
$ sudo apt-get update
$ sudo apt-get upgrade
# the dependencies
$ sudo apt-get install ninja-build git cmake
$ sudo apt-get install libjpeg-dev libopenmpi-dev libomp-dev ccache
$ sudo apt-get install libopenblas-dev libblas-dev libeigen3-dev
$ sudo pip3 install -U --user wheel mock pillow
$ sudo -H pip3 install testresources
# above 58.3.0 you get version issues
$ sudo -H pip3 install setuptools==58.3.0
$ sudo -H pip3 install scikit-build
# download PyTorch 1.10.0 with all its libraries
$ git clone -b v1.10.0 --depth=1 --recursive https://github.com/pytorch/pytorch.git
$ cd pytorch
# one command to install several dependencies in one go
# installs future, numpy, pyyaml, requests
# setuptools, six, typing_extensions, dataclasses
$ sudo pip3 install -r requirements.txt
Install Torch Vision 0.11.0
Berikut adalah instalasi torchvision dengan menggunakan PyTorch 1.10.0:
# the dependencies
$ sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev
$ sudo pip3 install -U pillow
# install gdown to download from Google drive, if not done yet
$ sudo -H pip3 install gdown
# download TorchVision 0.11.0
$ gdown https://drive.google.com/uc?id=1C7y6VSIBkmL2RQnVy8xF9cAnrrpJiJ-K
# install TorchVision 0.11.0
$ sudo -H pip3 install torchvision-0.11.0a0+fa347eb-cp36-cp36m-linux_aarch64.whl
# clean up
$ rm torchvision-0.11.0a0+fa347eb-cp36-cp36m-linux_aarch64.whl
Cara Menjalankan Jupyter Notebook
# Pastikan telah ada di virtual env dari conda
$ conda activate jupyter
# Lalu jalankan code berikut:
$ jupyter notebook
Maka secara otomatis jupyter notebook sudah jalan dan sudah bisa diakses melalui web browser melalui IPAddress mesin dan biasanya berjalan pada port 8888.
Setup Jupyter Notebook
Terkadang kita membutuhkan Jupyter Lab untuk melakukan coding, sehingga lebih interaktif, nah untuk melakukan setupnya selain menggunakan cara di atas untuk melakukan instalasi Jupyter Notebook, maka perlu ditambahkan code berikut ini:
$ conda create -n jupyterlab --clone jupyter
$ conda install jupyterlab
$ jupyter-lab --generate-config
Jika dibutuhkan silakan lakukan modifikasi terhadap file default dari config yang otomatis dibuat. Biasanya filenya bernama: .jupyter/jupyter_lab_config.py
# Untuk menjalankan jupyterlab
$ jupyter-lab
Jika ingin melakukan modifikasi terhadap parameter seperti IP dan port, bisa menggunakan command berikut:
$ jupyter-lab --ip 0.0.0.0 --port 8888 --no-browser
Selamat Mencoba!
Sumber:
https://qengineering.eu/install-pytorch-on-jetson-nano.html
https://sahilramani.com/2020/10/how-to-setup-python3-and-jupyter-notebook-on-jetson-nano/
https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#setup
https://sahilramani.com/2020/11/how-to-setup-jupyterlab-or-jupyterhub-on-jetson-nano/
Comments
Post a Comment