【问题标题】:how convert string to path in opemnmt-py如何在opennmt-py中将字符串转换为路径
【发布时间】:2020-09-18 01:31:16
【问题描述】:

我将 opennmt-py 用于 MT,并且在任何时候我想设置路径时在代码中都必须编写所有目录,当我有长目录时它看起来并不好看。有没有办法将字符串设置为主目录,只需将文件名添加到末尾。 我使用 google colab 来训练模型 代码如下:

!onmt_preprocess  \\
-train_src //content//drive//My\ Drive//Colab\ Notebooks//NLP//spring99//CA6//Corpora//En2Fa-Translation//train.en \\
-train_tgt //content//drive//My\ Drive//Colab\ Notebooks//NLP//spring99//CA6//Corpora//En2Fa-Translation//train.fa \\
-valid_src //content//drive//My\ Drive//Colab\ Notebooks//NLP//spring99//CA6//Corpora//En2Fa-Translation//dev.en \\
-valid_tgt  //content//drive//My\ Drive//Colab\ Notebooks//NLP//spring99//CA6//Corpora//En2Fa-Translation//dev.fa \\
-save_data //content//drive//My\ Drive//Colab\ Notebooks//NLP//spring99//CA6//Corpora//En2Fa-Translation//demo//

以及我想要的代码:

path ='//content//dri`ve//My\ Drive//Colab\ Notebooks//NLP//spring99//CA6//Corpora//En2Fa-Translation//'

!onmt_preprocess  \\
-train_src path+'train.en' \\
-train_tgt path+'train.fa' \\
-valid_src path+'dev.en' \\
-valid_tgt  path++'dev.fa' \\
-save_data path+'demo//'

或者也许只是可以将所有路径写入一个变量并像这样使用它:

path_train ='//content//dri`ve//My\ Drive//Colab\ Notebooks//NLP//spring99//CA6//Corpora//En2Fa-Translation//'

!onmt_preprocess  \\
-train_src path_train \\

【问题讨论】:

    标签: python pytorch opennmt


    【解决方案1】:

    您可以仅使用串联:

    path='//content//drive//My\ Drive//Colab\ Notebooks//NLP//spring99//CA6//Corpora//En2Fa-Translation//'
    !onmt_preprocess  \\
      -train_src $path'train.en' \\
      -train_tgt $path'train.fa' \\
      -valid_src $path'dev.en' \\
      -valid_tgt $path'dev.fa' \\
      -save_data $path'demo//'
    

    注意事项:

    • 变量path 后面必须跟=,而不是空格。 = 周围不能有空格。 path = 'text' 错了,path ='text' 错了,path= 'text' 也错了。
    • 使用变量时,在其前面加上$!echo $path'train.en' 将打印//content//drive//My Drive//Colab Notebooks//NLP//spring99//CA6//Corpora//En2Fa-Translation//train.en
    • 连接意味着无需使用+& 等将字符串文字粘合到变量上。

    【讨论】:

    • 这是使用外壳还是只是相同的语法?它肯定不是 Python,因此可能需要从 OP 中删除该标签。
    • @Graipher 这是 google colab 执行 bash 命令的方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    • 1970-01-01
    • 1970-01-01
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多