Kako uporabljati transformatorje objemajočih obrazov v Pythonu

Kako Uporabljati Transformatorje Objemajocih Obrazov V Pythonu



Hugging Face je priznana kot skupnost umetne inteligence, ki je odprtokodna in ponuja vsa pomembna ogrodja, orodja, modele in arhitekture, ki pomagajo pri komunikaciji ali usposabljanju z jezikovnimi modeli (obdelava naravnega jezika). Hugging Face transformers je jezikovna arhitektura, ki pomaga pri zagotavljanju vnaprej usposobljenih modelov jezikovne obdelave v Pythonu. Ti transformatorji podjetja Hugging Face zagotavljajo široko paleto naborov podatkov in večplastnih API-jev, ki programerjem pomagajo pri preprostem ustvarjanju interakcije z vnaprej usposobljenimi modeli z njihovimi knjižničnimi paketi.

Sintaksa

Najsodobnejši transformatorji Hugging Face imajo veliko različnih vnaprej pripravljenih modelov. Te modele je mogoče uporabiti za različne jezikovne modele, ki so navedeni v nadaljevanju:

  • Ti transformatorji lahko obdelujejo besedilo v različnih jezikih in lahko izvajajo različne naloge na besedilu, kot so razvrščanje besedila, spraševanje in odgovarjanje, prevajanje besedila v različne jezike in generiranje besedila.
  • Te transformatorje lahko uporabimo tudi v Hugging Face za naloge klasifikacije na podlagi vida, kot je zaznavanje predmetov in naloge, ki temeljijo na govoru, npr. razvrstitev govorcev ali identifikacija/prepoznavanje govora.

Transformatorji iz Hugging Face vključujejo TensorFlow, PyTorch, ONNX itd. Za sintakso namestitve paketa za te transformatorje uporabimo naslednji ukaz:







$ pip namestite transformatorje

Zdaj poskušamo poskusiti različne primere, kjer uporabljamo modele iz transformatorja Hugging Face za različne naloge obdelave jezika.



Primer 1: Ustvarjanje besedila s transformatorji objemajočih se obrazov

Ta primer pokriva metodo za uporabo transformatorjev za generiranje besedila. Za generiranje besedila uporabimo in uvozimo vnaprej pripravljen model generiranja besedila iz transformatorja. Transformator ima osnovno knjižnico, ki je znana kot 'cevovodi'. Ti cevovodi delujejo za transformatorje tako, da izvajajo vso predhodno in naknadno potrebno obdelavo podatkov, ki jih je treba vnesti v predhodno usposobljene modele kot vhod.



Primer začnemo kodirati tako, da najprej namestimo knjižnični paket »transformerjev« v terminal Python. Za prenos paketa transformatorja uporabite »pip install z imenom paketa, tj. transformator«. Ko prenesemo in namestimo paket transformatorja, nadaljujemo z uvozom paketa »cevovodov« iz transformatorja. Cevovod se uporablja za obdelavo podatkov, preden se podajo v model.





'pprint' uvozimo iz pprinta. Ta paket je nameščen za tiskanje izhoda iz modela generiranja besedila v bolj berljivi, strukturirani in dobro oblikovani obliki. V nasprotnem primeru, če uporabimo funkcijo »print()«, prikaže izhod v eni vrstici, ki ni dobro oblikovana in lahko berljiva. Modeli za ustvarjanje besedila pomagajo ustvariti ali dodati več besedila besedilu, ki smo ga prvotno posredovali modelu kot vhod.

Za klic usposobljenega modela iz transformatorja uporabimo funkcijo pipeline(), ki ima kot vhod dva parametra. Prvi podaja ime izbrane naloge, drugi pa je ime modela iz transformatorja. V tem scenariju je izbrana naloga generiranje besedila. Vnaprej usposobljen model, ki ga uporabljamo iz transformatorja, je 'gpt'.



Po uporabi funkcije cevovoda se odločimo, kateri vnos želimo dati našemu modelu, da zanj ustvarimo dodatno besedilo. Nato ta vnos posredujemo funkciji »task_pipeline()«. Ta funkcija ustvari izhod za model tako, da vzame vhod, največjo dolžino izhoda in število stavkov, ki naj bi jih izhod imel kot vhodne parametre.

Vnesemo kot »To je jezikovni model«. Največjo dolžino izhoda določimo na '30' in število stavkov v izhodu na '3'. Zdaj preprosto pokličemo funkcijo pprint(), da prikažemo rezultate, ustvarjene iz našega modela.

!pip namestite transformatorje

iz uvoznega cevovoda transformatorjev
iz pprint uvoz pprint

SELECTED_TASK = 'generiranje besedila'
MODEL = 'gpt2'
task = pipeline(f'{SELECTED_TASK}', model = MODEL)

INPUT = 'To je jezikovni model'
OUT_put = task(INPUT, max_length = 30, num_return_sequences=3)

pprint(OUT_put)

Iz prej omenjenega izrezka kode in rezultatov lahko vidimo, da model ustvari dodatne informacije/besedilo, ki je pomembno za vnos, ki smo mu ga posredovali.

Primer 2: Klasifikacija besedila z uporabo cevovodov iz transformatorjev

Prejšnji primer je pokrival metodo za generiranje dodatnega besedila, ki je relevantno za vnos, z uporabo transformatorjev in njihovih paketnih cevovodov. Ta primer nam pokaže, kako izvedemo klasifikacijo besedila s cevovodi. Klasifikacija besedila je postopek identifikacije vnosa, ki se dovaja v model kot člana določenega razreda, npr. pozitivno ali negativno.

Najprej uvozimo cevovode iz transformatorjev. Nato pokličemo funkcijo 'pipeline()'. Ime modela, ki je v našem primeru 'razvrstitev besedila', posredujemo njegovim parametrom. Ko je model določen s pomočjo cevovoda, ga lahko zdaj poimenujemo 'klasifikator'. Do te točke se privzeti model za klasifikacijo besedila prenese na naš gostiteljski stroj. Zdaj lahko ta model uporabimo za našo nalogo.

Torej, uvozite Pande kot 'pd'. Ta paket želimo uvoziti, ker želimo natisniti izhod iz modela v obliki DataFrame. Zdaj določimo besedilo, ki ga želimo dati našemu modelu kot vhod, da ga razvrstimo kot pozitiven ali negativen stavek. Besedilo smo postavili kot 'I'm a good guy'. To besedilo posredujemo modelu classifier(), ki smo ga pravkar ustvarili v tem primeru, rezultate pa shranimo v spremenljivko »output«.

Za prikaz izhoda pokličemo predpono Pandas, tj. pd kot ».Dataframe()« in posredujemo izhod iz modela klasifikatorja tej funkciji. Zdaj prikaže rezultate iz modela klasifikatorja, kot je prikazano v naslednjem izhodnem delčku. Naš model klasifikatorja razvrsti besedilo kot pozitivni razred.

!pip namestite transformatorje
iz uvoznega cevovoda transformatorjev
uvozi pande kot pd
classifier = pipeline('text-classification',model = 'textattack/distilbert-base-uncased-CoLA')
besedilo = 'sem dober fant'
rezultat = klasifikator (besedilo)
pprint(rezultat)
df = pd.DataFrame(rezultat)

Zaključek

Ta vodnik je pokrival arhitekturo transformatorja iz Hugging Face. Razpravljali smo o knjižnici »cevovoda« iz transformatorja Hugging Face. Nato smo s pomočjo te knjižnice uporabili vnaprej pripravljene modele transformatorjev za generiranje besedila in naloge klasifikacije.