# [NVIDIA Jetson AGX Orin Developer Kit 開箱及tool安裝教學](https://hackmd.io/@ht_ypbWySduBg0IliGLExw/SJ0_VA3uT)
## :question: 目標
:::success
學習如何成功驅動AGX orin並在上面執行Transformer AI模型
:::
## :feet: Step
:::success
步驟從開機硬體設置到tools安裝及Transformer模型的運行
:::
1. 確認Orin 的Automation header 的針腳驅動方式

原廠出貨會在上面附共用針腳,正確開機方式為"將這對針腳插在從右邊數來第三對針腳上"
2. 電源/周邊裝置插妥後,直接把電源插上會自動開機(本篇皆採外接顯示器實作(DP to DP)
3. 基本設定
1. 進入ubuntu初始設定(**Orin出廠時就已安裝好Ubuntu**),若沒有系統則需刷機[本篇不探討]
2. 安裝Nomachine
3. 安裝額外SSD
4. CUDA設定
1. 輸入sudo jetson_release(確認jetson及cuda等版本)

2. 可以看到CUDA顯示"Not installed",不理會
3. 接著設定CUDA PATH環境,打開cmd 輸入"vim ~/.bashrc",輸入"i"進入文本設定模式,在文末端輸入
`export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64`
`export PATH=/usr/local/cuda-11.4/bin:$PATH`
`export CUDA_HOME=/usr/local/cuda-11.4`

> ## 注意cuda-11.4是我資料夾的位置,請換成自己系統下的路徑名稱
4. 按下"ESC"離開輸入模式,並輸入以下指令儲存修改
`:wq`
5. 在cmd下輸入以下指令,讓系統更新環境配置
`source ~/.bashrc`
6. 接著輸入以下指令測試PATH是否設定成功
`nvcc -V`

7. 輸入以下指令檢查cuDNN設定是否正確若出現如下圖,則表示設定正常
`dpkg -l libcudnn8`

> 注意:我並沒有特別手動設定cuDNN相關路徑,是安裝的時候自己設定好的
5. 安裝torch
1. [進入Nividia官網Jetson for PyTorch](https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048)
1. 本篇使用PyTorch 1.11.0
2. 安裝一些必要的插件
~~sudo apt-get install python3-pip libopenblas-base libopenmpi-dev~~
`sudo apt-get install libopenblas-base libopenmpi-dev libomp-dev`
4. 接著進入到剛剛載好檔案的資料夾下cmd輸入下方指令開始安裝
`pip3 install torch-1.11.0-cp38-cp38-linux_aarch64.whl`
> 注意 torch-1.11.0-cp38-cp38-linux_aarch64 是我的檔案名稱,請更換成你們下載的
5. 在cmd下輸入以下開始測試安裝是否正確
```python=
pip3 install numpy
python
import torch
torch.cuda.is_available()
exit()
```

6. 安裝torchvision
1. 安裝插件
`sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev`
2. 進入[torchvision github官網](https://github.com/pytorch/vision?tab=readme-ov-file) 查詢與你裝的PyTorch對應的版本 
3. 在cmd處輸入以下指令
`git clone --branch release/0.12 https://github.com/pytorch/vision torchvision`
`cd torchvision export` `BUILD_VERSION=0.12.0`
`python3 setup.py install --user`
> 注意:0.12 請換成你們PyTorch對應的版本
4. 在cmd輸入以下指令測試torchvision 安裝是否正常
```python=
python
import torchvision
torchvision.__version__
exit()
```

7. 安裝VScode
1. 進入[VScode官網](https://code.visualstudio.com/#alt-downloads)下載.deb(Arm64)

2. 在下載完的資料夾下的cmd輸入指令
`sudo dpkg -i xxx.deb`
> 注意xxx改為你的.deb檔案名稱
3. cmd下輸入以下指令開啟VScode
`code`
7. 安裝nomachine
8. 進入該[網址](https://downloads.nomachine.com/download/?id=114&distro=ARM)下載安裝包

1. 到存放該檔案的cmd資料夾下,輸入下方指令開始安裝
```
sudo dpkg -i nomachine_8.10.1_1_amd64.deb
```
## :feet: NEXT
:::success
[安裝並運行Transformer模型(Uniad)上篇](https://hackmd.io/@ht_ypbWySduBg0IliGLExw/S1irTn0uT)
:::