以作者使用的toy en-de数据集微调工作为示例,该数据集作者已经放在了experiments/example/data/raw,这里直接用

  • 首先下载代码,配置环境不再赘述,按照开源代码进行
  • 接着从linzehui/mRASP (github.com)中下载一些公开资源:Vocab; BPE Code; mRASP-PC32
  • 数据集
  • 模型

能看到词表大小为32000

vocab和codes放在experiments/example/vocab下,需要手动新建,删掉.txt后缀

  • 之后开始改配置文件

    ${PROJECT_ROOT}/experiments/example/configs/preprocess/train_en2de.yml和${PROJECT_ROOT}/experiments/example/configs/preprocess/test_en2de.yml

前四行的path改为:自己的项目路径/experiments/example/相应目录

subword_bpe_merge_ops改为32000

raw_data_path: /home/bit/data/ymz/mRASP-master/experiments/example/data/raw/train
merged_output_path: /home/bit/data/ymz/mRASP-master/experiments/example/merged_data/en2de
output_main_path: /home/bit/data/ymz/mRASP-master/experiments/example/data/prep/en2de/train
final_vocab_path: /home/bit/data/ymz/mRASP-master/experiments/example/vocab
configs_subdir: configs
cleaned_subdir: cleaned
logs_subdir: logs
vocab_subdir: vocab
output_subdir: output
preprocess_steps_list: clean:subword
file_prefix: train
learn: false
subword_bpe_merge_ops: 32000
pairs: en_de
directions: en2de
languages: en;de
default_pairs:deduplicate: falsekeep_lines_percent: '1.0'shuffle: false
default_langs:do_normalize_punctuations: truetokenizer: MosesTokenizer
src: en
trg: de

此时,按照作者给出的命令执行依然会报错,错误内容具体看生成的log文件

bash ${PROJECT_ROOT}/preprocess/multilingual_preprocess_main.sh ${PROJECT_ROOT}/experiments/example/configs/preprocess/train_en2de.yml

我的问题主要出现在第二个log:提示split: 无效的块数: “

INPUT DIR: /home/bit/data/ymz/mRASP-master//experiments/example/data/prep/en2de/train/cleaned
OUTPUT DIR: /home/bit/data/ymz/mRASP-master//experiments/example/data/prep/en2de/train/output
Now have read all input data
split all data to different process
split: 无效的块数: “”
Wait all process end
All process ended
Write the output to the standard output
cat: '/mp/out/in_file*': 没有那个文件或目录
Now have read all input data
split all data to different process
split: 无效的块数: “”
Wait all process end
All process ended
Write the output to the standard output
cat: '/mp/out/in_file*': 没有那个文件或目录
SUBDIR: en_de done

问题出在mRASP-master/preprocess/tools/subword/multilingual_apply_subword_vocab.sh脚本缺少num_cpus参数,修改:

在mutiprocess_pipeline命令前加入num_cpus=2;代表两个线程执行(?)

之后,还是这个log提示:multilingual_apply_subword_vocab.sh脚本的codes_file路径有问题

codes_file定义如下:表明两个参数传递出了问题,我也没系统学过shell命令不太清楚原理

codes_file=${final_vocab_path}/codes.bpe.${subword_bpe_merge_ops}

但是直接简单点,把codes_file作为参数传进来好了

首先,把multilingual_apply_subword_vocab.sh脚本的codes_file定义注释,把codes_file改为第3个参数:

#!/usr/bin/env bashinput_path=$1
output_path=$2
codes_file=$3[[ ! -d ${output_path} ]] && mkdir -p ${output_path}
# codes_file=${final_vocab_path}/codes.bpe.${subword_bpe_merge_ops}

同时,修改mRASP-master/preprocess/multilingual_preprocess_main.sh,调用multilingual_apply_subword_vocab.sh时加入第三个参数

