1 Pytorch flow for Vitis AI

Vitis-AI-Tutorials/Design_Tutorials/09-mnist_pyt at master · Xilinx/Vitis-AI-Tutorials

官方网址

这篇 tutorial 介绍了 Vitis AI Pytorch 的设计流程,阐述了如何将神经网络的Python描述转化为编译后的模型运行在 Xilinx 的评估板上。本项目用到的数据集是MNIST。

设计流程

设计流程

网络结构

网络结构

这个网络里在卷积层和激活函数里用到了一个叫做“Bnorm”的层。Bnorm是Batch Normalization,中文批处理化。下面这篇文章简单介绍了BN的概念。

什么是批标准化 (Batch Normalization)

批处理化解析

开始之前需要确认满足系统要求,从docker hub里安装容器,设置评估板,建立工作环境。详细内容参考:

Installation and Setup

Vitis AI User Guide

本例程使用Pytorch,因此建立 Vitis AI 环境后,输入:

Vitis-AI /workspace > conda activate vitis-ai-pytorch

Step 0 :训练模型

export BUILD=./build
export LOG=${BUILD}/logs
mkdir -p ${LOG}
python -u train.py -d ${BUILD} 2>&1 | tee ${LOG}/train.log

Train.py”文件会执行CNN的训练并把训练出来的浮点模型以pth文件形式保存到./build/float_model文件夹里的“f_model.pth”文件里。

命令行输出