как разделить изображения в папке для обучения в соответствии с именем файла в моем csv-файле поезда

#python #deep-learning

Вопрос:

в настоящее время изучаю глубокое обучение с помощью моего собственного набора данных, у меня около 70 тысяч изображений в 1 папке, и я уже ввел изображения в csv-файл, которые имеют filename, width, height, class и уже разделяют их случайным образом на train,valid, and test csv

мой вопрос в том, есть ли способ разделить изображения на основе имени файла в моих csv-файлах?

любой ответ был бы признателен

Ответ №1:

Во-первых, вам нужно извлечь значения из столбца из фрейма данных и сохранить их в списке

       filenames = data['filenames'].values
      filenames = filenames.tolist()
      classes = data['classes'].values
      classes = classes.tolist()
 

Теперь извлеките имена файлов из каталога «C:/data/Images/» или используйте os.getcwd()

      path = os.getcwd()
     images = [imagefilename for imagefilename in os.listdir(path) if imagefilename.endswith('.jpg') or imagefilename.endswith('.png')]
     
 

Теперь сравните изображения и имя файла

   finalclasses = []
  finalimages = []
  for i in range(len(filename)):
       if len(images) != len(filenames): break;
       if filename[i] == images[i]:
            finalclasses.append(classes[i])
            finalimages.append(os.path.join(path, image)) #or read with opencv by importing cv2   finalimages.append(cv2.read(os.path.join(path, image)))
 

Вышесказанное поможет решить вашу проблему, спасибо, счастливого обучения 🙂

Комментарии:

1. ого, это работа, большое вам спасибо !, извините, я не могу поднять голос, сейчас мне нужно еще несколько очков, чтобы поднять голос:( но спасибо !