1
votes

I'm adding data augmentation to my tensorflow model like so:

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')
])

Adding the data_augmentation layer to model slows down training by 13x. Am I using the keras preprocessing layers correctly?

1
To get more insight, you could use the tensorflow profiler - Lescurel
Is there any update? I have the same problem. - Linminxiang

1 Answers

0
votes

I had the same issue - was missing ptxas (nvidia-cuda-toolkit package for me).