Jak używać transformatorów przytulania twarzy w Pythonie

Jak Uzywac Transformatorow Przytulania Twarzy W Pythonie



Hugging Face jest uznawany za społeczność sztucznej inteligencji, która jest open-source i zapewnia wszystkie ważne ramy, narzędzia, modele i architektury, które pomagają komunikować się lub trenować z modelami językowymi (przetwarzanie języka naturalnego). Hugging Face transformers to architektura językowa, która pomaga w dostarczaniu wstępnie wyszkolonych modeli przetwarzania języka w Pythonie. Te transformatory z Hugging Face zapewniają szeroki zakres zestawów danych i warstwowych interfejsów API, które pomagają programistom w łatwym tworzeniu interakcji z wstępnie wytrenowanymi modelami za pomocą ich pakietów bibliotek.

Składnia

Najnowocześniejsze transformatory Hugging Face mają szeroką gamę wstępnie wyszkolonych modeli. Modele te można zastosować do różnych modeli językowych, które są wymienione poniżej:

  • Te transformatory mogą przetwarzać tekst w różnych językach i wykonywać różne zadania na tekście, takie jak klasyfikacja tekstu, zadawanie pytań i udzielanie odpowiedzi, tłumaczenie tekstu na różne języki oraz generowanie tekstu.
  • Możemy również wykorzystać te transformatory w Hugging Face do zadań klasyfikacyjnych opartych na widzeniu, takich jak wykrywanie obiektów i zadania oparte na mowie, np. klasyfikacja mówców lub identyfikacja/rozpoznawanie mowy.

Transformatory z Hugging Face obejmują TensorFlow, PyTorch, ONNX itp. Do składni instalacji pakietu dla tych transformatorów używamy następującego polecenia:







$ pip zainstaluj transformatory

Teraz próbujemy wypróbować różne przykłady, w których używamy modeli z transformatora Hugging Face do różnych zadań związanych z przetwarzaniem języka.



Przykład 1: Generowanie tekstu za pomocą transformatorów przytulania twarzy

Ten przykład obejmuje metodę użycia transformatorów do generowania tekstu. Do generowania tekstu wykorzystujemy i importujemy wstępnie wytrenowany model generowania tekstu z transformatora. Transformator posiada podstawową bibliotekę zwaną „rurociągami”. Te potoki działają dla transformatorów, wykonując wszystkie niezbędne przetwarzanie przed i po przetwarzaniu danych, które są wymagane do wprowadzenia do wstępnie wyszkolonych modeli jako dane wejściowe.



Kodowanie przykładu zaczynamy od zainstalowania pakietu bibliotek „transformatorów” w terminalu Pythona. Aby pobrać paczkę transformatora należy użyć polecenia „pip install z nazwą paczki, czyli transformer”. Po pobraniu i zainstalowaniu pakietu transformatora przechodzimy do przodu, importując pakiet „potoków” z transformatora. Potok służy do przetwarzania danych przed przekazaniem ich do modelu.





Importujemy „pprint” z pliku pprint. Ten pakiet jest instalowany w celu wydrukowania danych wyjściowych z modelu generowania tekstu w bardziej czytelnej, ustrukturyzowanej i dobrze sformatowanej formie. W przeciwnym razie, jeśli użyjemy funkcji „print()”, wyświetli ona dane wyjściowe w jednym wierszu, który nie jest dobrze sformatowany i łatwy do odczytania. Modele generowania tekstu pomagają wygenerować lub dodać więcej tekstu do tekstu, który początkowo dostarczyliśmy do modelu jako dane wejściowe.

Aby wywołać wyuczony model z transformatora, używamy funkcji pipeline(), która ma dwa parametry jako dane wejściowe. Pierwsza określa nazwę wybranego zadania, a druga to nazwa modelu z transformatora. W tym scenariuszu wybranym zadaniem jest generowanie tekstu. Wstępnie wyszkolony model, który wykorzystujemy z transformatora, to „gpt”.



