Какой тип данных используется для CNN? - PullRequest
0 голосов
/ 12 февраля 2019

Я пытаюсь понять CNN и как это работает.У меня очень простой вопрос.Загрузив набор данных из kaggle, он содержит две папки test и train с несколькими изображениями.Он также имеет CSV-файл с именами изображений в нем и с тегами «1» и «0».Так что я путаю, стоит ли загружать изображения из папки с поездом или из csv или из обоих?

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Итак, у вас есть такой набор данных

..train/
    ../img1.jpg
    ../img2.jpg
    ../img3.jpg
    ..........
    ../imgn.jpg

..test/
    ../test1.jpg
    ../test2.jpg
    ../test3.jpg
    ............
    ../testn.jpg

Кроме того, у вас есть файл train.csv с такими данными

file_name    label
img1.jpg       0
img2.jpg       0
img3.jpg       1
img4.jpg       1
.......
.......
imgn.jpg       0

Для обучения модели CNN под наблюдениемТаким образом, вам необходимо иметь помеченный набор данных в папке *

image1 - label1
image2 - label2
image3 - label3
image4 - label4

. В вашей папке /train/ есть изображения, соответствующие метки указаны в файле train.csv.

Таким образом, вы должны загрузить данные изображения из папки \train\ и соответствующую метку из файла csv.

В python вы можете сделать это легко, например, если ваше изображение .jpg,

import cv2
import pandas as pd
import numpy as np
from tqdm import tqdm

# function to read image using opencv
def read_img(img_path):
    img = cv2.imread(img_path, cv2.IMREAD_COLOR)
    img = cv2.resize(img, (300, 300))
    return img

# path for the folder with train images
TRAIN_PATH = 'train_img/'

# reading train.csv file
train = pd.read_csv('train.csv')

# reading the image data 
train_img = []
for img_path in tqdm(train['file_name'].values):
    train_img.append(read_img(TRAIN_PATH + img_path + '.jpg'))

# assigning labels from the csv file
train_label = train['label'].tolist()

Я использовал tqdm, чтобы получить аккуратный индикатор выполнения, показывающий ход операции, если набор данных настолько велик, что без индикатора выполнения будет больно знать о ходе выполнения, оставшемся времени и т. Д.

0 голосов
/ 12 февраля 2019

обучающий набор

Учебный набор данных - это набор данных примеров, используемых для обучения, то есть для соответствия параметрам (например, весам), например, классификатора.


тестовый набор

Таким образом, тестовый набор представляет собой набор примеров, используемых только для оценки производительности (т. Е. Обобщения)полностью определенный классификатор.

из Википедии

Пока вы хотите обучить классификатор изображений для распознавания 0или 1 класс с контролируемыми методами обучения, вам нужно показать изображение данные и связанный класс (данные файла CSV) в качестве практики для модели.

Затем, пока тестирование точность модели использует данные, которые модель никогда не видела.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...