| 设备型号 | NPU配置 |
|---|---|
| Ascend 910B | 1卡 |
基础镜像:使用 cann:8.3.rc1镜像
docker pull quay.io/ascend/cann:8.3.rc1
| 配套 | 版本 | 环境准备指导 |
|---|---|---|
| CANN | 8.3.RC1 | - |
| Python | 3.10.12 | - |
| torch | 2.1.0 | - |
CRNN_Sierkinhane 是一个基于卷积循环网络的中文 OCR 模型。参考实现: https://github.com/Sierkinhane/CRNN_Chinese_Characters_Rec
docker run -itd --net=host --name=crnn \
--shm-size 50g \
--device=/dev/davinci0 \
--device=/dev/davinci_manager \
--device=/dev/hisi_hdc \
--device /dev/devmm_svm \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/Ascend/firmware:/usr/local/Ascend/firmware \
-v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \
-v /usr/local/sbin:/usr/local/sbin \
-v /etc/hccn.conf:/etc/hccn.conf \
-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/Ascend/driver/tools/hccn_tool:/usr/local/Ascend/driver/tools/hccn_tool \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ \
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /root/.cache:/root/.cache \
--entrypoint /bin/bash quay.io/ascend/cann:8.3.rc1git clone https://github.com/Sierkinhane/CRNN_Chinese_Characters_Rec.git
cd CRNN_Chinese_Characters_Rec
git checkout stable
git reset --hard a565687c4076b729d4059593b7570dd388055af4git clone https://gitcode.com/Ascend/ModelZoo-PyTorch.git
cp -r ModelZoo-PyTorch/ACL_PyTorch/built-in/ocr/CRNN/CRNN_Sierkinhane_for_Pytorch/* CRNN_Chinese_Characters_Rec/npu_inferll images/total_images | grep "^-" | wc -l # 输出训练集和测试集的图片总数量为 3644007
wc -l lib/dataset/txt/test.txt # 输出测试集标签数量为 364400# 取1000条到tmp1000
cd images/test_images
mkdir ../tmp1000
ls | head -n 1000 | xargs -i cp {} ../tmp1000
cd -
# 数据预处理
python3 npu_infer/preprocess.py --test-image-dir images/tmp1000export batch_size=1
atc \
--framework=5 \
--model=crnn.onnx \
--output=om/crnn_bs${batch_size} \
--input_format=NCHW \
--input_shape="input:${batch_size},1,32,160" \
--soc_version=Ascend910B3备注:--soc_version请根据实际芯片名称填写。
# 模型推理
python3 -m ais_bench \
--model=om/crnn_bs1.om \
--input=images/preprocessed_tmp1000 \
--output=ais_bench_output \
--output_dirname=result \
--output_batchsize_axis=1 \
--outfmt=NPY
#数据后处理,验证精度
python3 npu_infer/postprocess.py --predict-dir ais_bench_output/result