echo "******** Only Apply BEGIN ********"echo "${repo_dir}/tools/subword/multilingual_apply_subword_vocab.sh"bash ${repo_dir}/tools/subword/multilingual_apply_subword_vocab.sh ${cleaned_path} ${output_path} ${final_vocab_path}/codes.bpe.${subword_bpe_merge_ops}  &>${logs_path}/2_preprocess_apply.log
echo "******** Only Apply ALL DONE ********"
  • 最后log提示一切正常,处理后的训练文件正常就OK了
  • 处理好的数据会出现在${merged_output_path}所指定的位置mRASP-master/experiments/example/merged_data/en2de
  • LANG_TOK_DE Un@@ s als Pol@@ itik@@ ern war jedoch klar , daß es zun@@ eh@@ men@@ de Unter@@ stüt@@ zung da@@ für ga@@ b , diese In@@ iti@@ ative bis ins Jahr 2000 fort@@ zus@@ et@@ zen .
    LANG_TOK_DE Die Probl@@ eme best@@ ehen noch immer , und dann kommen Z@@ we@@ if@@ el auf .
    LANG_TOK_DE N@@ ach Ar@@ tikel 2@@ 80 des Ver@@ tra@@ gs kann der Rat ge@@ eig@@ nete M@@ itt@@ el zur B@@ ek@@ ämp@@ f@@ ung von Bet@@ r@@ ü@@ ger@@ ei@@ en besch@@ lie@@ ßen .
    LANG_TOK_DE Herr Präsident , Herr Kom@@ miss@@ ar , wer@@ te Kol@@ leg@@ innen und Kol@@ legen ! Ich er@@ gre@@ if@@ e das W@@ ort im N@@ amen me@@ ines Kol@@ legen Robert Go@@ eb@@ bel@@ s , der w@@ egen einer polit@@ ischen Ver@@ p@@ fli@@ cht@@ ung lei@@ der nicht an@@ w@@ es@@ end sein kann .
    LANG_TOK_DE D@@ ah@@ er sind unserer M@@ ein@@ ung nach alle Ang@@ ab@@ en , die das Gener@@ al@@ sek@@ retar@@ i@@ at des R@@ ates gegen@@ w@@ är@@ tig der Ö@@ ff@@ ent@@ lich@@ keit zur Ver@@ füg@@ ung stell@@ t , die w@@ es@@ ent@@ lichen Ang@@ ab@@ en über die Arbe@@ its@@ weise des R@@ ates als Leg@@ isl@@ ativ@@ organ .
    LANG_TOK_DE Der Vor@@ sit@@ z@@ ende der Fre@@ i@@ heit@@ lichen Par@@ tei Ö@@ ster@@ reich@@ s , J@@ ör@@ g H@@ ai@@ der , hat me@@ hr@@ fa@@ ch seine Mi@@ ß@@ a@@ cht@@ ung dieser W@@ erte zum Aus@@ dru@@ ck gebracht .
    

