Я экспериментировал с различными типами слоев свертки, чтобы проверить их вычислительные скорости. вначале мой код был следующим:
def conv_block_A(layer):
block = tf.keras.layers.Conv2D(filters=128, kernel_size=3, strides=1, padding='same')(layer)
block = tf.keras.layers.Conv2D(filters=196, kernel_size=3, strides=1, padding='same')(block)
block = tf.keras.layers.Conv2D(filters=128, kernel_size=3, strides=1, padding='same')(block)
block = tf.keras.layers.BatchNormalization(momentum=0.8)(block)
block = tf.keras.layers.LeakyReLU(alpha=0.2)(block)
return block
после просмотра нескольких блогов я изменил свой код на
def conv_block_A(layer):
block = tf.keras.layers.SeparableConv2D(filters=128, kernel_size=3, strides=1, padding='same')(layer)
block = tf.keras.layers.SeparableConv2D(filters=196, kernel_size=3, strides=1, padding='same')(block)
block = tf.keras.layers.SeparableConv2D(filters=128, kernel_size=3, strides=1, padding='same')(block)
block = tf.keras.layers.BatchNormalization(momentum=0.8)(block)
block = tf.keras.layers.LeakyReLU(alpha=0.2)(block)
return block
, процесс обучения на процессорах стал в два раза быстрее Но на Tesla T4 обучение стало очень медленным. в чем может быть причина?