tensil
v1.0.15
有关深入的端到端说明,请查看我们的教程。
有关参考文档,请参阅我们的网站。
drivers/tcu_pynq
复制到 FPGA 开发平台上的/home/xilinx/tcu_pynq
。 docker pull tensilai/tensil
docker run -u $(id -u ${USER}):$(id -g ${USER}) -v $(pwd):/work -w /work -it tensilai/tensil bash
针对特定 TCU 架构和 FPGA 开发平台(本例中为 PYNQ Z1)编译 AI/ML 模型(ResNet20 v2 CIFAR)。
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
针对特定TCU架构和FPGA开发平台(本例中为PYNQ Z1)制作Verilog RTL。
tensil rtl -a /demo/arch/pynqz1.tarch -s true
为特定 FPGA 开发平台创建 Vivado 设计。我们的 PYNQ Z1 教程中包含详细步骤。如果您遇到困难,我们可以提供帮助!请通过 [email protected] 或在 Discord 中联系我们。
使用 PYNQ 和 Jupyter 笔记本在 FPGA 上运行 AI/ML 模型。 (参见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
例如,要在 Accumulator 模块中运行单个 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