#python #gpu #nvidia #catboost
#python #gpu #nvidia #catboost
Вопрос:
Я использую catboost для решения многоклассовой классификации.
Когда я подгоняю модель с использованием catboost, использование gpu не увеличивается. Но использование памяти моего gpu явно сильно возрастает.
Я обнаружил, что моя модель подходит для использования с cpu, потому что colab с gpu runtime показал гораздо меньшее время обучения.
У меня графический процессор лучше, чем colab.
Я прилагаю код и результат nvidia-smi.
model = CatBoostClassifier(
custom_metric=['TotalF1'],
random_seed=42,
logging_level='Silent',
task_type='GPU'
)
get_gpu_device_count()
3
model.fit(
X_train, y_train,
cat_features=categorical_features_indices,
eval_set=(X_validation, y_validation),
logging_level='Verbose', # you can uncomment this for text output
plot=True
);
Warning: less than 75% gpu memory available for training. Free: 23583.5625 Total: 32480.5
Warning: less than 75% gpu memory available for training. Free: 5569.5625 Total: 32480.5
0: learn: 0.9920891 test: 0.9923071 best: 0.9923071 (0) total: 2.54s remaining: 42m 15s
1: learn: 0.9280651 test: 0.9282007 best: 0.9282007 (1) total: 5.01s remaining: 41m 40s
2: learn: 0.8778390 test: 0.8781491 best: 0.8781491 (2) total: 7.45s remaining: 41m 15s
3: learn: 0.8469168 test: 0.8473046 best: 0.8473046 (3) total: 9.9s remaining: 41m 5s
....
Пожалуйста, игнорируйте устройства GPU 1 и 2, они используются другим пользователем. Я уверен, что когда я подхожу к своей модели, ядро пытается использовать device 0. Как вы можете видеть, gpu devcie 0 не показывает gpu-util. Когда я отключаю свое ядро catboost, использование памяти gpu возвращается к нулю. Когда я подхожу к модели, увеличивается только использование памяти gpu, а использование gpu не увеличивается.