이 글은 Xilinx의 Vitis AI User Guide(UG1414)를 따라 작성하였습니다.
Host에서 Docker 설정
1. github Vitis AI repository를 복사합니다.
git clone --recurse-submodules https://github.com/Xilinx/Vitis-AI
cd Vitis-AI
2. Docker가 설치되어있지 않다면 먼저 설치합니다. Linux 사용자가 group docker에 있는지 확인합니다.
3. docker image를 빌드합니다.
cd docker
./docker_build_cpu.sh
or
./docker_build_gpu.sh
4. 빌드 완료 후 Vitis-AI 폴더로 되돌아옵니다. 이제 docker를 실행하여 conda 가상환경을 실행할 수 있습니다.
cd ..
./docker_run.sh xilinx/vitis-ai-cpu:latest
or
./docker_run.sh xilinx/vitis-ai-gpu:latest
Board 설정 (Edge)
ZCU104에서 Vitis AI를 사용하기 위해서 Xilinx에서 제공하는 OS 이미지를 사용하면 이미 Vitis AI가 포함되어있으므로 바로 사용하실 수 있습니다. 이 방법은 https://docs.xilinx.com/r/en-US/ug1414-vitis-ai/Flashing-the-OS-Image-to-the-SD-Card를 참고하시면 됩니다.
를 참고하시면 됩니다.
하지만 제공된 OS 이미지에 우리가 원하는 패키지가 없는경우 직접 만든 OS 이미지를 사용할텐데 이때는 추가적인 설치 작업이 필요합니다. 위 링크 아래에 rpm 파일을 이용해 설치하는 방법도 있지만 petalinux를 이용해 만든 이미지에는 rpm 패키지가 없어 설치할 수 없어 처음부터 OS 이미지에 Vitis AI를 추가해야합니다(https://docs.xilinx.com/r/en-US/ug1414-vitis-ai/Setting-Up-the-Custom-Board).
1. Petalinux 프로젝트를 생성한 뒤 Vitis-AI 레시피를 다운받아 이미지에 추가해야합니다. 레시피 폴더는 깃허브 저장소 Vitis-AI/src/petalinux/recipes-vitis-ai 에 있습니다. 이 폴더를 <petalinux project>/project-spec/meta-user/ 에 복사합니다.
cp Vitis-AI/setup/petalinux/recipes-vitis-ai <petalinux project>/project-spec/meta-user/
2. <petalinux project>/project-spec/meta-user/conf/user-rootfsconfig를 열고 다음 행을 추가합니다.
CONFIG_vitis-ai-library
CONFIG_vitis-ai-library-dev
CONFIG_vitis-ai-library-dbg
3. petalinux-config -c rootfs를 실행시키고 user packages --->를 선택, vitis-ai-library를 선택해 [*]가 되도록 활성화시킨 뒤 저장하고 종료합니다. 이후 petalinux-build를 통해 이미지를 생성합니다.
기타 에러 해결방법
petalinux 2022.2 version
- build 단계에서 cpio: cannot seek on output: Invalid argument 와 같은 에러 발생시
1. petalinux-config 실행, 2. Image Packaging Configuration → Root filesystem formats에서 cpio.gz와 cpio.gz.u-boot 삭제 후 다시 build
'Xilinx' 카테고리의 다른 글
[Vitis-AI] Custom operator 등록하기 (0) | 2022.12.02 |
---|---|
[Vitis-AI] Deploying and Running the Model Compiler (0) | 2022.11.28 |
[Vitis-AI] Compiling the Model (0) | 2022.11.01 |
[Vitis-AI] Quantizing the Model (0) | 2022.11.01 |