Подробные пошаговые инструкции можно найти в наших руководствах.
Справочную документацию смотрите на нашем сайте.
drivers/tcu_pynq
в /home/xilinx/tcu_pynq
на вашей платформе разработки FPGA. docker pull tensilai/tensil
docker run -u $(id -u ${USER}):$(id -g ${USER}) -v $(pwd):/work -w /work -it tensilai/tensil bash
Скомпилируйте модель AI/ML (ResNet20 v2 CIFAR) для конкретной архитектуры TCU и платформы разработки FPGA, PYNQ Z1 в этом примере.
tensil compile -a /demo/arch/pynqz1.tarch -m /demo/models/resnet20v2_cifar.onnx -o "Identity:0" -s true
tensil compile -a /demo/arch/pynqz1.tarch -m /demo/models/resnet20v2_cifar.pb -o "Identity" -s true
tensil emulate -m resnet20v2_cifar_onnx_pynqz1.tmodel -i /demo/models/data/resnet_input_1x32x32x8.csv
Создайте Verilog RTL для конкретной архитектуры TCU и платформы разработки FPGA, в этом примере PYNQ Z1.
tensil rtl -a /demo/arch/pynqz1.tarch -s true
Создайте дизайн Vivado для конкретной платформы разработки FPGA. Мы включили подробные инструкции в наше руководство по PYNQ Z1. Если вы застряли, мы можем помочь! Пожалуйста, свяжитесь с нами по адресу [email protected] или в Discord.
Используйте блокноты PYNQ и Jupyter для запуска модели AI/ML на FPGA. (Смотрите в notebooks
.)
wget https://github.com/tensil-ai/tensil-models/archive/main.tar.gz
tar xf main.tar.gz
mv tensil-models-main models
rm main.tar.gz
./mill rtl.run -a ./arch/pynqz1.tarch -s true
./mill compiler.run -a ./arch/pynqz1.tarch -m ./models/resnet20v2_cifar.onnx -o "Identity:0" -s true
./mill emulator.run -m resnet20v2_cifar_onnx_pynqz1.tmodel -i ./models/data/resnet_input_1x32x32x8.csv
./mill __.test -l org.scalatest.tags.Slow
Чтобы запустить один тест RTL, например, в модуле «Аккумулятор», а также вывести файл VCD, выполните:
./mill rtl.test.testOnly tensil.tcu.AccumulatorSpec -- -DwriteVcd=true -z "should accumulate values"
Чтобы просмотреть последний созданный файл VCD:
./scripts/gtkwave/display-latest-vcd.py
Чтобы просмотреть конкретный файл VCD:
./scripts/gtkwave/display-vcd.sh <vcd_file>
docker build -f docker/web/Dockerfile -t tensil-web-compiler .
aws ecr get-login-password | docker login --username AWS --password-stdin <ACCOUNT ID>.dkr.ecr.<REGION>.amazonaws.com
docker tag tensil-web-compiler <ACCOUNT ID>.dkr.ecr.<REGION>.amazonaws.com/tf2rtl-web-compiler
docker push <ACCOUNT ID>.dkr.ecr.<REGION>.amazonaws.com/tf2rtl-web-compiler