Я тренирую модель распознавания изображений 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)