Графический процессор Kaggle не работает при передаче модели keras - PullRequest
0 голосов
/ 01 мая 2020

Я тренирую модель распознавания изображений CNN в Kaggle. Я использую Keras. Я включил ускоритель GPU. В процессе обучения ноутбук не использует графический процессор. Процессор используется на 100%, а графический процессор на 0%. Нужно ли делать что-то особенное, чтобы моя модель Keras работала на графическом процессоре, кроме включения графического процессора в настройках?

Я также пытался перейти в режим сценариев и запустить ту же модель. Не повезло: (

Я выполнил следующее, как предложено в комментариях, и получил эти результаты

from tensorflow.python.client import device_lib;print(device_lib.list_local_devices())

Результат: -

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 6062022138908879912
, name: "/device:XLA_CPU:0"
device_type: "XLA_CPU"
memory_limit: 17179869184
locality {
}
incarnation: 18244941159629232965
physical_device_desc: "device: XLA_CPU device"
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 15870492672
locality {
  bus_id: 1
  links {
  }
}
incarnation: 12237251189014729254
physical_device_desc: "device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0"
, name: "/device:XLA_GPU:0"
device_type: "XLA_GPU"
memory_limit: 17179869184
locality {
}
incarnation: 13587127940827625526
physical_device_desc: "device: XLA_GPU device"
]

Код модели: -

STEPS_PER_EPOCH = train_labels.shape[0] // BATCH_SIZE
base_model = DenseNet121(input_shape=(512, 512, 3),
                                             weights='imagenet',
                                             include_top=False)
base_model.trainable = False 
model = tf.keras.Sequential([base_model,
                             L.GlobalAveragePooling2D(),
                             L.Dense(train_labels.shape[1],
                                     activation='softmax')])



model.compile(optimizer='adam',
              loss = 'categorical_crossentropy',
              metrics=['categorical_accuracy'])
model.summary()

history = model.fit(train_dataset,
                    epochs=EPOCHS,
                    steps_per_epoch=STEPS_PER_EPOCH,
                    validation_data=valid_dataset)
...