Загрузка в ярлыки с использованием tf.data.Dataset - PullRequest
0 голосов
/ 23 марта 2020

У меня есть данные изображения в одном каталоге и текстовый файл с соответствующими метками.

train_dataset = tf.data.Dataset.list_files('gdrive/My Drive/ML/Projects/CSGO_aim/images' + '/*.jpg')
train_dataset = train_dataset.map(load_image_train, num_parallel_calls=tf.data.experimental.AUTOTUNE)
train_dataset = train_dataset.shuffle(BUFFER_SIZE)
train_dataset = train_dataset.batch(BATCH_SIZE)

Всякий раз, когда я пытаюсь распечатать аргумент функции load_image_train, я получаю DatasetV1Adapter объект, когда я на самом деле ожидаю строку, содержащую имя файла. line_no должно быть именем файла, которое я затем сравниваю с файлом меток, чтобы получить метку для соответствующего файла изображения. Однако, похоже, что функция load_image_train вызывается только один раз.

def load_image_train(image_file):
  line_no = 'images\\' + str(image_file).split('/')[-1]
  bounds = []

  fr = open('gdrive/My Drive/ML/Projects/CSGO_aim/train.txt', 'r')
  for i, line in enumerate(fr):
    if line.split()[0] == str(line_no):
      bounds = line

  input_image = load(image_file)
  input_image = resize(input_image, IMG_WIDTH, IMG_HEIGHT)
  input_image = normalize(input_image)


  return input_image, bounds

Как загрузить метки, которые находятся в файле .txt, в файл tf.data.dataset?

...