打开微信,使用扫一扫进入页面后,点击右上角菜单,
点击“发送给朋友”或“分享到朋友圈”完成分享
在tensorflow 1.14版本前的tensorflow/models仓库中,有一个做英德机器翻译的transformer demo,我用寒武纪最新release的版本测试了这个模型,如下是测试过程:
一、搭建测试的docker环境
1、从FTP上下载/product/MLU270/v1.6.0/driver/neuware-mlu270-driver-dkms_4.8.0_all.deb,并更新驱动
2、从FTP上下载如下2个文件:
/product/MLU270/v1.6.0/tensorflow/docker/tensorflow-1.0.2-devel-mlu-ubuntu16.04-py3.7.tar
/product/MLU270/v1.6.0/tensorflow/wheel/tensorflow_mlu-1.14.1-cp37-cp37m-linux_x86_64.whl
然后load tensorflow的devel docker images,并创建容器,在容器中pip安装编译好的tensorflow_mlu whl包,测试环境就算搭建好了。
二、开始测试
1、创建测试目录
mkdir /home/transformer && cd /home/transformer
将预先训练好的模型和vocab分别放在/home/transformer/model_ 和/home/transformer/data,这里我们训练好的模型是一个 的模型。
2、拉取指定版本的tensorflow_models代码
git clone https://github.com/tensorflow/models.git -b r1.13.0 cd models/official/transformer/ pip install requests
3、参考官方README配置环境变量
export PYTHONPATH=$PYTHONPATH:/home/transformer/models export PARAM_SET= export DATA_DIR=/home/transformer/data export MODEL_DIR=/home/transformer/model_$PARAM_SET export VOCAB_FILE=$DATA_DIR/vocab.ende.32768
4、执行量化,用"hello world"作为校准样本
export MLU_QUANT_PARAM=$PWD/transformer_quant_param.txt export MLU_RUNNING_MODE=0 export MLU_VISIBLE_DEVICES="" echo "bit_width : 16" > $MLU_QUANT_PARAM echo "quant_mode : naive" >> $MLU_QUANT_PARAM python translate.py --model_dir=$MODEL_DIR \ --vocab_file=$VOCAB_FILE \ --param_set=$PARAM_SET \ --text="hello world"
5、执行测试,测试输入是test_data/newstest2014.en,这个测试集包含3003段英文
export MLU_RUNNING_MODE=1 export MLU_VISIBLE_DEVICES="0" export MLU_OP_PRECISION=float32 export MLU_STATIC_NODE_FUSION=false mkdir result cp /home/transformer/translate_mlu.py ./ python translate_mlu.py --model_dir=$MODEL_DIR \ --vocab_file=$VOCAB_FILE \ --param_set=$PARAM_SET \ --file=test_data/newstest2014.en \ --file_out=result/translation.en
6、计算准确率
python compute_bleu.py --translation=result/translation.en \ --reference=test_data/newstest2014.de
热门帖子
精华帖子