0 / 0
Go back to the English version of the documentation
Tworzenie wdrożeń w trybie z połączeniem w programie Watson Machine Learning
Last updated: 06 lip 2023
Tworzenie wdrożeń w trybie z połączeniem w programie Watson Machine Learning

Aby załadować model lub kod Python podczas tworzenia wdrożenia w celu wygenerowania predykcji w trybie z połączeniem, w czasie rzeczywistym należy utworzyć wdrożenie w trybie z połączeniem (zwane również Web service). Jeśli na przykład zostanie utworzony model klasyfikacji w celu przetestowania, czy nowy klient może uczestniczyć w promocji sprzedaży, można utworzyć wdrożenie w trybie z połączeniem dla modelu. Następnie można wprowadzić nowe dane klienta, aby uzyskać natychmiastową predykcję.

Obsługiwane środowiska

Wdrażanie w trybie z połączeniem jest obsługiwane dla tych środowisk:

  • PMML
  • Funkcja Python
  • PyTorch-Onnx
  • Tensorflow
  • Scikit-nauka
  • Spark MLlib
  • SPSS
  • XGBoost

Możliwe jest utworzenie wdrożenia sieciowego z poziomu interfejsu użytkownika lub programowo.

Aby wysłać dane ładunku do zasobu aplikacyjnego, który został wdrożony w trybie z połączeniem (na przykład w celu sklasyfikowania danych lub dokonania predykcji z danych), należy znać adres URL punktu końcowego wdrożenia. Szczegółowe informacje na ten temat zawiera sekcja Pobieranie punktu końcowego wdrażania.

Dodatkowo można:

Tworzenie wdrożenia w trybie z połączeniem z poziomu interfejsu użytkownika

  1. W obszarze wdrażania kliknij nazwę zasobu aplikacyjnego, który ma zostać wdrożony. Zostanie otwarta strona szczegółów.
  2. Kliknij opcję Utwórz wdrożenie.
  3. Jako typ wdrożenia wybierz opcję Tryb z połączeniem .
  4. Podaj nazwę i opis wdrożenia.
  5. Aby określić nazwę, która ma być używana zamiast identyfikatora wdrożenia, należy użyć pola Nazwa serving .
    • Poprawność nazwy jest sprawdzana jako unikalna w danym regionie chmury IBM (wszystkie nazwy w określonym regionie współużytkują globalną przestrzeń nazw).
    • Nazwa musi zawierać tylko następujące znaki: [a-z,0-9, _] i musi mieć długość maksymalnie 36 znaków.
    • Nazwa obsługi działa tylko jako część adresu URL predykcji. W innych przypadkach należy nadal używać identyfikatora wdrożenia.
  6. Opcjonalnie: Jeśli wdrażasz, można wybrać konkretną specyfikację sprzętową :
  7. Kliknij przycisk Utwórz , aby utworzyć wdrożenie.

Programowo tworzenie wdrożenia w trybie z połączeniem

Odsyłacze do przykładowych notebooków można znaleźć w sekcji Przykłady i przykłady uczenia maszynowego . These notebooks demonstrate creating online deployments that use the Watson Machine Learning Interfejs REST API and Watson Machine Learning Biblioteka klienta Python.

Pobieranie punktu końcowego wdrożenia w trybie z połączeniem

Adres URL punktu końcowego wdrożenia można znaleźć w następujący sposób:

  • Na karcie Deployments (Wdrożenia) w obszarze użytkownika kliknij nazwę wdrożenia. Zostanie otwarta strona z informacjami o wdrożeniu. Punkt końcowy można znaleźć w tym miejscu.
  • Korzystanie z klienta Watson Machine Learning Python :
    1. Wyświetl listę wdrożeń, wywołując metodę klienta Python client.deployments.list()
    2. Znajdź wiersz z wdrożeniem. Adres URL punktu końcowego wdrażania jest wyświetlany w kolumnie url .

Uwagi:

  • Jeśli do wdrożenia została dodana opcja Nazwa obsługi , na ekranie wyświetlane są dwa alternatywne adresy URL punktów końcowych, jeden zawierający identyfikator wdrożenia, a drugi zawierający nazwę serwera końcowego. Z wdrożeniem można użyć jednego z tych adresów URL.
  • Na karcie Skorowidz interfejsu API są również wyświetlane fragmenty kodu w różnych językach programowania ilustrujące sposób uzyskiwania dostępu do wdrożenia.

