Kā lietot apskaujošus sejas transformatorus programmā Python

Ka Lietot Apskaujosus Sejas Transformatorus Programma Python



Hugging Face ir atzīta par mākslīgo intelektuālo kopienu, kas ir atvērtā pirmkoda kopiena un nodrošina visus svarīgos ietvarus, rīkus, modeļus un arhitektūras, kas palīdz sazināties vai trenēties ar valodas modeļiem (dabiskās valodas apstrāde). Hugging Face transformatori ir valodas arhitektūra, kas palīdz nodrošināt iepriekš apmācītus valodas apstrādes modeļus Python. Šie Hugging Face transformatori nodrošina plašu datu kopu un slāņu API klāstu, kas palīdz programmētājiem viegli izveidot mijiedarbību ar iepriekš apmācītajiem modeļiem, izmantojot bibliotēkas pakotnes.

Sintakse

Mūsdienīgajiem Hugging Face transformatoriem ir plašs iepriekš apmācītu modeļu klāsts. Šos modeļus var lietot dažādiem valodu modeļiem, kas ir norādīti tālāk.

  • Šie transformatori var apstrādāt tekstu dažādās valodās un var veikt dažādus uzdevumus ar tekstu, piemēram, teksta klasifikāciju, jautājumu uzdošanu un atbildēšanu, teksta tulkošanu dažādās valodās un teksta ģenerēšanu.
  • Mēs varam arī izmantot šos transformatorus Hugging Face uz redzi balstītiem klasifikācijas uzdevumiem, piemēram, objektu noteikšanai un uz runu balstītiem uzdevumiem, piemēram, runātāju klasifikācija vai runas identifikācija/atpazīšana.

Hugging Face transformatori ietver TensorFlow, PyTorch, ONNX utt. Šo transformatoru pakotnes instalēšanas sintaksei mēs izmantojam šādu komandu:







$ pip uzstādīt transformatorus

Tagad mēs mēģinām izmēģināt dažādus piemērus, kuros mēs izmantojam Hugging Face transformatora modeļus dažādiem valodas apstrādes uzdevumiem.



1. piemērs: teksta ģenerēšana, izmantojot apskaujošās sejas transformatorus

Šis piemērs aptver metodi, kā izmantot transformatorus teksta ģenerēšanai. Teksta ģenerēšanai mēs izmantojam un importējam iepriekš apmācītu teksta ģenerēšanas modeli no transformatora. Transformatoram ir pamata bibliotēka, kas pazīstama kā “cauruļvadi”. Šie cauruļvadi darbojas transformatoros, veicot visu nepieciešamo datu apstrādi pirms un pēc tam, kas ir jāievada iepriekš apmācītiem modeļiem kā ievade.



Mēs sākam kodēt piemēru, vispirms instalējot 'transformatoru' bibliotēkas pakotni Python terminālī. Lai lejupielādētu transformatora pakotni, izmantojiet “pip install ar pakotnes nosaukumu, t.i., transformators”. Kad esam lejupielādējuši un instalējuši transformatora pakotni, mēs virzāmies uz priekšu, importējot “cauruļvadu” pakotni no transformatora. Cauruļvads tiek izmantots, lai apstrādātu datus, pirms tie tiek ievadīti modelī.





Mēs importējam “pprint” no pprint. Šī pakotne ir instalēta, lai izdrukātu teksta ģenerēšanas modeļa izvadi lasāmākā, strukturētā un labi formatētā formā. Pretējā gadījumā, ja mēs izmantojam funkciju “print()”, tā parāda izvadi vienā rindā, kas nav labi formatēta un viegli lasāma. Teksta ģenerēšanas modeļi palīdz ģenerēt vai pievienot tekstam vairāk teksta, ko sākotnēji nodrošinājām modelim kā ievadi.

Lai izsauktu apmācīto modeli no transformatora, mēs izmantojam pipeline() funkciju, kuras ievade ir divi parametri. Pirmais norāda atlasītā uzdevuma nosaukumu, bet otrais ir modeļa nosaukums no transformatora. Šajā scenārijā atlasītais uzdevums ir teksta ģenerēšana. Iepriekš sagatavotais modelis, ko mēs izmantojam no transformatora, ir “gpt”.



