0 / 0
Go back to the English version of the documentation
Źródła danych do oceniania wdrożeń wsadowych
Last updated: 14 lis 2023
Źródła danych do oceniania wdrożeń wsadowych

Dane wejściowe dla zadania wdrożenia wsadowego można podać na kilka sposobów, w tym bezpośrednio przesyłając plik lub udostępniając odsyłacz do tabel bazy danych. Typy dozwolonych danych wejściowych różnią się w zależności od typu tworzonego zadania wdrażania.

Informacje na temat obsługiwanych typów danych wejściowych według środowiska zawiera sekcja Szczegóły danych wejściowych wdrożenia wsadowego według środowiska.

Dane wejściowe mogą być dostarczane do zadania wsadowego jako dane wstawiane lub odwołanie do danych.

Dostępne typy danych wejściowych dla wdrożeń wsadowych według środowiska i typu zasobu

Dostępne typy danych wejściowych dla wdrożeń wsadowych według środowiska i typu zasobu
Środowisko Typ wdrożenia wsadowego
Optymalizacja decyzji Informacje dodatkowe
Funkcja Python Wstawiony
PyTorch Dane wstawiane i odwołanie
Tensorflow Dane wstawiane i odwołanie
Scikit-nauka Dane wstawiane i odwołanie
Skrypty w języku Python Informacje dodatkowe
Biblioteka Spark MLlib Dane wstawiane i odwołanie
SPSS Dane wstawiane i odwołanie
XGBoost Dane wstawiane i odwołanie

Opis danych wstawianych

Dane wejściowe typu wstawianego dla przetwarzania wsadowego są określone w ładunku zadania wdrożenia wsadowego. Na przykład można przekazać plik CSV jako dane wejściowe wdrożenia w interfejsie użytkownika lub jako wartość parametru scoring.input_data w notatniku. Po zakończeniu zadania wdrożenia wsadowego dane wyjściowe są zapisywane w odpowiednim parametrze metadanych scoring.predictions zadania.

Opis odniesienia do danych

Dane wejściowe i wyjściowe typu odwołanie do danych , które są używane na potrzeby przetwarzania wsadowego, mogą być zapisywane:

  • W zdalnym źródle danych, takim jak zasobnik Cloud Object Storage lub baza danych SQL/no-SQL
  • Jako lokalny lub zarządzany zasób danych w obszarze wdrażania

Szczegóły dotyczące odwołań do danych obejmują:

  • Odwołanie do źródła danych type zależy od typu zasobu. Więcej informacji na ten temat zawiera sekcja Typy odwołań do źródeł danych w sekcji Dodawanie zasobów danych do obszaru wdrażania.

  • W przypadku typu data_asset odwołania do danych wejściowych muszą być określone jako /v2/assets href w parametrze input_data_references.location.href w ładunku zadania wdrażania. Określony w tym miejscu zasób danych może być odwołaniem do lokalnego lub połączonego zasobu danych. Ponadto, jeśli dane wyjściowe zadania wdrożenia wsadowego muszą być utrwalone w zdalnym źródle danych, odwołania do danych wyjściowych muszą być określone jako parametr /v2/assets href w output_data_reference.location.href ładunku zadania wdrożenia.

  • Wszystkie odwołania wejściowe i wyjściowe data_asset muszą znajdować się w tym samym identyfikatorze obszaru, co wdrożenie wsadowe.

  • Jeśli dane wyjściowe zadania wdrożenia wsadowego muszą zostać utrwalone w obszarze wdrożenia jako lokalny zasób aplikacyjny, należy określić parametr output_data_reference.location.name . Po pomyślnym zakończeniu zadania wdrożenia wsadowego w obszarze zostanie utworzony zasób o podanej nazwie.

  • Dane wyjściowe mogą zawierać informacje o tym, gdzie w zdalnej bazie danych znajduje się zasób danych. W takiej sytuacji można określić, czy dołączyć dane wyjściowe zadania wsadowego do tabeli, czy obciąć tabelę i zaktualizować dane wyjściowe. Parametr output_data_references.location.write_mode umożliwia określenie wartości truncate lub append.

    • Podanie wartości truncate powoduje obcięcie tabeli i wstawienie danych wyjściowych zadania wsadowego.
    • Podanie wartości append powoduje dodanie danych wyjściowych zadania wsadowego do tabeli zdalnej bazy danych.
    • Parametr write_mode ma zastosowanie tylko w przypadku parametru output_data_references .
    • Parametr write_mode ma zastosowanie tylko w przypadku zasobów danych związanych ze zdalną bazą danych. Ten parametr nie ma zastosowania do lokalnego zasobu danych ani do zasobu danych opartego na usłudze COS.

Przykładowy ładunek data_asset

"input_data_references": [{
    "type": "data_asset",
    "connection": {
    },
    "location": {
        "href": "/v2/assets/<asset_id>?space_id=<space_id>"
    }
}]

Przykładowy ładunek connection_asset

"input_data_references": [{
    "type": "connection_asset",
    "connection": {
        "id": "<connection_guid>"
    },
    "location": {
        "bucket": "<bucket name>",
        "file_name": "<directory_name>/<file name>"
    }
    <other wdp-properties supported by runtimes>
}]

Tworzenie struktury danych wejściowych

Sposób ustrukturyzowania danych wejściowych, zwanych również ładunkiem, dla zadania wsadowego zależy od struktury wdrażanego zasobu.

Plik wejściowy .csv lub inne ustrukturyzowane formaty danych muszą być sformatowane w taki sposób, aby były zgodne ze schematem zasobu aplikacyjnego. Lista nazw kolumn (pól) w pierwszym wierszu i wartości do oceny w kolejnych wierszach. Na przykład:

PassengerId, Pclass, Name, Sex, Age, SibSp, Parch, Ticket, Fare, Cabin, Embarked
1,3,"Braund, Mr. Owen Harris",0,22,1,0,A/5 21171,7.25,,S
4,1,"Winslet, Mr. Leo Brown",1,65,1,0,B/5 200763,7.50,,S

Plik wejściowy JSON musi udostępniać te same informacje o polach i wartościach, używając następującego formatu:

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

Na przykład:

{"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"],
                  [4,1,"Winselt, Mr. Leo Brown",1,65,1,0,"B/5 200763",7.50,null,"S"]]
}]}

Przygotowywanie ładunku zgodnego ze schematem istniejącego modelu

Zapoznaj się z następującym kodem przykładowym:

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}]}

Ograniczenie dotyczące używania dużych ilości danych jako danych wejściowych dla zadań oceniania wsadowego

Jeśli zostanie uruchomione zadanie oceniania wsadowego, które używa dużych ilości danych jako danych wejściowych, zadanie może zakończyć się niepowodzeniem z powodu wewnętrznych ustawień limitu czasu. Jeśli przekroczenie limitu czasu wystąpi podczas oceniania wsadowego, należy skonfigurować ograniczenie limitu czasu na poziomie zapytania źródła danych w celu obsługi zadań długotrwałych. Więcej informacji na temat ustawień limitu czasu zapytania zawiera sekcja Znane problemy i ograniczenia dotyczące produktu Watson Machine Learning.

Temat nadrzędny: Tworzenie wdrożenia wsadowego

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