Почему моя функция генератора тензорного потока такая медленная? - PullRequest
0 голосов
/ 10 марта 2020

Функция генератора ниже скорости слишком медленная. Есть ли способ, которым мы можем оптимизировать этот код? train_dataset_c1 - набор данных поезда для класса 1 изображения формы, 1 train_dataset_c0 - набор данных поезда для класса 0 изображения формы, 0

def generator(positive_dataset, negative_dataset):
while True:
    for pos_rec, neg_rec in zip(positive_dataset, negative_dataset):
        pos_x, pos_y = pos_rec
        neg_x, neg_y = neg_rec
        x = tf.concat([pos_x, neg_x], axis=0)
        y = tf.concat([pos_y, neg_y], axis=0)
        yield x, y

train_generator = generator(train_dataset_c1, train_dataset_c0)
test_generator = generator(test_dataset_c1, test_dataset_c0)

1 Ответ

0 голосов
/ 10 марта 2020

Если вы используете tenenflow 2.0, я бы порекомендовал вам использовать API tf.data для ускорения вашего конвейера.

На самом деле есть функция from_generator , которую вы можете применить к генератору, чтобы ускорить его

После преобразования его в объект tf.data.Dataset с помощью этой функции Вы можете оптимизировать его еще больше, используя любую стратегию из этого учебника

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