我目前用来测试我的设置的命令是
python eval.py --test_data_path=PATH_TO_IMAGES --gpu_list=0 --checkpoint_path=/tmp/east_icdar2015_resnet_v1_50_rbox/ \
--output_dir=PATH_TO_END_LOCATION
然而,我目前想要做的是给他们一个文件作为输入,文件具有所有图像的路径,而不是我之前做的,提供包含所有图像的文件夹。
文件的内容看起来有点像这样
data/processed/10/blueprint-0.png
data/processed/10/blueprint-15.png
data/processed/10/blueprint-16.png
data/processed/10/blueprint-17.png
data/processed/10/blueprint-18.png
如何调整命令来执行该任务,甚至编写一个python代码,将所有这些代码放在我可以重用第一个方法的目标文件夹中。
编辑:我想出了如何管理它,但我需要一个可以接受2个数值的正则表达式,例如在第一行data/processed/10/blueprint-0.png
我需要一个正则表达式将10
分配给变量a
,将0
分配给变量b
。
答案 0 :(得分:1)
你做了什么:
以下是示例代码:
import os, shutil
from argparse import ArgumentParser as argpars
parser = argpars(description='')
parser.add_argument('--test_data_file', nargs=1, type=str)
parser.add_argument('--dest_loc', nargs=1, type=str)
args = parser.parse_args()
with open(args.test_data_file[0], 'r') as f:
file_locations = [ff.strip() for ff in f.readlines()]
for loc in file_locations:
print(os.path.join(args.dest_loc[0], loc.split('/')[-1]))
# shutil.copy(loc, os.path.join(args.dest_loc[0], loc.split('/')[-1]))
该命令类似于
python your_script.py --test_data_file infiles.txt --dest_loc some_folder
修改强> 对于正则表达式问题:
import re
re.findall(r'\d+', 'data/processed/10/blueprint-0.png')
# or in the example above
re.findall(r'\d+', loc)
答案 1 :(得分:0)
您需要更改的具体内容取决于程序中test_data_path
的使用方式。如果程序的某些部分后来需要一个文件列表而不是一个目录,那么它是一个简单的:open
作为参数传递的文件,在其上调用list()
来获取名称的文件,可选择验证它们是否存在,并传递名称。