Как да използвате трансформатори за прегръщащи се лица в Python

Kak Da Izpolzvate Transformatori Za Pregr Sasi Se Lica V Python



Hugging Face е призната за общност с изкуствен интелект с отворен код и предоставя всички важни рамки, инструменти, модели и архитектури, които помагат за комуникация или обучение с езиковите модели (обработка на естествен език). Hugging Face transformers е езикова архитектура, която помага при предоставянето на предварително обучени модели за езикова обработка в Python. Тези трансформатори от Hugging Face предоставят широк набор от набори от данни и многослойни API, които помагат на програмистите лесно да създават взаимодействие с предварително обучените модели с техните библиотечни пакети.

Синтаксис

Най-съвременните трансформатори Hugging Face имат голямо разнообразие от предварително обучени модели. Тези модели могат да бъдат приложени към различни езикови модели, които са изброени по-долу:

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

Трансформаторите от Hugging Face включват TensorFlow, PyTorch, ONNX и др. За синтаксиса на инсталиране на пакета за тези трансформатори използваме следната команда:







$ pip инсталирайте трансформатори

Сега се опитваме да опитаме различни примери, където използваме моделите от трансформатора Hugging Face за различни задачи за езикова обработка.



Пример 1: Генериране на текст с помощта на трансформаторите за прегръщащи се лица

Този пример обхваща метода за използване на трансформаторите за генериране на текст. За генерирането на текст ние използваме и импортираме предварително обучения модел за генериране на текст от трансформатора. Трансформаторът има основна библиотека, която е известна като „тръбопроводи“. Тези тръбопроводи работят за трансформатори, като извършват цялата необходима обработка преди и след това на данните, които трябва да бъдат подавани към предварително обучените модели като вход.



Започваме да кодираме примера, като първо инсталираме библиотечния пакет на „трансформаторите“ в терминала на Python. За да изтеглите пакета на трансформатора, използвайте „pip install с името на пакета, т.е. трансформатор“. След като изтеглихме и инсталирахме трансформаторния пакет, продължаваме напред, като импортираме пакета „тръбопроводи“ от трансформатора. Конвейерът се използва за обработка на данните, преди те да бъдат подавани към модела.





Ние импортираме „pprint“ от pprint. Този пакет е инсталиран, за да отпечата изхода от модела за генериране на текст в по-четлива, структурирана и добре форматирана форма. В противен случай, ако използваме функцията „print()“, тя показва изхода в един ред, който не е добре форматиран и лесен за четене. Моделите за генериране на текст помагат да се генерира или добави повече текст към текста, който първоначално предоставихме на модела като вход.

За да извикаме обучения модел от трансформатора, използваме функцията pipeline(), която има двата параметъра като вход. Първият указва името на избраната задача, а вторият е името на модела от трансформатор. В този сценарий избраната задача е генерирането на текст. Предварително обученият модел, който използваме от трансформатора, е „gpt“.



След като използваме функцията за конвейер, ние решаваме входа, който искаме да дадем на нашия модел, за да генерираме допълнителен текст за него. След това предаваме този вход на функцията „task_pipeline()“. Тази функция създава изхода за модела, като приема входа, максималната дължина на изхода и броя изречения, които изходът трябва да има като входни параметри.

Даваме входа като „Това е езиков модел“. Фиксираме максималната дължина на изхода на „30“ и броя на изреченията в изхода на „3“. Сега просто извикваме функцията pprint(), за да покажем резултатите, които са генерирани от нашия модел.

!pip инсталирайте трансформатори

от тръбопровод за внос на трансформатори
от pprint импортиране pprint

SELECTED_TASK = 'генериране на текст'
МОДЕЛ = 'gpt2'
task = pipeline(f'{SELECTED_TASK}', model = MODEL)

INPUT = 'Това е езиков модел'
OUt_put = задача (INPUT, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

От фрагмента и изхода на споменатия по-горе код можем да видим, че моделът генерира допълнителна информация/текст, който е уместен за входа, който сме му предоставили.

Пример 2: Класификация на текст с помощта на тръбопроводи от Transformers

Предишният пример покриваше метода за генериране на допълнителен текст, който е подходящ за входа, използвайки трансформаторите и техните пакетни конвейери. Този пример ни показва как да извършим класификацията на текста с тръбопроводите. Текстовата класификация е процес на идентифициране на входа, който се подава към модела като член на конкретен клас, напр. положителен или отрицателен.

Първо внасяме тръбопроводите от трансформаторите. След това извикваме функцията „pipeline()“. Предаваме името на модела, което в нашия случай е „текстова класификация“ към неговите параметри. След като моделът е определен с помощта на тръбопровода, сега можем да го наречем „класификатор“. До този момент моделът по подразбиране за класификацията на текста се изтегля на нашата хост машина. Сега можем да използваме този модел за нашата задача.

И така, импортирайте Pandas като „pd“. Искаме да импортираме този пакет, защото искаме да отпечатаме изхода от модела под формата на DataFrame. Сега ние определяме текста, който искаме да дадем на нашия модел като вход, за да го класифицираме като положително или отрицателно изречение. Задаваме текста като „Аз съм добър човек“. Предаваме този текст на модела classifier(), който току-що създадохме в този пример, и запазваме резултатите в променлива „изход“.

За да покажем изхода, извикваме префикса на Pandas, т.е. pd като „.Dataframe()“ и предаваме изхода от модела на класификатора към тази функция. Сега той показва резултатите от модела на класификатора, както е показано в следния изходен фрагмент. Нашият модел на класификатор класифицира текста като положителен клас.

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

Заключение

Това ръководство обхваща трансформаторната архитектура от Hugging Face. Обсъдихме библиотеката „тръбопровод“ от трансформатора Hugging Face. След това, с помощта на тази библиотека, ние използвахме предварително обучените трансформаторни модели за генериране на текст и задачи за класификация.