В Tensorflow добавление слоев увеличения данных в мою модель keras замедляет обучение более чем в 10 раз

#tensorflow #keras #keras-layer #data-augmentation

#tensorflow #keras #keras-layer #увеличение данных

Вопрос:

Я добавляю увеличение данных в свою модель tensorflow следующим образом:

 data_augmentation = keras.Sequential([
  layers.experimental.preprocessing.RandomRotation(factor=0.4, fill_mode="wrap"),
  layers.experimental.preprocessing.RandomTranslation(height_factor=0.2, width_factor=0.2, fill_mode="wrap"),
  layers.experimental.preprocessing.RandomFlip("horizontal"),
  layers.experimental.preprocessing.RandomContrast(factor=0.2),
  layers.experimental.preprocessing.RandomHeight(factor=0.2),
  layers.experimental.preprocessing.RandomWidth(factor=0.2)
])

input_shape = (299, 299, 3)

inceptionV3_base = tf.keras.applications.InceptionV3(
    input_shape=input_shape,
    include_top=False,
    weights='imagenet'
)

tf_model = tf.keras.Sequential([
    tf.keras.layers.InputLayer(input_shape=input_shape),
    data_augmentation,
    inceptionV3_base,
    tf.keras.layers.GlobalAveragePooling2D(),
    tf.keras.layers.Dense(1024, activation='relu'),
    tf.keras.layers.Dense(len(classes), activation='softmax')
])
 

Добавление data_augmentation слоя к model замедляет обучение в 13 раз. Правильно ли я использую слои предварительной обработки keras?

Комментарии:

1. Чтобы получить больше информации, вы можете использовать профилировщик tensorflow

2. Есть ли какие-либо обновления? У меня та же проблема.

Ответ №1:

У меня была та же проблема — отсутствовал ptxas ( nvidia-cuda-toolkit пакет для меня).