Эффективное использование конвейеров преобразователей Hugging Face на графическом процессоре с большими наборами данных ⇐ Python
Эффективное использование конвейеров преобразователей Hugging Face на графическом процессоре с большими наборами данных
Я относительно новичок в Python и столкнулся с некоторыми проблемами с производительностью при использовании Hugging Face Transformers для анализа настроений в относительно большом наборе данных. Я создал DataFrame с 6000 строками текстовых данных на испанском языке и применяю конвейер анализа настроений к каждой строке текста. Вот упрощенная версия моего кода:
импортировать панд как pd импортный фонарь из tqdm импортировать tqdm из трубопровода импорта трансформаторов данные = { «ТД»: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'текст': [ # ... (здесь ваши текстовые данные) ] } df_model = pd.DataFrame (данные) устройство = 0, если torch.cuda.is_available(), иначе -1 py_sentimiento = конвейер("анализ настроений", модель="finiteautomata/beto-sentiment-anaанализ", tokenizer="finiteautomata/beto-sentiment-anaанализ", устройство=устройство, truncation=True) tqdm.pandas() df_model['py_sentimiento'] = df_model['text'].progress_apply(py_sentimiento) df_model['py_sentimiento'] = df_model['py_sentimiento'].apply(lambda x: x[0]['label']) Однако я обнаружил предупреждающее сообщение, предлагающее использовать набор данных для более эффективной обработки. Предупреждающее сообщение выглядит следующим образом:
«Похоже, вы используете конвейеры последовательно на графическом процессоре. Чтобы максимизировать эффективность, используйте набор данных». У меня два вопроса:
Что означает это предупреждение и почему мне следует использовать набор данных для повышения эффективности?
Как я могу изменить свой код для пакетной обработки данных и использования параллельных вычислений, чтобы лучше использовать ресурсы моего графического процессора, какой код, функцию или библиотеку следует использовать с преобразователями обнимающих лиц?
Я хочу изучать и оптимизировать свой код.
Я относительно новичок в Python и столкнулся с некоторыми проблемами с производительностью при использовании Hugging Face Transformers для анализа настроений в относительно большом наборе данных. Я создал DataFrame с 6000 строками текстовых данных на испанском языке и применяю конвейер анализа настроений к каждой строке текста. Вот упрощенная версия моего кода:
импортировать панд как pd импортный фонарь из tqdm импортировать tqdm из трубопровода импорта трансформаторов данные = { «ТД»: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'текст': [ # ... (здесь ваши текстовые данные) ] } df_model = pd.DataFrame (данные) устройство = 0, если torch.cuda.is_available(), иначе -1 py_sentimiento = конвейер("анализ настроений", модель="finiteautomata/beto-sentiment-anaанализ", tokenizer="finiteautomata/beto-sentiment-anaанализ", устройство=устройство, truncation=True) tqdm.pandas() df_model['py_sentimiento'] = df_model['text'].progress_apply(py_sentimiento) df_model['py_sentimiento'] = df_model['py_sentimiento'].apply(lambda x: x[0]['label']) Однако я обнаружил предупреждающее сообщение, предлагающее использовать набор данных для более эффективной обработки. Предупреждающее сообщение выглядит следующим образом:
«Похоже, вы используете конвейеры последовательно на графическом процессоре. Чтобы максимизировать эффективность, используйте набор данных». У меня два вопроса:
Что означает это предупреждение и почему мне следует использовать набор данных для повышения эффективности?
Как я могу изменить свой код для пакетной обработки данных и использования параллельных вычислений, чтобы лучше использовать ресурсы моего графического процессора, какой код, функцию или библиотеку следует использовать с преобразователями обнимающих лиц?
Я хочу изучать и оптимизировать свой код.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение