Я внедряю CNN с моим пользовательским набором данных, который состоит из более чем 100 000 изображений. Это изображения с именем {code}-{uuid}.png
, где {codes}
- это разные метки для изображений, а {uuid}
- уникальные идентификаторы файлов.
Теперь я написал функцию для чтения этих изображений, которая очень неоптимальна с точки зрения производительности. Ядро, которое замедляет функцию, - это двойной цикл for, который я использую для чтения изображений, парсинга кода из имени файла и сохранения двух массивов, одного для изображений и одного для соответствующих меток:
for code in codes:
for file in glob.glob(f'features/image_dataset/{code}*.png'):
labels.append(re.findall(f'{code}', file))
tmp_ary = np.expand_dims(plt.imread(file), axis=0)
ary = np.append(ary, tmp_ary, axis=0)
Как я могу улучшить характеристики цикла?