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