python - 如何在 opennmt-py 中将字符串转换为路径

标签 python pytorch opennmt

我将 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 \\

最佳答案

您可以使用简单的串联:

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 - 如何在 opennmt-py 中将字符串转换为路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62103582/

相关文章:

python - OpenNMT 与 Pytorch 的问题 : cPickle. UnpicklingError : invalid load key, ''

python - 在 sqlalchemy ORM 查询中使用 NOT EXISTS 子句

pytorch - 维度超出范围(预期在 [-2, 1] 范围内,但得到 2)

python - PyTorch 中的再现性和性能

python - Tensorflow:分层 Softmax 实现

Lua 和 Torch 与 GPU 的问题

python - 关于 Pytorch 中的奇数图像尺寸

python - 转到特定的 raw_input() 吗?

python - 任意大小的网格内的最佳 4 字布局