Więcej informacji na temat punktów końcowych można znaleźć w sekcji Adresy URL punktu końcowego.

Testowanie wdrożenia w trybie z połączeniem

Na karcie Deployments (Wdrożenia) w obszarze użytkownika kliknij nazwę wdrożenia. Zostanie otwarta strona z informacjami o wdrożeniu. Zakładka Test udostępnia miejsce, w którym można wprowadzać dane i uzyskać z powrotem predykcję z wdrożonego modelu. Jeśli model ma zdefiniowany schemat, na ekranie jest wyświetlany formularz. W formularzu można wprowadzić dane w jeden z następujących sposobów:-Wprowadź dane bezpośrednio w formularzu-Pobierz szablon CSV, wprowadź wartości, a następnie prześlij dane wejściowe-Prześlij plik zawierający dane wejściowe z lokalnego systemu plików lub z obszaru-Zmień na kartę JSON i wprowadź dane wejściowe jako kod JSON niezależnie od metody, dane wejściowe muszą być zgodne ze schematem modelu. Wprowadź dane wejściowe i uzyskaj wynik lub predykcja z powrotem.

Przykładowy kod wdrożenia

W przypadku wprowadzenia kodu JSON jako ładunku lub danych wejściowych dla wdrożenia dane wejściowe muszą być zgodne ze schematem modelu. Pola 'pola' muszą być zgodne z nagłówkami kolumn dla danych, a 'wartości' muszą zawierać dane, w tej samej kolejności. Należy użyć formatu:

{"input_data":[{
        "fields": [<field1>, <field2>, ...],
        "values": [[<value1>, <value2>, ...]]
}]}

Zapoznaj się z poniższym przykładem:

{"input_data":[{
        "fields": ["PassengerId","Pclass","Name","Sex","Age","SibSp","Parch","Ticket","Fare","Cabin","Embarked"],
        "values": [[1,3,"Braund, Mr. Owen Harris",0,22,1,0,"A/5 21171",7.25,null,"S"]]
}]}

Uwagi:

  • Wszystkie łańcuchy są ujęte w znaki podwójnego cudzysłowu. Notacja Python dla słowników wygląda podobnie, ale łańcuchy Python w pojedynczych znakach cudzysłowu nie są akceptowane w danych JSON.
  • Brakujące wartości mogą być oznaczone null.
  • Istnieje możliwość określenia specyfikacji sprzętu dla wdrożenia w trybie z połączeniem, na przykład w przypadku skalowania wdrożenia.

Przygotowywanie ładunku zgodnego ze schematem istniejącego modelu

Zapoznaj się z tym przykładowym kodem:

model_details = client.repository.get_details("<model_id>")  # retrieves details and includes schema
columns_in_schema = []
for i in range(0, len(model_details['entity']['schemas']['input'][0].get('fields'))):
    columns_in_schema.append(model_details['entity']['schemas']['input'][0].get('fields')[i]['name'])

X = X[columns_in_schema] # where X is a pandas dataframe that contains values to be scored
#(...)
scoring_values = X.values.tolist()
array_of_input_fields = X.columns.tolist()
payload_scoring = {"input_data": [{"fields": [array_of_input_fields],"values": scoring_values}]}

Uzyskiwanie dostępu do szczegółów wdrożenia elektronicznego

Aby uzyskać dostęp do szczegółów wdrożenia w trybie z połączeniem: na karcie Deployments (Wdrożenia) w obszarze użytkownika kliknij nazwę wdrożenia, a następnie kliknij kartę Deployment details (Szczegóły wdrożenia). Karta Szczegóły wdrożenia zawiera konkretne informacje związane z aktualnie otwartym wdrożeniem w trybie z połączeniem i umożliwia dodanie modelu do spisu zasobów w celu włączenia śledzenia aktywności i porównania modeli.

Dodatkowe informacje

Szczegółowe informacje na temat zarządzania zadaniami wdrażania oraz aktualizowania, skalowania lub usuwania wdrożenia w trybie z połączeniem można znaleźć w sekcji Zasoby w obszarach wdrażania .

Temat nadrzędny: Zarządzanie wdrożeniami predykcyjnymi

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more