Float16 смешанной точности работает медленнее, чем обычный float32, keras, tensorflow 2.0Python

Программы на Python
Anonymous
Float16 смешанной точности работает медленнее, чем обычный float32, keras, tensorflow 2.0

Сообщение Anonymous »


Я использую Tensorflow 2.10 в Windows с NVIDIA RTX 2060 SUPER (с тензорными ядрами) для глубокого обучения. Но при включении смешанной точности float16 время на эпоху фактически становится медленнее, чем быстрее.

Код:

импортировать тензорный поток как tf импортировать SSL ssl._create_default_https_context = ssl._create_unverified_context (train_x, train_y), (test_x, test_y) = tf.keras.datasets.cifar100.load_data() tf.keras.mixed_precision.set_global_policy("mixed_float16") модель = tf.keras.Sequential([ tf.keras.layers.Lambda(лямбда x: x/255, input_shape=(32,32,3)), tf.keras.layers.Conv2D(filters=64, kernel_size=(4,4)), tf.keras.layers.MaxPool2D(), tf.keras.layers.Conv2D(filters=32, kernel_size=(2,2)), tf.keras.layers.MaxPool2D(), tf.keras.layers.Flatten(), tf.keras.layers.Dense(4096, активация="relu"), tf.keras.layers.Dense(4096, активация="relu"), tf.keras.layers.Dense(4096, активация="relu"), tf.keras.layers.Dense(4096, активация="relu"), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(100), tf.keras.layers.Activation("softmax", dtype="float32") ]) model.compile(optimizer="adam", loss=tf.keras.losses.SparseCategoricalCrossentropy(), metrics=["accuracy"]) print("вычислить dtype первого слоя: ", model.layers[0].compute_dtype) model.fit(train_x, train_y, эпохи = 100, Batch_size = 1020) model.evaluate(test_x, test_y) Я выложил несколько изображений проблемы: Вот изображение без использования смешанной точности , А вот изображение со смешанной точностью, более медленное

Запуск кода в Google Colab, который использует более современную версию tensorflow (TF 2.15), работает хорошо и быстрее со смешанной точностью, чем без нее (как и должно быть). Вот ссылка на совместную работу: Google Colab

Я не эксперт в использовании тензорного потока и уже несколько недель пытаюсь исправить эту ошибку, буду благодарен за помощь. Спасибо!

Другая информация:

Я использую cuDNN версии 8.1.1 и Cuda 11.2, которые технически совместимы.

Вернуться в «Python»