在Google Cloud Vertex AI中为具有单标签图像的数据集创建导入文件



我在GCS中有一个桶,具有以下层次结构:

dataset/class1/image1.png 
image2.png 
..
dataset/class2/image1.png 
image2.png 
..
dataset/class3/image1.png 
image2.png 
..

因此,同一类的所有示例都在同一个文件夹中。

我想创建一个导入文件,为每个图像创建一个带有URI和类的新行。它看起来像这样:

gs://dataset/class1/image1.png, class1 
gs://dataset/class1/image2.png, class1
..
gs://dataset/class2/image1.png, class2
gs://dataset/class2/image2.png, class2
..
gs://dataset/class3/image1.png, class3
gs://dataset/class3/image2.png, class3
..

我正在尝试这个,但它不工作

export BUCKET=<bucket name>
export IMPORT_DATA=<import file>
gsutil ls -r gs://$BUCKET/** > $IMPORT_DATA
sed -i '1d' $IMPORT_DATA
sed -e 's/$/$(basename $)/' -i filename

我可能找到了一种方法。

export BUCKET=<bucket name>
export IMPORT_DATA=<import file>
gsutil ls -r gs://$BUCKET/** > tmp.csv
sed -i '1d' tmp.csv  # the first line is not a file
cat tmp.csv | while read line ; do echo $line ',' $(basename $(dirname $line)) ; done > $IMPORT_DATA
wc -l $IMPORT_DATA
rm tmp.csv