Как использовать трансформеры обнимающих лиц в Python

Kak Ispol Zovat Transformery Obnimausih Lic V Python



Hugging Face признан сообществом искусственного интеллекта с открытым исходным кодом и предоставляет все важные платформы, инструменты, модели и архитектуры, которые помогают общаться или тренироваться с языковыми моделями (обработка естественного языка). Преобразователи Hugging Face — это языковая архитектура, которая помогает предоставлять предварительно обученные модели языковой обработки в Python. Эти преобразователи от Hugging Face предоставляют широкий спектр наборов данных и многоуровневых API, которые помогают программистам легко создавать взаимодействие с предварительно обученными моделями с их пакетами библиотек.

Синтаксис

Современные трансформеры Hugging Face имеют множество предварительно обученных моделей. Эти модели можно применять к различным языковым моделям, перечисленным ниже:

  • Эти преобразователи могут обрабатывать текст на разных языках и могут выполнять различные задачи над текстом, такие как классификация текста, вопросы и ответы, перевод текста на разные языки и генерация текста.
  • Мы также можем использовать эти преобразователи в Hugging Face для задач классификации на основе зрения, таких как обнаружение объектов и речевые задачи, например. классификация говорящих или идентификация/распознавание речи.

Трансформеры от Hugging Face включают TensorFlow, PyTorch, ONNX и т.д. Для синтаксиса установки пакета для этих трансформеров мы используем следующую команду:







$ pip установить трансформаторы

Теперь мы попытаемся попробовать разные примеры, где мы используем модели из преобразователя Hugging Face для различных задач обработки языка.



Пример 1: Генерация текста с помощью трансформеров обнимающих лиц

В этом примере рассматривается метод использования преобразователей для генерации текста. Для генерации текста мы используем и импортируем предварительно обученную модель генерации текста из преобразователя. Трансформатор имеет базовую библиотеку, известную как «конвейеры». Эти конвейеры работают для преобразователей, выполняя всю необходимую предварительную и последующую обработку данных, которые необходимо подавать в предварительно обученные модели в качестве входных данных.



Мы начинаем кодировать пример, сначала установив пакет библиотеки «трансформеров» в терминал Python. Чтобы загрузить пакет трансформатора, используйте «pip install с именем пакета, т.е. трансформатор». После того, как мы загрузили и установили пакет трансформатора, мы продвигаемся вперед, импортируя пакет «конвейеров» из трансформатора. Конвейер используется для обработки данных перед их подачей в модель.





Мы импортируем «pprint» из файла pprint. Этот пакет устанавливается для печати выходных данных модели генерации текста в более удобочитаемой, структурированной и правильно отформатированной форме. В противном случае, если мы используем функцию «print()», она отображает вывод в одной строке, которая плохо отформатирована и легко читаема. Модели генерации текста помогают генерировать или добавлять дополнительный текст к тексту, который мы изначально предоставили модели в качестве входных данных.

Чтобы вызвать обученную модель из преобразователя, мы используем функцию pipe(), которая имеет два параметра в качестве входных данных. Первый указывает имя выбранной задачи, а второй — имя модели из трансформатора. В этом сценарии выбранной задачей является генерация текста. Предварительно обученная модель, которую мы используем из преобразователя, называется «gpt».



После использования функции конвейера мы определяем входные данные, которые мы хотим дать нашей модели, чтобы сгенерировать для нее дополнительный текст. Затем мы передаем этот ввод в функцию «task_pipeline()». Эта функция создает выходные данные для модели, принимая входные данные, максимальную длину выходных данных и количество предложений, которые выходные должны иметь в качестве входных параметров.

Мы даем ввод как «Это языковая модель». Мы фиксируем максимальную длину вывода на «30» и количество предложений в выводе на «3». Теперь мы просто вызываем функцию pprint() для отображения результатов, сгенерированных нашей моделью.

!pip установить трансформаторы

из импортного трубопровода трансформаторов
из pprint импортировать pprint

SELECTED_TASK = 'генерация текста'
МОДЕЛЬ = 'gpt2'
задача = конвейер (f'{SELECTED_TASK}', модель = МОДЕЛЬ)

INPUT = 'Это языковая модель'
OUT_put = задача (INPUT, max_length = 30, num_return_sequences = 3)

pprint (OUT_put)

Из ранее упомянутого фрагмента кода и вывода мы видим, что модель генерирует дополнительную информацию/текст, относящуюся к входным данным, которые мы ей передали.

Пример 2: Классификация текста с использованием конвейеров от преобразователей

В предыдущем примере был рассмотрен метод создания дополнительного текста, относящегося к входным данным, с использованием преобразователей и их конвейеров пакетов. В этом примере показано, как выполнить классификацию текста с конвейерами. Классификация текста — это процесс идентификации входных данных, которые подаются в модель как члена определенного класса, например. положительное или отрицательное.

Сначала мы импортируем трубопроводы от трансформаторов. Затем мы вызываем функцию «конвейер ()». В ее параметры мы передаем имя модели, в нашем случае «текстовая классификация». После того, как модель указана с использованием конвейера, мы можем теперь назвать ее «классификатор». До этого момента модель по умолчанию для классификации текста загружается на наш хост-компьютер. Теперь мы можем использовать эту модель для нашей задачи.

Итак, импортируйте Pandas как «pd». Мы хотим импортировать этот пакет, потому что хотим распечатать выходные данные модели в виде DataFrame. Теперь мы указываем текст, который мы хотим дать нашей модели в качестве входных данных, чтобы классифицировать его как положительное или отрицательное предложение. Мы устанавливаем текст как «Я хороший парень». Мы передаем этот текст модели classifier(), которую мы только что создали в этом примере, и сохраняем результаты в «выходной» переменной.

Чтобы отобразить вывод, мы вызываем префикс Pandas, то есть pd, как «.Dataframe ()» и передаем вывод из модели классификатора в эту функцию. Теперь он отображает результаты модели классификатора, как показано в следующем фрагменте вывода. Наша модель классификатора классифицирует текст как положительный класс.

!pip установить трансформаторы
из импортного трубопровода трансформаторов
импортировать панд как pd
classifier = pipe('text-classification',model = 'textattack/distilbert-base-uncased-CoLA')
text = 'я хороший парень'
результат = классификатор (текст)
печать (результат)
df = pd.DataFrame(результат)

Заключение

В этом руководстве рассказывается об архитектуре трансформатора от Hugging Face. Мы обсудили «конвейерную» библиотеку из трансформера Hugging Face. Затем с помощью этой библиотеки мы использовали предварительно обученные модели преобразователей для задач генерации текста и классификации.