13 Star 61 Fork 279

Ascend/ModelZoo-TensorFlow

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

中文|English

ShuffleNetv1 TensorFlow离线推理

此链接提供ShuffleNetv1 TensorFlow模型在NPU上离线推理的脚本和方法

注意

此案例仅为您学习Ascend软件栈提供参考,不用于商业目的。

在开始之前,请注意以下适配条件。如果不匹配,可能导致运行失败。

Conditions Need
CANN版本 >=5.0.3
芯片平台 Ascend310/Ascend310P3
第三方依赖 请参考 'requirements.txt'

快速指南

1. 拷贝代码

git clone https://gitee.com/ascend/ModelZoo-TensorFlow.git
cd Modelzoo-TensorFlow/ACL_TensorFlow/built-in/cv/ShuffleNetv1_for_ACL

2. 下载数据集和预处理

  1. 请自行下载ImageNet2012测试数据集

  2. 移动 ILSVRC2012val'scripts/'

———scripts
     |————ILSVRC2012val
           |————ILSVRC2012_val_00000001.JPEG
           |————ILSVRC2012_val_00000002.JPEG
           |————ILSVRC2012_val_00000003.JPEG
           |————ILSVRC2012_val_00000004.JPEG
           |————...
  1. 图像预处理:
cd scripts
mkdir input_bins
python3 imagenet_preprocessing.py --src_path ./ILSVRC2012val/

jpeg图片将被预处理为bin-fils。

3. 离线推理

离线模型转换

  • 环境变量设置

    请参考说明,设置环境变量

  • Pb模型转换为om模型

    下载本报告训练的shuffenetv1的pb模型: Repo of train

    pb模型下载链接

    由于经过训练的检查点将批量大小固定为96,因此atc输入形状需要设置**“输入:96224224.3”**

    atc --model=shufflenetv1.pb --framework=3 --output=shufflenetv1_tf_96batch --output_type=FP32 --soc_version=Ascend310 --input_shape="input:96,224,224,3" --out_nodes="classifier/BiasAdd:0" --log=info
    
  • 编译程序

    bash build.sh
    
  • 开始运行:

    cd scripts
    bash benchmark_tf.sh
    

推理结果

结果

本结果是通过运行上面适配的推理脚本获得的。要获得相同的结果,请按照《快速指南》中的步骤操作。

推理精度结果

model data Top1/Top5
offline Inference 50000 images 59.9 %/ 83.4%

参考

https://gitee.com/ascend/ModelZoo-TensorFlow/tree/master/TensorFlow/contrib/cv/shufflenetv1/ShuffleNet_ID0184_for_TensorFlow

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/ascend/ModelZoo-TensorFlow.git
git@gitee.com:ascend/ModelZoo-TensorFlow.git
ascend
ModelZoo-TensorFlow
ModelZoo-TensorFlow
master

搜索帮助