【机器翻译】【mRASP】跑通mRASP代码(一):preprocess相关推荐

  1. Mask Rcnn目标分割-项目搭建及跑通测试代码

    本文介绍了Mask Rcnn目标分割项目的搭建及运行过程,并对搭建过程中可能出现的问题进行了解答. 环境:Cuda10.2+tensorflow-gpu1.13.2 Mask R-CNN是一个实例分割 ...

  2. 视频+笔记+能够跑通的代码,《李宏毅机器学习完整笔记》发布!

    点击我爱计算机视觉标星,更快获取CVML新技术 [导读]关于机器学习的学习资料从经典书籍.免费公开课到开源项目应有尽有,可谓是太丰富啦,给学习者提供了极大的便利.但网上比比皆是的学习资料大部分都是英文 ...

  3. 用gensim doc2vec计算文本相似度,Python可以跑通的代码

    Python3.7版本,转载自:https://blog.csdn.net/juanjuan1314/article/details/75124046 wangyi_title.txt文件下载地址:链 ...

  4. 使用docker跑通tasn-mxnet代码

    论文:<Looking for the Devil in the Details: Learning Trilinear Attention Sampling Network for Fine- ...

  5. 华为鸿蒙操作系统学习(2):在Linux上面使用Docker构建鸿蒙code代码,搭建Dockerfile环境,并跑通构建代码Hi3516,但是使用同样的镜像构建Hi3581,构建失败。

    目录 前言 1,关于鸿蒙系统 2,根据文档编写Dockerfile 3,使用镜像构建第一个程序Hi3516 4,构建另外一个程序Hi3861 5,总结 前言 本文的原文连接是: https://blo ...

  6. yolov3网络结构图_目标检测——YOLO V3简介及代码注释(附github代码——已跑通)...

    GitHub: liuyuemaicha/PyTorch-YOLOv3​github.com 注:该代码fork自eriklindernoren/PyTorch-YOLOv3,该代码相比master分 ...

  7. Show, Attend, and Tell | a PyTorch Tutorial to Image Captioning代码调试(跑通)

    Show, Attend, and Tell | a PyTorch Tutorial to Image Captioning代码调试(跑通) 文章目录 Show, Attend, and Tell ...

  8. 点云3D目标检测之——尝试SFD代码跑通(超详细!!)

    前言 到目前为止还没跑通,但是bug实在太多了,我的每一步都有错,如果不记录下来又会有遗漏,(肯定已经遗漏了很多),在这里把能想起来的都记录一下以便不时之需.另外,本人深度学习小白,一上来跑这么难的代 ...

  9. 111个Python数据分析实战项目,代码已跑通,数据可下载

    写在前面: 这里整理了111个数据分析的案例,每一个都进行了严格的筛选,筛选标准如下: 1. 有干货:杜绝纯可视化.统计性分析,有一定比例的讲解性文字 2. 可跑通:所有代码均经过测试,(大概率)可以 ...

最新文章

  1. skype安卓手机版_危险的战争游戏安卓手机版下载-危险的战争下载v1.0.13
  2. 网站地图能给网站的优化带来什么好处
  3. realloc函数引发的慘案
  4. 详解django三种文件下载方式
  5. BZOJ 1084: [SCOI2005]最大子矩阵【DP】
  6. Python 中的Pyc文件
  7. java有什么字符串_Java 中操作字符串都有哪些类?它们之间有什么区别
  8. hadoop 运行wordcount
  9. Java-Redis 热部署问题
  10. 蚂蚁暑期实习前端面试
  11. Trip to Canvas(1)
  12. 小甲鱼Python学习笔记之函数(二)
  13. Google点击没有反应怎么办?Google卸载不了怎么办?Google安装不了怎么办?
  14. 3315 时空跳跃者的魔法(一个超级恶心的题目)
  15. 计算机考研408哪个视频好,计算机408考研视频哪个好
  16. 在Markdown文件中快速插入本地图片
  17. 用例建模指南lt;二gt;
  18. 学习新体验-itron
  19. 《小白兔到大黑牛》第十四篇Hadoop中五个进程作用
  20. Markov决策过程学习笔记和一些Markov代码实现的记录

热门文章

  1. Java8两个list集合合并成一个list集合
  2. 因果模型五:用因果的思想优化风控模型——因果正则化评分卡模型
  3. 科创人·SUSE大中华区董事长江永清:真开源要有打磨技术的匠心,要能持续创造社会价值
  4. 日拱一卒,热爱可抵岁月漫长
  5. matlab创新开放性实验,基于MATLAB 的自动控制原理实验仿真系统的设计
  6. 计算机专业品德行为,计算机教育里进行素质品德教育
  7. H3C_交换机_二层/三层链路聚合
  8. python agg函数_dataframe转化(二)之 apply(),transform(),agg() 的用法和区别
  9. python学习教程2
  10. 可擦写光盘不能擦除和刻写_哪种更适合?三种可擦写刻录盘方案PK