как создать набор данных для обучения и тестирования из 40,40,9 объектов и 40,40 целевых наборов данных - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу создать набор данных для обучения и тестирования данных форма элемента (40,40,9) и целевая форма (40,40)

def trainGenerator():

    train_path = '/media/jake/mark-4tb3/input/dacon_4tb/ai_friends_rain/train'
    train_files = sorted(glob.glob(train_path + '/*'))

    for file in train_files:

        dataset = np.load(file)

        target= dataset[:,:,-1].reshape(40,40,1)
        cutoff_labels = np.where(target < 0, 0, target)
        feature = dataset[:,:,:9]

        if (cutoff_labels > 0).sum() < 10:

            continue

        yield (feature, cutoff_labels)

train_dataset = tf.data.Dataset.from_generator(trainGenerator, (tf.float32, tf.float32), (tf.TensorShape([40,40,9]),tf.TensorShape([40,40,1])))

Это один из способов создать набор данных с тензорным потоком. Но я хочу сесть на поезд и испытательный комплект отдельно, чтобы тренировать Unet

dataset = np.load(train_files[0])
print(dataset.shape)
print(dataset[0].shape)
target = dataset[:,:,-1]
print('target->',target.shape)
feature = dataset[:,:,:9]
print('feature->',feature.shape)
(40, 40, 15)
(40, 15)
target-> (40, 40)
feature-> (40, 40, 9)
time: 3.92 ms

Я не уверен, что форма поезда и цели будут? если есть 10000 изображений поезд: (40,40,9,10000) и цель (40,40,10000)?

...