Как предварительно обработать наборы данных Tensorflow 'Кошки против Собак', чтобы иметь дело с этим в CNN? - PullRequest
0 голосов
/ 18 апреля 2020

У меня возникла проблема с обработкой данных из набора данных Tensflow 'Cats vs Dogs *

Я загрузил данные следующим образом:

dataset, info = tfds.load(name='cats_vs_dogs, split=tfds.Split.TRAIN, with_info=True)

Затем я Я хотел бы определить функцию предварительной обработки следующим образом:

def preprocess(features):

Затем я хотел бы использовать эту функцию предварительной обработки следующим образом:

train_dataset = dataset.map(preprocess).batch(32)

где train_dataset - набор поездов, который я использовал бы для подгонки своей модели.

Однако я понятия не имею, как предварительно обработать загруженные данные. В частности, я даже не знаю, что это за тип данных dataset. Пожалуйста, помогите мне решить эту проблему. Спасибо

1 Ответ

0 голосов
/ 18 апреля 2020

Сначала вам нужно изучить набор данных.

Затем вы можете предварительно обработать набор данных, чтобы сделать набор данных с таким же размером изображений. здесь было сделано 200 * 200 изображений.

  from keras.preprocessing.image import load_img
  from keras.preprocessing.image import img_to_array

  X = []
  img= load_img(file_path, target_size=(200, 200))
  img= img_to_array(img)
  X.append(img)

Для каждого изображения Вы должны сделать это перед тренировкой и тестированием.

Затем вы можете разделить набор данных на две разные части, как training_data и testing_data. Обычно лучше брать 70% и 30% соответственно. для этого вы можете использовать

   from sklearn.model_selection import train_test_split
   Xtrain, Xtest, Ytrain, Ytest = train_test_split(X, Y, test_size=0.30)

Спасибо!

...