Po użyciu funkcji potoku decydujemy, jakie dane wejściowe chcemy przekazać naszemu modelowi, aby wygenerować dla niego dodatkowy tekst. Następnie przekazujemy te dane wejściowe do funkcji „task_pipeline()”. Ta funkcja tworzy dane wyjściowe dla modelu, przyjmując dane wejściowe, maksymalną długość danych wyjściowych oraz liczbę zdań, które dane wyjściowe powinny mieć jako parametry wejściowe.

Podajemy dane wejściowe jako „To jest model językowy”. Ustalamy maksymalną długość wyjścia na „30”, a liczbę zdań na wyjściu na „3”. Teraz po prostu wywołujemy funkcję pprint(), aby wyświetlić wyniki wygenerowane z naszego modelu.

!pip instaluje transformatory

z rurociągu importu transformatorów
z pprint importuj pprint

SELECTED_TASK = 'generowanie tekstu'
MODEL = „gpt2”
zadanie = potok(f'{SELECTED_TASK}', model = MODEL)

INPUT = „To jest model językowy”
WYJŚCIOWE = zadanie (WEJŚCIE, maksymalna_długość = 30, num_return_sequences = 3)

pprint(OUT_put)

Z wcześniej wspomnianego fragmentu kodu i danych wyjściowych możemy zobaczyć, że model generuje dodatkowe informacje/tekst, które są istotne dla danych wejściowych, które do niego wprowadziliśmy.

Przykład 2: Klasyfikacja tekstu przy użyciu potoków z transformatorów

W poprzednim przykładzie opisano metodę generowania dodatkowego tekstu, który jest odpowiedni dla danych wejściowych przy użyciu transformatorów i ich potoków pakietów. Ten przykład pokazuje nam, jak przeprowadzić klasyfikację tekstu za pomocą potoków. Klasyfikacja tekstu to proces identyfikowania danych wejściowych wprowadzanych do modelu jako członków określonej klasy, np. pozytywny lub negatywny.

W pierwszej kolejności importujemy rurociągi z transformatorów. Następnie wywołujemy funkcję „pipeline()”. Do jego parametrów przekazujemy nazwę modelu, którą w naszym przypadku jest „klasyfikacja tekstowa”. Po określeniu modelu za pomocą potoku możemy teraz nazwać go „klasyfikatorem”. Do tego momentu domyślny model klasyfikacji tekstu jest pobierany na nasz komputer główny. Teraz możemy użyć tego modelu do naszego zadania.

Więc zaimportuj Pandy jako „pd”. Chcemy zaimportować ten pakiet, ponieważ chcemy wydrukować dane wyjściowe z modelu w postaci DataFrame. Teraz określamy tekst, który chcemy przekazać naszemu modelowi jako dane wejściowe, aby sklasyfikować go jako zdanie pozytywne lub negatywne. Ustawiliśmy tekst jako „Jestem dobrym facetem”. Przekazujemy ten tekst do modelu klasyfikatora(), który właśnie stworzyliśmy w tym przykładzie, i zapisujemy wyniki w zmiennej „wyjściowej”.

Aby wyświetlić dane wyjściowe, wywołujemy przedrostek Pandas, tj. pd jako „.Dataframe()” i przekazujemy dane wyjściowe z modelu klasyfikatora do tej funkcji. Teraz wyświetla wyniki z modelu klasyfikatora, jak pokazano w poniższym fragmencie danych wyjściowych. Nasz model klasyfikatora klasyfikuje tekst jako klasę pozytywną.

!pip instaluje transformatory
z rurociągu importu transformatorów
importuj pandy jako pd
klasyfikator = potok („klasyfikacja-tekstu”, model = „tekstowy atak/distilbert-base-uncased-CoLA”)
tekst = „jestem dobrym facetem”
wynik = klasyfikator (tekst)
pprint(wynik)
df = pd.DataFrame(wynik)

Wniosek

Ten przewodnik omówił architekturę transformatora z Hugging Face. Omówiliśmy bibliotekę „pipeline” z transformatora Hugging Face. Następnie, korzystając z tej biblioteki, wykorzystaliśmy wstępnie wytrenowane modele transformatorów do zadań związanych z generowaniem tekstu i klasyfikacją.