У меня есть модель НЛП, обученная на Pytorch, для запуска в Jetson Xavier. Я установил Jetson stats для отслеживания использования процессора и графического процессора. Когда я запускаю скрипт Python, под нагрузкой работают только ядра процессора, полоса графического процессора не увеличивается. Я искал в Google об этом с ключевыми словами Как проверить, использует ли pytorch графический процессор? и проверил результаты на stackoverflow.com и т. д. Согласно их советам кому-то другому, столкнувшемуся с подобной проблемой, cuda доступна, и в моем Jetson Xavier есть устройство cuda. Однако я не понимаю, почему полоса графического процессора не меняется, планки ядра процессора доходят до краев.
Я не хочу использовать центральный процессор, он требует много времени для вычислений. На мой взгляд, здесь используется процессор, а не графический процессор. Как я могу быть уверен, и если он использует CPU, как я могу изменить его на GPU?
Примечание. Модель взята из библиотеки huggingface transformers. Я пробовал использовать на модели метод cuda (). (model.cuda ()) В этом сценарии используется графический процессор, но я не могу получить вывод модели и вызывает исключение.
Вот код:
from transformers import AutoTokenizer, AutoModelForQuestionAnswering, pipeline
import torch
BERT_DIR = "savasy/bert-base-turkish-squad"
tokenizer = AutoTokenizer.from_pretrained(BERT_DIR)
model = AutoModelForQuestionAnswering.from_pretrained(BERT_DIR)
nlp=pipeline("question-answering", model=model, tokenizer=tokenizer)
def infer(question,corpus):
try:
ans = nlp(question=question, context=corpus)
return ans["answer"], ans["score"]
except:
ans = None
pass
return None, 0