Как передать Model.fit_generator () генератор, который создает также неиспользуемые данные? - PullRequest
0 голосов
/ 27 июня 2019

У меня есть два разных пользовательских генератора.Один из них обрабатывает массив, который содержит 9 изображений, и использует 8 из них как X, а один из них как Y. Другой довольно похож, но принимает только 4 изображения как X.

Я хотел бы дляГенератор, чтобы иметь возможность получить 8 изображений, но дать только 4 изображения для нейронной сети.(Остальные 4 следует использовать только для целей тестирования).

Как я могу это сделать?Генератор обычно доходность X, Y.Вы не можете случайно задать его Yield X, Y, ZI предположить.

Я понятия не имею, каким должен быть следующий шаг.

class SbecialPatchGenerator (Sequence): def init (...): ...

def __len__(self):
    ...

def __getitem__(self, file_index):
    rndint = np.random.randint(0, len(self.images))
    with open(self.images[rndint], "rb") as read_file:
        images = np.load(read_file)
        images = np.reshape(images, [-1, self.new_size, self.new_size, 1])

    with open(self.neighbors[rndint], "rb") as read_file:
        new_neighbors=[]
        for c in range(8):
            new_neighbors.append([])
        neighbors_list = np.load(read_file)
        #print("neighbors - " + str(neighbors_list.shape))

        for neighbors in neighbors_list:
             for c in range(len(neighbors)):
                 #print("neighbor - " + str(neighbors[c].shape))
                 after_edit = np.reshape(neighbors[c] , [self.new_size, self.new_size, 1])
                 new_neighbors[c].append( after_edit)
                 #print("neighbor_ae - " + str(after_edit.shape))
    for c in range(8):
            new_neighbors[c] = np.array(new_neighbors[c])
    return new_neighbors,images

Я бы ожидал Генератор, который: - При использовании в Model.fit_generator () использует только 4 изображения в качестве X и 1 изображение в качестве Y -Это дает мне возможность взять 8 изображений как X и 1 как Y с пользовательской функцией

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