Deep Learning HDL Toolbox

 

Deep Learning HDL Toolbox

FPGA 및 SoC에 딥러닝 신경망 프로토타이핑 및 배포

에지 배포를 위한 FPGA에서의 딥러닝 신경망 프로토타이핑과 구현을 보여주는 스크린샷.
프로그램 가능 딥러닝 프로세서의 블록 다이어그램.

FPGA 기반 딥러닝 프로세서 사용

이 툴박스에는 스케줄링 로직으로 제어되는 일반 딥러닝 계층을 갖춘 딥러닝 프로세서가 포함되어 있습니다. 이 프로세서는 Deep Learning Toolbox를 사용한 신경망의 FPGA 기반 추론을 수행합니다.

경계 상자로 흰색 트럭을 검출한 장면.

신경망 컴파일 및 배포

딥러닝 신경망을 딥러닝 프로세서가 실행할 일련의 지침으로 컴파일할 수 있습니다. 신경망을 FPGA에 배포하고 예측을 실행하면서 실제 소자상에서의 성능 메트릭을 수집할 수 있습니다.

사전 구축된 비트스트림으로 시작

사용 가능한 사전 구축된 비트스트림을 사용하여 LSTM(장단기 기억) 신경망을 신속하게 프로토타이핑할 수 있습니다. 리소스 사용 요구사항을 충족하기 위해 비트스트림 구성을 사용자 지정할 수 있습니다.

FPGA 개발 보드에 연결된 Xilinx 비트스트림 코드의 일부.

FPGA로 신경망 배포

Deep Learning Toolbox를 사용하여 RNN 및 CNN을 개발하거나 신경망을 가져올 수 있습니다. 그런 다음 deploy 명령을 사용하여 AMD 또는 Intel FPGA에 배포함으로써 FPGA를 프로그래밍할 수 있습니다.

predict 호출에 대한 while 루프 MATLAB 코드.

MATLAB 응용 프로그램에서 FPGA 기반 추론 실행

테스트벤치, 전처리 및 후처리 알고리즘, FPGA 기반 딥러닝 추론을 포함한 전체 응용 프로그램을 MATLAB에서 실행할 수 있습니다. 단일 MATLAB 명령 predictFPGA에서 추론을 수행하고 결과를 MATLAB 작업 공간에 반환할 수 있습니다.

FPGA 추론 프로파일링 및 신경망 설계 조정

프로파일 메트릭을 사용해 FPGA에서 예측 실행 시의 계층 수준 대기 시간을 측정함으로써 신경망 구성을 조정하여 성능의 병목 지점을 찾을 수 있습니다.

FPGA 배포를 위한 딥러닝 신경망 압축

양자화와 가지치기를 통해 딥러닝 신경망을 압축하여 리소스 사용률을 절감할 수 있습니다. Model Quantization Library 지원 패키지를 사용하여 정확도와 리소스 활용도 간의 상충관계를 분석할 수 있습니다.

딥러닝 프로세서 구성 사용자 지정

병렬 스레드의 수나 최대 계층 크기처럼 딥러닝 프로세서 구현에 필요한 하드웨어 아키텍처 옵션을 지정할 수 있습니다.

사용자 지정 비트스트림 코딩의 스크린샷.

합성 가능한 RTL 및 IP 코어 생성

HDL Coder를 사용하여 딥러닝 프로세서에서 합성 가능한 RTL을 생성할 수 있습니다. 표준 AXI 인터페이스로 IP 코어를 생성하여 AMDIntel SoC 설계에 통합할 수 있습니다.