Я использую tf.data.Dataset
для создания своего набора данных и тренирую CNN с керасом. Мне нужно наложить маски на изображения, и маска зависит от формы изображения, здесь нет предопределенных координат пикселей.
При поиске ответа по inte rnet я обнаружил, что в TensorFlow есть 2 способа доступа к фигурам изображений (во время обучения):
Используя активное выполнение (которое в моем случае не включено по умолчанию, я использую tf v 12.0)
Использование сеанса
I не хочу использовать нетерпеливое выполнение, потому что оно замедляет обучение, и не может использовать сеанс, потому что я тренируюсь и тестирую CNN, используя Keras (я передаю данные в model.train()
, используя итераторы tf.data.Dataset
).
Как следствие, у меня нет возможности узнать формы изображений, и поэтому я не могу получить доступ к указанным c пикселям для увеличения данных.
Я написал функцию с использованием OpenCV (cv2), которая применяет маски. Есть ли способ интегрировать его с конвейером данных TensorFlow?
EDIT : я нашел решение. Я использовал tf.py_fun c, чтобы обернуть python функции