13 Star 62 Fork 280

Ascend/ModelZoo-TensorFlow

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

中文|English

XLNet TensorFlow离线推理

此链接提供XLNet 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/contrib/nlp/XLNet_for_ACL

2. 下载数据集和预处理

  1. 下载指南 train repo, 请自行下载这个数据集 glue_data 接着移动到这个目录下面: scripts/
scripts
|
|___glue_data
     |
     |___STS-B
         |
         |___LICENSE.txt
         |___dev.tsv
         |___original
         |___readme.txt
         |___test.tsv
         |___train.tsv

然后将STS-B数据集转换为tfrecord,转换为scripts/proc_data/,如下所示:

proc_data
|
|___sts-b
    |__spiece.model.len-128.dev.eval.tf_record
    |__spiece.model.len-128.test.predict.tf_record
    |__spiece.model.len-128.train.eval.tf_record

Here we use dev-eval tfrecord for demostration.

  1. 将tfrecord转换为bin文件
cd scripts
python3 data_preprocess.py

3. 离线推理

离线模型转换

  • 环境变量设置

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

  • Pb模型转换为om模型

    pb模型下载链接

    batchsize=1

    atc --model=XLNet_tf.pb  --framework=3 --input_shape="input_ids_1:1,128;input_mask_1:1,128;segment_ids_1:1,128" --output=./XLNet_1batch --soc_version=Ascend310 --log=info
    
  • 编译程序

    bash build.sh
    

    An executable file benchmark will be generated under the path: Benchmark/output/

  • 开始运行:

    cd scripts
    bash benchmark_tf.sh
    

推理结果

结果

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

推理精度结果

model dataset Number of samples eval_pearsonr
offline Inference sts-b 1500 samples 91.85%

参考

[1] https://github.com/zihangdai/xlnet

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

搜索帮助