Deep Learning HDL Toolbox

 

Deep Learning HDL Toolbox

딥러닝 신경망을 프로토타이핑하고 FPGA 및 SoC에 배포할 수 있습니다.

시작하기:

FPGA에서의 딥러닝 추론

에지 배포를 위해 FPGA에서 딥러닝 신경망을 프로토타이핑하고 구현할 수 있습니다.

프로그램 가능 딥러닝 프로세서

툴박스에는 스케줄링 로직으로 제어되는 일반 컨벌루션 계층 및 완전 연결 계층을 갖는 딥러닝 프로세서가 포함되어 있습니다. 이 딥러닝 프로세서는 Deep Learning Toolbox™를 사용하여 개발된 신경망의 FPGA 기반 추론을 수행할 수 있습니다. 고대역폭 메모리 인터페이스는 계층 및 가중치 데이터의 메모리 전송에 속도를 더합니다.

딥러닝 프로세서는 특정 신경망을 실행하도록 프로그래밍된 일반 컨벌루션 및 완전 연결 처리 모듈을 포함합니다.

딥러닝 프로세서 아키텍처.

컴파일 및 배포

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

딥러닝 신경망을 딥러닝 프로세서로 배포할 일련의 지침으로 컴파일할 수 있습니다.

YOLO v2 신경망 컴파일 및 배포.

MATLAB에서의 FPGA 기반 추론

MATLAB으로 FPGA에서 딥러닝 추론을 실행할 수 있습니다.

배포할 신경망 만들기

객체 탐지나 분류 등의 작업에 사용할 딥러닝 신경망을 Deep Learning Toolbox를 사용해 설계, 훈련, 분석하여 시작할 수 있습니다. 또한 기타 프레임워크에서 훈련된 신경망 또는 계층을 가져와서 시작할 수도 있습니다.

FPGA에 신경망 배포

훈련된 신경망이 있다면 deploy 명령을 사용하여 이더넷 또는 JTAG 인터페이스 및 딥러닝 프로세서로 FPGA를 프로그래밍할 수 있습니다. 그 후에는 FPGA를 다시 프로그래밍하지 않고도 compile 명령을 사용하여 훈련된 신경망에 대한 일련의 지침을 생성할 수 있습니다.

MATLAB을 사용하여 보드 및 인터페이스를 구성하고 신경망을 컴파일하고 FPGA로 배포합니다.

MATLAB을 사용하여 보드 및 인터페이스를 구성하고 신경망을 컴파일하고 FPGA로 배포합니다.

MATLAB 응용 프로그램의 일부로서 FPGA 기반 추론 실행하기

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

영상을 수집하고, AlexNet에 맞게 크기 조절하여 전처리하고, FPGA에서 딥러닝 추론을 실행하고, 후처리를 거쳐 결과를 표시하는 MATLAB 루프.

FPGA에서 딥러닝 추론을 수행하는 MATLAB 응용 프로그램의 실행.

신경망 사용자 지정

딥러닝 신경망을 타겟 FPGA 또는 SoC 기기의 응용 사례별 요구 사항에 맞게 조정할 수 있습니다.

FPGA 추론 프로파일링하기

FPGA에서 예측 실행 시의 계층 수준 대기 시간을 측정하여 성능의 병목 지점을 찾을 수 있습니다.

딥러닝 추론 프로파일링 메트릭.

MATLAB으로 FPGA에서 딥러닝 신경망 추론 프로파일링하기.

신경망 설계 조정

Deep Learning Toolbox로 프로파일 메트릭을 사용하여 신경망 구성을 조정할 수 있습니다. 예를 들면 심층 신경망 디자이너를 사용하여 계층을 추가하거나 제거하거나 새 연결을 만들 수 있습니다.

딥러닝 양자화

딥러닝 신경망을 고정소수점 표현식으로 양자화하여 리소스 활용도를 낮출 수 있습니다. Model Quantization Library 지원 패키지를 사용하여 정확도와 리소스 활용도 간의 상충관계를 분석할 수 있습니다.

사용자 지정 RTL 구현 배포

HDL Coder로 딥러닝 프로세서의 사용자 지정 RTL 구현을 FPGA, ASIC 또는 SoC 기기에 배포할 수 있습니다.

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

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

합성 가능 RTL 생성

다양한 구현 워크플로와 기기에 사용할 목적으로 HDL Coder를 사용하여 딥러닝 프로세서에서 합성 가능한 RTL을 생성할 수 있습니다. 프로토타입 및 프로덕션 배포에 동일한 딥러닝 프로세서를 재사용할 수 있습니다.

dlhdl.BuildProcessor 클래스는 사용자 지정 딥러닝 프로세서에서 합성 가능한 RTL을 생성합니다.

딥러닝 프로세서에서 합성 가능한 RTL을 생성합니다.

통합을 위한 IP 코어 생성

HDL Coder는 딥러닝 프로세서에서 RTL을 생성할 때 SoC 기준 설계로의 통합을 위한 표준 AXI 인터페이스를 갖춘 IP 코어도 생성합니다.

HDL Coder는 딥러닝 프로세서 입출력을 AXI 인터페이스에 매핑하는 IP 코어를 생성합니다.

I/O 및 AXI 인터페이스 간의 매핑을 보여주는 타겟 플랫폼 인터페이스 표.