Pēc konveijera funkcijas izmantošanas mēs izlemjam ievadi, ko vēlamies piešķirt savam modelim, lai tam ģenerētu papildu tekstu. Pēc tam mēs nododam šo ievadi funkcijai “task_pipeline()”. Šī funkcija izveido modeļa izvadi, ņemot vērā ievadi, maksimālo izvades garumu un teikumu skaitu, kam jābūt izvadei kā ievades parametriem.

Mēs sniedzam ievadi kā “Šis ir valodas modelis”. Mēs nosakām maksimālo izvades garumu “30” un teikumu skaitu izvadē uz “3”. Tagad mēs vienkārši izsaucam funkciju pprint (), lai parādītu rezultātus, kas tiek ģenerēti no mūsu modeļa.

!pip install transformatori

no transformatoru importa cauruļvada
no pprint importēt pprint

SELECTED_TASK = 'teksta ģenerēšana'
MODEL = 'gpt2'
uzdevums = konveijera (f'{SELECTED_TASK}', modelis = MODELIS)

INPUT = 'Šis ir valodas modelis'
OUT_put = uzdevums (IEeja, maksimālais_garums = 30, atgriešanās_secību skaits = 3)

pprint (OUT_put)

No iepriekš minētā koda fragmenta un izvades mēs varam redzēt, ka modelis ģenerē papildu informāciju/tekstu, kas attiecas uz ievadi, ko mēs tam ievadījām.

2. piemērs. Teksta klasifikācija, izmantojot transformatoru cauruļvadus

Iepriekšējais piemērs aptvēra metodi papildu teksta ģenerēšanai, kas attiecas uz ievadi, izmantojot transformatorus un to pakotnes cauruļvadus. Šis piemērs parāda, kā veikt teksta klasifikāciju ar konveijeriem. Teksta klasifikācija ir process, kurā tiek identificēta ievade, kas tiek ievadīta modelī kā noteiktas klases dalībnieks, piem. pozitīvs vai negatīvs.

Vispirms mēs importējam cauruļvadus no transformatoriem. Pēc tam mēs izsaucam funkciju “pipeline()”. Mēs nododam modeļa nosaukumu, kas mūsu gadījumā ir “teksta klasifikācija”, tā parametriem. Kad modelis ir norādīts, izmantojot cauruļvadu, mēs varam to nosaukt par 'klasifikatoru'. Līdz šim brīdim teksta klasifikācijas noklusējuma modelis tiek lejupielādēts mūsu resursdatorā. Tagad mēs varam izmantot šo modeli mūsu uzdevumam.

Tātad, importējiet Pandas kā “pd”. Mēs vēlamies importēt šo pakotni, jo mēs vēlamies izdrukāt modeļa izvadi DataFrame formā. Tagad mēs norādām tekstu, kuru mēs vēlamies piešķirt savam modelim kā ievadi, lai to klasificētu kā pozitīvu vai negatīvu teikumu. Mēs iestatījām tekstu kā “Es esmu labs puisis”. Mēs nododam šo tekstu klasifikatora () modelim, ko tikko izveidojām šajā piemērā, un saglabājam rezultātus mainīgajā “izeja”.

Lai parādītu izvadi, mēs izsaucam Pandas prefiksu, t.i., pd kā “.Dataframe()” un nododam izvadi no klasifikatora modeļa šai funkcijai. Tagad tas parāda klasifikatora modeļa rezultātus, kā parādīts nākamajā izvades fragmentā. Mūsu klasifikatora modelis klasificē tekstu kā pozitīvo klasi.

!pip install transformatori
no transformatoru importa cauruļvada
importēt pandas kā pd
klasifikators = konveijera ('text-classification',modelis = 'textattack/distilbert-base-uncased-CoLA')
teksts = 'es esmu labs puisis'
rezultāts = klasifikators (teksts)
pprint(rezultāts)
df = pd.DataFrame(rezultāts)

Secinājums

Šajā rokasgrāmatā tika apskatīta Hugging Face transformatora arhitektūra. Mēs apspriedām “cauruļvada” bibliotēku no Hugging Face transformatora. Pēc tam ar šīs bibliotēkas palīdzību mēs izmantojām iepriekš apmācītus transformatoru modeļus teksta ģenerēšanas un klasifikācijas uzdevumiem.