Kako koristiti transformatore grlećih lica u Pythonu

Kako Koristiti Transformatore Grlecih Lica U Pythonu



Hugging Face prepoznat je kao zajednica umjetne inteligencije koja je otvorenog koda i pruža sve važne okvire, alate, modele i arhitekture koje pomažu u komunikaciji ili obuci s jezičnim modelima (obrada prirodnog jezika). Hugging Face transformers je jezična arhitektura koja pomaže u pružanju unaprijed obučenih modela obrade jezika u Pythonu. Ovi transformatori iz Hugging Face-a pružaju širok raspon skupova podataka i slojevitih API-ja koji programerima pomažu da jednostavno stvore interakciju s unaprijed obučenim modelima s njihovim knjižničnim paketima.

Sintaksa

Najsuvremeniji transformatori Hugging Face imaju veliki izbor unaprijed obučenih modela. Ovi se modeli mogu primijeniti na različite jezične modele koji su navedeni u nastavku:

  • Ovi transformatori mogu obrađivati ​​tekst na različitim jezicima i mogu obavljati različite zadatke na tekstu kao što su klasifikacija teksta, postavljanje pitanja i odgovaranje, prijevod teksta na različite jezike i generiranje teksta.
  • Također možemo upotrijebiti ove transformatore u Hugging Face za zadatke klasifikacije temeljene na viziji kao što su detekcija objekata i zadaci temeljeni na govoru, npr. klasifikacija govornika ili identifikacija/prepoznavanje govora.

Transformatori iz Hugging Face uključuju TensorFlow, PyTorch, ONNX itd. Za sintaksu instaliranja paketa za ove transformatore koristimo sljedeću naredbu:







$ pip instalirajte transformatore

Sada pokušavamo isprobati različite primjere u kojima koristimo modele iz transformatora Hugging Face za različite zadatke obrade jezika.



Primjer 1: Generiranje teksta pomoću transformatora grlećih lica

Ovaj primjer pokriva metodu korištenja transformatora za generiranje teksta. Za generiranje teksta koristimo i uvozimo prethodno obučeni model generiranja teksta iz transformatora. Transformator ima osnovnu biblioteku koja je poznata kao 'cjevovodi'. Ovi cjevovodi rade za transformatore radeći svu prije i poslije potrebnu obradu podataka koji se moraju unijeti u prethodno obučene modele kao ulaz.



Počinjemo s kodiranjem primjera prvo instaliranjem knjižničnog paketa 'transformatora' u Python terminal. Za preuzimanje paketa transformatora koristite “pip instalaciju s nazivom paketa, tj. transformatora”. Nakon što smo preuzeli i instalirali paket transformatora, nastavljamo uvozom paketa 'cjevovodi' iz transformatora. Cjevovod se koristi za obradu podataka prije nego što se unesu u model.





Uvozimo 'pprint' iz pprinta. Ovaj paket instaliran je za ispis izlaza iz modela generiranja teksta u čitljivijem, strukturiranom i dobro oblikovanom obliku. U suprotnom, ako koristimo funkciju 'print()', ona prikazuje izlaz u jednom retku koji nije dobro formatiran i lako čitljiv. Modeli generiranja teksta pomažu generirati ili dodati više teksta tekstu koji smo inicijalno dali modelu kao unos.

Za pozivanje obučenog modela iz transformatora koristimo funkciju pipeline() koja ima dva parametra kao ulaz. Prvi specificira naziv odabranog zadatka, a drugi je naziv modela iz transformatora. U ovom scenariju odabrani zadatak je generiranje teksta. Unaprijed obučeni model koji koristimo iz transformatora je 'gpt'.



Nakon korištenja funkcije cjevovoda, odlučujemo koji unos želimo dati našem modelu kako bismo za njega generirali dodatni tekst. Zatim taj unos prosljeđujemo funkciji 'task_pipeline()'. Ova funkcija stvara izlaz za model uzimajući ulaz, maksimalnu duljinu izlaza i broj rečenica koje bi izlaz trebao imati kao svoje ulazne parametre.

Dajemo unos kao 'Ovo je jezični model'. Fiksiramo maksimalnu duljinu izlaza na '30', a broj rečenica u izlazu na '3'. Sada jednostavno pozivamo funkciju pprint() za prikaz rezultata koji su generirani iz našeg modela.

!pip ugraditi transformatore

iz transformatora uvozni cjevovod
from pprint import pprint

SELECTED_TASK = 'generiranje teksta'
MODEL = 'gpt2'
zadatak = cjevovod(f'{SELECTED_TASK}', model = MODEL)

INPUT = 'Ovo je jezični model'
OUt_put = zadatak (INPUT, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

Iz prethodno spomenutog isječka koda i izlaza, možemo vidjeti da model generira dodatne informacije/tekst koji je relevantan za ulaz koji smo mu dostavili.

Primjer 2: Klasifikacija teksta korištenjem cjevovoda iz transformatora

Prethodni primjer pokriva metodu za generiranje dodatnog teksta koji je relevantan za unos pomoću transformatora i njihovih paketnih cjevovoda. Ovaj nam primjer pokazuje kako izvršiti klasifikaciju teksta s cjevovodima. Klasifikacija teksta je proces identificiranja ulaza koji se unosi u model kao člana određene klase, npr. pozitivno ili negativno.

Prvo uvozimo cjevovode od transformatora. Zatim pozivamo funkciju 'pipeline()'. Prosljeđujemo naziv modela koji je, u našem slučaju, 'klasifikacija teksta' njegovim parametrima. Nakon što je model specificiran pomoću cjevovoda, sada ga možemo nazvati 'klasifikator'. Do ove točke, zadani model za klasifikaciju teksta preuzima se na naš glavni stroj. Sada možemo koristiti ovaj model za naš zadatak.

Dakle, uvezite Pande kao 'pd'. Želimo uvesti ovaj paket jer želimo ispisati izlaz iz modela u obliku DataFrame. Sada specificiramo tekst koji želimo dati našem modelu kao ulaz da bismo ga klasificirali kao pozitivnu ili negativnu rečenicu. Postavili smo tekst kao 'Ja sam dobar momak'. Ovaj tekst prosljeđujemo modelu classifier() koji smo upravo stvorili u ovom primjeru i spremamo rezultate u varijablu 'output'.

Za prikaz izlaza pozivamo prefiks Pandas, tj. pd kao “.Dataframe()” i prosljeđujemo izlaz iz modela klasifikatora ovoj funkciji. Sada prikazuje rezultate iz modela klasifikatora kao što je prikazano u sljedećem izlaznom isječku. Naš model klasifikatora klasificira tekst kao pozitivnu klasu.

!pip ugraditi transformatore
iz transformatora uvozni cjevovod
uvezi pande kao pd
klasifikator = cjevovod('tekst-klasifikacija',model = 'textattack/distilbert-base-uncased-CoLA')
tekst = 'ja sam dobar momak'
rezultat = klasifikator(tekst)
pprint(rezultat)
df = pd.DataFrame(rezultat)

Zaključak

Ovaj vodič pokriva arhitekturu transformatora iz Hugging Face. Razgovarali smo o biblioteci 'cjevovoda' iz transformatora Hugging Face. Zatim smo, uz pomoć ove knjižnice, upotrijebili unaprijed obučene modele transformatora za generiranje teksta i zadatke klasifikacije.