tpu_compiler
tpu_compiler copied to clipboard
cvitek ai compiler base on MLIR

tpu_compiler
本项目是晶视智能AI芯片的TPU编译器工程,目前已经支持晶视cv183x/cv182x/mars系列产品。
晶视智能是一家专注于视频监控及边缘计算技术研发的芯片设计公司,拥有自主研发的 AI TPU 运算核心及 SoC 芯片整合技术. 目前研发领域涵盖SoC芯片设计, AI TPU处理器及工具链,图像处理算法及设计等,致力于打造人工智能机器视觉一站式平台解决方案,为客户带来丰富价值及技术创新的产品与服务。公司在北京,深圳,武汉,香港等地设有研发中心和运营机构。更多信息参见官网CVITEK。
本工程是基于MLIR架构开发,将TPU编译器分层设计,结构如下:

经过验证的网络列表
- Classification:
resnet50resnet18mobilenet_v1mobilenet_v2squeezenet_v1.1shufflenet_v2googlenetinception_v3inception_v4vgg16densenet_121densenet_201senet_res50resnext50res2net50ecanet50efficientnet_b0efficientnet_lite_b0nasnet_mobile - Detection:
retinaface_mnet25retinaface_res50ssd300mobilenet_ssdyolo_v1yolo_v2yolo_v3yolo_v4yolo_v5yolo_x - Misc:
arcface_res50alphaposeespcn_3xuneterfnet
编译代码
-
下载docker和建立容器
docker pull cvitek/cvitek_dev:1.7-ubuntu-18.04 cd tpu_compiler docker run -it --name work -v $PWD:/work -v $PWD/../mlir-models:/models cvitek/cvitek_dev:1.7-ubuntu-18.04 -
编译代码
source ./envsetup.sh ./build.sh
代码验证
-
算子验证
mkdir tmp && cd tmp # 验证onnx算子 test_onnx.py # 验证pytorch算子 test_torch.py -
模型验证
# 在tpu_compiler的同级 cd regression ./run_regression.sh -n resnet50
使用方法
参见CVKTEK_TPU快速入门指南