一、拉取镜像并创建容器
1、可通过下面的docker命令拉取算能的镜像,之所以使用v3.1这个版本,是装了好多次发现这个版本比较稳定。
docker pull sophgo/tpuc_dev:v3.1
2、拉取完镜像之后便要通过下面的命令加载镜像。这里的命令根据镜像压缩包的名字进行调整。
docker load -i tpuc_dev_v3.1.tar
3、加载完镜像之后需要创建并运行容器。
# myname1234只是一个例子,这里可以换成自己的名字。
# PWD表示当前目录作为挂载docker容器的目录也可以更改。
docker run --privileged --name myname1234 -v $PWD:/workspace -it sophgo/tpuc_dev:v3.1
这里我给出一个Docker Desktop下创建并运行容器的例子。在这里我将C盘的shareFolder作为容器的挂载目录。
docker run --privileged --name tpu-mlir -v C:/shareFolder:/workspace -it sophgo/tpuc_dev:v3.1
创建完容器需要通过下面的命令运行容器。
docker start tpu-mlir
4、运行完容器之后需要进入容器
# tpu-mlir是我创建的容器的名字
docker exec -it tpu-mlir /bin/bash
进入容器后会显示这样的界面。
二、下载代码与配置环境
Docker容器配置好之后便可以去下载代码和配置运行环境。
进入网站:https://github.com/sophgo/tpu-mlir
点击Releases,去下载和运行环境搭配的代码。注意,版本一定要对应!!!!!!
我选择的是TPU-MLIR v1.8 release版本。
下载下图的代码和python环境。
将下载好的代码和环境放到挂载的目录下,将代码解压。
首先需要通过下面的命令安装环境。
pip install tpu_mlir-1.8-py3-none-any.whl
然后通过命令进入代码。并导入环境。
cd tpu-mlir-1.8
source envsetup.sh
三、模型的转换
我将我需要转换的模型放在了目录下。
然后通过命令进入对应的代码。
cd python/tools
再通过下面命令将模型转成mlir文件。
python model_transform.py --model_name yolov8s --model_def ./model_my/yolov8s.onnx --mlir ./model_my/yolov8s.mlir --input_shapes [[1,3,640,640]]
再通过下面命令将mlir文件转成bmodel。
python3 model_deploy.py --mlir ./model_my/yolov8s.mlir --quantize F32 --processor bm1684 --model ./model_my/yolov8.bmodel
这只是个示例,具体的参数要求请前往github上查看。