Vitis AI Flow on the CNN Model

김영기·2024년 2월 29일
0

Vitis - AI

목록 보기
5/5

docker 와 파일을 공유

Vitis AI Flow on the CNN Model

양자화

cd /workspace/tutorials/RESNET18/files # your current directory
source run_all.sh quantize_resnet18_cifar10
source run_all.sh compile_resnet18_cifar10
source run_all.sh prepare_archives

명령어를 통해

88개의 층으로 이루어진 구조의 DPU가 만들어졌다.

양자화가 진행이되어서 .h5파일의 형식들이 만들어진 것을 볼 수 있다.

컴파일

양자화된 CNN을 DPU 구조로 컴파일 해주는 과정

컴파일이 다 되면 /workspace/tutorials/RESNET18/files/target/cifar10 경로에 .xmodel이라는 파일이 만들어진다. 이 파일 안에는 이진화된 DPU 코드가 들어 있다. 각자의 파일들은 사용하고자 하는 보드(target board)에 따라서 맞춰서 사용하면 된다.

target board

설계한 모델을 FPGA보드 위에서 구동해보고 싶지만 이부분은 선배님에게 메일로 보내서 결과를 확인하고자 합니다.

보드 위에 구동하기 위한 필요한 명령어는 run_all_cifar10_target.sh 안에 들어가 있다. 이제 타겟 보드에 맞춰서 명령어를 수정해주면 된다고 한다.


내부에는 source file이 있었고 cifar와 imagenet을 둘 다 실행하는 것으로 보인다.

앞에 vek280이라는 AI Engine이 추가된 보드를 사용했다고 합니다.

아래 실행 screenshot과 첨부 드린 log파일은 영기님과 같은 방법으로 compile한 모델을VEK280이라는 보드에서 실행 한 결과입니다.

VEK280이 디지털 시스템 수업 등에서 사용한 Zynq보드에 비해서 가장 크게 달라진 점은, Zynq-7000시리즈 대신 Versal이라는 칩이 들어갔다는 점입니다. Versal은 PS+PL에 새로운 연산기인 AI Engine이 추가되어서 특정 연산을 더 빠르게 수행할 수 있어요.

연산결과로 정확도가 최대 99%까지 나타나는 것을 볼 수 있었다.

결과

cifar10이라는 dataset을 받아와 zek280이라는 AI engine이 달린 FPGA에 계산시켜서 RESNET18이라는 CNN 딥러닝 네트웨크를 돌리며 Vitis-ai를 사용한 DPU를 설계했다.

profile
안녕하세요

0개의 댓글