im2rec如何工作?我不断收到语法错误

时间:2019-07-16 00:52:12

标签: python bash amazon-web-services amazon-ec2 amazon-sagemaker

我正在尝试为AWS图像分类算法创建lst文件。 我的主要目录是train,其中有20个子目录,每个子目录中有40张图片。 我想创建一个包含所有已转换的lst文件的train_1st。 但是我在下面的代码中遇到了问题。我是新手..所以请帮助我..我该怎么办?

我也尝试过更改当前的工作目录(cwd)。我尝试将cwd设置为train /,也将目录实际设置为home / ec-2 / sagemaker。没有任何帮助。

%%bash

mkdir -p  train_lst
for i in  train/*; do
    c=`basename $i`
    mkdir -p train_lst/$c
    for j in `ls $i/*.jpg | shuf | head -n 60`; do
        mv $j train_lst/$c/
    done
done

python im2rec.py --list --recursive train train_lst/
ls: cannot access train/*/*.jpg: No such file or directory

1 个答案:

答案 0 :(得分:0)

该错误消息告诉我们,变量i必须已经包含train/*,即未扩展全局模式。这意味着$PWD/train下没有子目录。

您可以通过打开来验证

shopt -s failglob

在脚本开头。每当无法扩展图案时,这将打印一条错误消息。

顺便说一句,您的脚本中奇怪的%%bash应该做什么?