Hur man använder Hugging Face Transformers i Python

Hur Man Anvander Hugging Face Transformers I Python



Hugging Face är erkänt som en artificiell intelligent gemenskap som är öppen källkod och den tillhandahåller alla viktiga ramverk, verktyg, modeller och arkitekturer som hjälper till att kommunicera eller träna med språkmodellerna (naturlig språkbehandling). Hugging Face transformers är en språkarkitektur som hjälper till med tillhandahållandet av de förtränade språkbehandlingsmodellerna i Python. Dessa transformatorer från Hugging Face tillhandahåller ett brett utbud av datauppsättningar och skiktade API:er som hjälper programmerarna att enkelt skapa en interaktion med de förtränade modellerna med sina bibliotekspaket.

Syntax

De toppmoderna Hugging Face-transformatorerna har ett stort utbud av förutbildade modeller. Dessa modeller kan tillämpas på olika språkmodeller som listas i följande:

  • Dessa transformatorer kan bearbeta texten på olika språk och kan utföra olika uppgifter på texten såsom textklassificering, ifrågasättande och svar, översättning av texten till olika språk och generering av texten.
  • Vi kan även använda dessa transformatorer i Hugging Face för synbaserade klassificeringsuppgifter som objektdetektering och talbaserade uppgifter, t.ex. talarklassificering eller talidentifiering/igenkänning.

Transformatorerna från Hugging Face inkluderar TensorFlow, PyTorch, ONNX, etc. För syntaxen för att installera paketet för dessa transformatorer använder vi följande kommando:







$ pip installera transformatorer

Nu försöker vi prova olika exempel där vi använder modellerna från Hugging Face-transformatorn för olika språkbearbetningsuppgifter.



Exempel 1: Textgenerering med hjälp av transformatorerna för Hugging Face

Detta exempel täcker metoden för att använda transformatorerna för textgenerering. För textgenereringen använder vi och importerar den förtränade textgenereringsmodellen från transformatorn. Transformatorn har ett grundläggande bibliotek som är känt som 'pipelines'. Dessa pipelines fungerar för transformatorer genom att göra all nödvändig bearbetning före och efter den data som krävs för att matas till de förtränade modellerna som indata.



Vi börjar koda exemplet genom att först installera bibliotekspaketet för 'transformatorerna' i Python-terminalen. För att ladda ner transformatorns paket, använd 'pipinstallation med namnet på paketet, d.v.s. transformator'. När vi väl laddat ner och installerat transformatorpaketet går vi vidare genom att importera 'pipelines'-paketet från transformatorn. Pipelinen används för att bearbeta data innan den matas till modellen.





Vi importerar 'pprint' från pprint. Det här paketet är installerat för att skriva ut utdata från textgenereringsmodellen i en mer läsbar, strukturerad och välformaterad form. Annars, om vi använder 'print()'-funktionen, visar den utdata på en enda rad som inte är välformaterad och lätt att läsa. Textgenereringsmodellerna hjälper till att generera eller lägga till mer text till texten som vi initialt gav till modellen som input.

För att anropa den tränade modellen från transformatorn använder vi funktionen pipeline() som har de två parametrarna som indata. Den första anger namnet på den valda uppgiften och den andra är modellens namn från en transformator. I det här scenariot är den valda uppgiften textgenereringen. Den förtränade modellen som vi använder från transformatorn är 'gpt'.



Efter att ha använt pipeline-funktionen bestämmer vi vilken input vi vill ge till vår modell för att generera ytterligare text för den. Sedan skickar vi denna ingång till funktionen 'task_pipeline()'. Den här funktionen skapar utdata för modellen genom att ta in indata, den maximala längden på utdata och antalet meningar som utdata ska ha som indataparametrar.

Vi ger input som 'Detta är en språkmodell'. Vi fixar den maximala längden på utdata till '30' och antalet meningar i utdata till '3'. Nu anropar vi helt enkelt funktionen pprint() för att visa resultaten som genereras från vår modell.

!pip installera transformatorer

från transformatorer import pipeline
från pprint import pprint

SELECTED_TASK = 'textgenerering'
MODELL = 'gpt2'
uppgift = pipeline(f'{SELECTED_TASK}', modell = MODELL)

INPUT = 'Detta är en språkmodell'
OUT_put = uppgift(INPUT, max_längd = 30, num_return_sequences=3)

pprint(OUT_put)

Från den tidigare nämnda kodens kodavsnitt och utdata kan vi se att modellen genererar den ytterligare informationen/texten som är relevant för indata som vi matade till den.

Exempel 2: Textklassificering med pipelines från transformatorerna

Det föregående exemplet täckte metoden att generera den ytterligare texten som är relevant för inmatningen med hjälp av transformatorerna och deras paketledningar. Det här exemplet visar hur man utför textklassificeringen med pipelines. Textklassificering är processen att identifiera indata som matas till modellen som en medlem av en specifik klass, t.ex. positiv eller negativ.

Vi importerar först rörledningarna från transformatorerna. Sedan kallar vi funktionen 'pipeline()'. Vi skickar modellens namn som i vårt fall är 'textklassificering' till dess parametrar. När modellen väl har specificerats med hjälp av pipeline kan vi nu namnge den som 'klassificerare'. Fram till denna tidpunkt laddas standardmodellen för textklassificeringen ner till vår värddator. Nu kan vi använda den här modellen för vår uppgift.

Så importera pandorna som 'pd'. Vi vill importera detta paket eftersom vi vill skriva ut utdata från modellen i form av DataFrame. Nu specificerar vi texten som vi vill ge till vår modell som input för att klassificera den som en positiv eller en negativ mening. Vi anger texten som 'I'm a good guy'. Vi skickar denna text till classifier()-modellen som vi precis skapade i det här exemplet och sparar resultaten i en 'output'-variabel.

För att visa utdata anropar vi prefixet för Pandas, det vill säga pd som '.Dataframe()' och skickar utdata från klassificeringsmodellen till denna funktion. Den visar nu resultaten från klassificeringsmodellen som visas i följande utdatautdrag. Vår klassificeringsmodell klassificerar texten som den positiva klassen.

!pip installera transformatorer
från transformatorer import pipeline
importera pandor som pd
klassificerare = pipeline('text-klassificering', modell = 'textattack/distilbert-base-uncased-CoLA')
text = 'jag är en bra kille'
resultat = klassificerare(text)
pprint(resultat)
df = pd.DataFrame(result)

Slutsats

Den här guiden täckte transformatorarkitekturen från Hugging Face. Vi diskuterade 'pipeline'-biblioteket från transformatorn Hugging Face. Sedan, med hjälp av detta bibliotek, använde vi de förutbildade transformatormodellerna för textgenerering och klassificeringsuppgifter.