Model Klasa
Reprezentuje wynik trenowania uczenia maszynowego.
Model jest wynikiem trenowania Run usługi Azure Machine Learning lub innego procesu trenowania modelu poza platformą Azure. Niezależnie od sposobu tworzenia modelu, można go zarejestrować w obszarze roboczym, gdzie jest reprezentowany przez nazwę i wersję. Klasa Model umożliwia pakowanie modeli do użycia z platformą Docker i wdrażanie ich jako punktu końcowego w czasie rzeczywistym, który może służyć do wnioskowania żądań.
Aby zapoznać się z kompleksowego samouczka przedstawiającego sposób tworzenia, zarządzania i używania modeli, zobacz Trenowanie modelu klasyfikacji obrazów przy użyciu danych MNIST i biblioteki scikit-learn przy użyciu usługi Azure Machine Learning.
Konstruktor modelu.
Konstruktor modelu służy do pobierania reprezentacji chmury obiektu Model skojarzonego z podanym obszarem roboczym. Musi podać nazwę lub identyfikator.
- Dziedziczenie
-
builtins.objectModel
Konstruktor
Model(workspace, name=None, id=None, tags=None, properties=None, version=None, run_id=None, model_framework=None, expand=True, **kwargs)
Parametry
- name
- str
Nazwa modelu do pobrania. Zwracany jest najnowszy model o określonej nazwie, jeśli istnieje.
- id
- str
Identyfikator modelu do pobrania. Model z określonym identyfikatorem jest zwracany, jeśli istnieje.
- tags
- list
Opcjonalna lista tagów używanych do filtrowania zwróconych wyników. Wyniki są filtrowane na podstawie podanej listy, wyszukując frazę "key" lub "[key, value]". Np. ['key', ['key2', 'key2 value']]
- properties
- list
Opcjonalna lista właściwości używanych do filtrowania zwróconych wyników. Wyniki są filtrowane na podstawie podanej listy, wyszukując frazę "key" lub "[key, value]". Np. ['key', ['key2', 'key2 value']]
- version
- int
Wersja modelu do zwrócenia. Po podaniu wraz z parametrem name
zwracana jest określona wersja określonego nazwanego modelu, jeśli istnieje. Jeśli version
zostanie pominięty, zostanie zwrócona ostatnia wersja modelu.
- run_id
- str
Opcjonalny identyfikator używany do filtrowania zwróconych wyników.
- model_framework
- str
Opcjonalna nazwa struktury używana do filtrowania zwróconych wyników. Jeśli zostanie określony, wyniki są zwracane dla modeli pasujących do określonej platformy. Zobacz Framework , aby uzyskać dozwolone wartości.
- name
- str
Nazwa modelu do pobrania. Zwracany jest najnowszy model o określonej nazwie, jeśli istnieje.
- id
- str
Identyfikator modelu do pobrania. Model z określonym identyfikatorem jest zwracany, jeśli istnieje.
- tags
- list
Opcjonalna lista tagów używanych do filtrowania zwróconych wyników. Wyniki są filtrowane na podstawie podanej listy, wyszukując frazę "key" lub "[key, value]". Np. ['key', ['key2', 'key2 value']]
- properties
- list
Opcjonalna lista właściwości używanych do filtrowania zwróconych wyników. Wyniki są filtrowane na podstawie podanej listy, wyszukując frazę "key" lub "[key, value]". Np. ['key', ['key2', 'key2 value']]
- version
- int
Wersja modelu do zwrócenia. Po podaniu wraz z parametrem name
zwracana jest określona wersja określonego nazwanego modelu, jeśli istnieje. Jeśli version
zostanie pominięty, zostanie zwrócona ostatnia wersja modelu.
- model_framework
- str
Opcjonalna nazwa struktury używana do filtrowania zwróconych wyników. Jeśli zostanie określony, wyniki są zwracane dla modeli pasujących do określonej platformy. Zobacz Framework , aby uzyskać dozwolone wartości.
- expand
- bool
Jeśli wartość true, zwraca modele ze wszystkimi podwłaściwościami wypełnionymi, np. przebiegiem, zestawem danych i eksperymentem.
Uwagi
Konstruktor modelu służy do pobierania reprezentacji chmury obiektu Model skojarzonego z określonym obszarem roboczym. Aby pobrać modele, należy podać co najmniej nazwę lub identyfikator, ale istnieją również inne opcje filtrowania, w tym według tagów, właściwości, wersji, identyfikatora uruchomienia i struktury.
from azureml.core.model import Model
model = Model(ws, 'my_model_name')
W poniższym przykładzie pokazano, jak pobrać określoną wersję modelu.
from azureml.core.model import Model
model = Model(ws, 'my_model_name', version=1)
Zarejestrowanie modelu powoduje utworzenie kontenera logicznego dla co najmniej jednego pliku tworzącego model. Oprócz zawartości samego pliku modelu zarejestrowany model przechowuje również metadane modelu, w tym opis modelu, tagi i informacje o strukturze, które są przydatne podczas zarządzania i wdrażania modelu w obszarze roboczym. Na przykład przy użyciu tagów można kategoryzować modele i stosować filtry podczas wyświetlania listy modeli w obszarze roboczym. Po rejestracji możesz pobrać lub wdrożyć zarejestrowany model i otrzymać wszystkie zarejestrowane pliki i metadane.
W poniższym przykładzie pokazano, jak zarejestrować model określający tagi i opis.
from azureml.core.model import Model
model = Model.register(model_path="sklearn_regression_model.pkl",
model_name="sklearn_regression_model",
tags={'area': "diabetes", 'type': "regression"},
description="Ridge regression model to predict diabetes",
workspace=ws)
Pełna próbka jest dostępna z witryny https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
W poniższym przykładzie pokazano, jak zarejestrować model określający platformę, zestawy danych wejściowych i wyjściowych oraz konfigurację zasobów.
import sklearn
from azureml.core import Model
from azureml.core.resource_configuration import ResourceConfiguration
model = Model.register(workspace=ws,
model_name='my-sklearn-model', # Name of the registered model in your workspace.
model_path='./sklearn_regression_model.pkl', # Local file to upload and register as a model.
model_framework=Model.Framework.SCIKITLEARN, # Framework used to create the model.
model_framework_version=sklearn.__version__, # Version of scikit-learn used to create the model.
sample_input_dataset=input_dataset,
sample_output_dataset=output_dataset,
resource_configuration=ResourceConfiguration(cpu=1, memory_in_gb=0.5),
description='Ridge regression model to predict diabetes progression.',
tags={'area': 'diabetes', 'type': 'regression'})
print('Name:', model.name)
print('Version:', model.version)
Sekcja Zmienne zawiera listę atrybutów lokalnej reprezentacji obiektu modelu w chmurze. Te zmienne powinny być traktowane jako tylko do odczytu. Zmiana ich wartości nie zostanie odzwierciedlona w odpowiednim obiekcie chmury.
Zmienne
- created_by
- dict
Użytkownik, który utworzył model.
- created_time
- datetime
Po utworzeniu modelu.
- azureml.core.Model.description
Opis obiektu Model.
- azureml.core.Model.id
Identyfikator modelu. Ma to postać <nazwy> modelu:<wersja> modelu.
- mime_type
- str
Typ mime modelu.
- azureml.core.Model.name
Nazwa modelu.
- model_framework
- str
Struktura modelu.
- model_framework_version
- str
Wersja struktury modelu.
- azureml.core.Model.tags
Słownik tagów dla obiektu Model.
- azureml.core.Model.properties
Słownik właściwości wartości klucza dla modelu. Nie można zmienić tych właściwości po rejestracji, jednak można dodać nowe pary wartości klucza.
- unpack
- bool
Niezależnie od tego, czy model musi być rozpakowany (nieskonsekrowany) po ściągnięciu do kontekstu lokalnego.
- url
- str
Lokalizacja adresu URL modelu.
- azureml.core.Model.version
Wersja modelu.
- azureml.core.Model.workspace
Obszar roboczy zawierający model.
- azureml.core.Model.experiment_name
Nazwa eksperymentu, który utworzył model.
- azureml.core.Model.run_id
Identyfikator przebiegu, który utworzył model.
- parent_id
- str
Identyfikator nadrzędnego modelu.
- resource_configuration
- ResourceConfiguration
Konfiguracja zasobu dla tego modelu. Służy do profilowania.
Metody
add_dataset_references |
Skojarz dostarczone zestawy danych z tym modelem. |
add_properties |
Dodaj pary klucz-wartość do słownika właściwości tego modelu. |
add_tags |
Dodaj pary klucz-wartość do słownika tagów tego modelu. |
delete |
Usuń ten model ze skojarzonego obszaru roboczego. |
deploy |
Wdróż usługę internetową na podstawie zera lub większej liczby Model obiektów. Wynikowa usługa internetowa to punkt końcowy w czasie rzeczywistym, który może służyć do wnioskowania żądań. Funkcja Model |
deserialize |
Konwertowanie obiektu JSON na obiekt modelu. Konwersja nie powiedzie się, jeśli określony obszar roboczy nie jest obszarem roboczym, w ramach których model jest zarejestrowany. |
download |
Pobierz model do katalogu docelowego lokalnego systemu plików. |
get_model_path |
Zwróć ścieżkę do modelu. Funkcja wyszuka model w następujących lokalizacjach. Jeśli
Jeśli
|
get_sas_urls |
Zwróć słownik par klucz-wartość zawierający nazwy plików i odpowiednie adresy URL sygnatury dostępu współdzielonego. |
list |
Pobierz listę wszystkich modeli skojarzonych z podanym obszarem roboczym z opcjonalnymi filtrami. |
package |
Utwórz pakiet modelu w postaci obrazu platformy Docker lub kontekstu kompilacji dockerfile. |
print_configuration |
Drukuj konfigurację użytkownika. |
profile |
Profiluje model, aby uzyskać zalecenia dotyczące wymagań dotyczących zasobów. Jest to długotrwała operacja, która może potrwać do 25 minut w zależności od rozmiaru zestawu danych. |
register |
Zarejestruj model w podanym obszarze roboczym. |
remove_tags |
Usuń określone klucze ze słownika tagów tego modelu. |
serialize |
Przekonwertuj ten model na słownik serializowany w formacie json. |
update |
Wykonaj aktualizację w miejscu modelu. Istniejące wartości określonych parametrów są zastępowane. |
update_tags_properties |
Wykonaj aktualizację tagów i właściwości modelu. |
add_dataset_references
Skojarz dostarczone zestawy danych z tym modelem.
add_dataset_references(datasets)
Parametry
- datasets
- list[tuple(<xref:str :> (Dataset lub DatasetSnapshot))]
Lista krotki reprezentująca parowanie celu zestawu danych do obiektu Dataset.
Wyjątki
add_properties
Dodaj pary klucz-wartość do słownika właściwości tego modelu.
add_properties(properties)
Parametry
Wyjątki
add_tags
Dodaj pary klucz-wartość do słownika tagów tego modelu.
add_tags(tags)
Parametry
Wyjątki
delete
deploy
Wdróż usługę internetową na podstawie zera lub większej liczby Model obiektów.
Wynikowa usługa internetowa to punkt końcowy w czasie rzeczywistym, który może służyć do wnioskowania żądań. Funkcja Model deploy
jest podobna do deploy
funkcji Webservice klasy, ale nie rejestruje modeli. Użyj funkcji Model deploy
, jeśli masz już zarejestrowane obiekty modelu.
static deploy(workspace, name, models, inference_config=None, deployment_config=None, deployment_target=None, overwrite=False, show_output=False)
Parametry
- name
- str
Nazwa, która ma nadać wdrożonej usłudze. Musi być unikatowy dla obszaru roboczego, składać się tylko z małych liter, cyfr lub kresek, zaczynać się literą i mieć długość od 3 do 32 znaków.
- inference_config
- InferenceConfig
Obiekt InferenceConfig używany do określania wymaganych właściwości modelu.
- deployment_config
- WebserviceDeploymentConfiguration
WebserviceDeploymentConfiguration używana do konfigurowania usługi internetowej. Jeśli go nie podano, pusty obiekt konfiguracji zostanie użyty na podstawie żądanego obiektu docelowego.
- deployment_target
- ComputeTarget
A ComputeTarget , aby wdrożyć usługę internetową. Ponieważ Azure Container Instances nie ma skojarzonego ComputeTargetparametru , pozostaw ten parametr jako Brak, aby wdrożyć go w Azure Container Instances.
- overwrite
- bool
Wskazuje, czy zastąpić istniejącą usługę, jeśli usługa o określonej nazwie już istnieje.
Zwraca
Obiekt usługi sieci Web odpowiadający wdrożonej usłudze internetowej.
Typ zwracany
Wyjątki
deserialize
Konwertowanie obiektu JSON na obiekt modelu.
Konwersja nie powiedzie się, jeśli określony obszar roboczy nie jest obszarem roboczym, w ramach których model jest zarejestrowany.
static deserialize(workspace, model_payload)
Parametry
Zwraca
Reprezentacja modelu dostarczonego obiektu JSON.
Typ zwracany
Wyjątki
download
Pobierz model do katalogu docelowego lokalnego systemu plików.
download(target_dir='.', exist_ok=False, exists_ok=None)
Parametry
- target_dir
- str
Ścieżka do katalogu, w którym ma być pobierany model. Wartość domyślna to "."
- exist_ok
- bool
Wskazuje, czy zastąpić pobrany dir/pliki, jeśli istnieją. Wartość domyślna to False.
Zwraca
Ścieżka do pliku lub folderu modelu.
Typ zwracany
Wyjątki
get_model_path
Zwróć ścieżkę do modelu.
Funkcja wyszuka model w następujących lokalizacjach.
Jeśli version
to Brak:
- Pobieranie ze zdalnego do pamięci podręcznej (jeśli jest dostępny obszar roboczy)
- Ładowanie z pamięci podręcznej azureml-models/$MODEL_NAME/$LATEST_VERSION/
- ./$MODEL_NAME
Jeśli version
nie ma parametru None:
- Ładowanie z pamięci podręcznej azureml-models/$MODEL_NAME/$SPECIFIED_VERSION/
- Pobieranie ze zdalnego do pamięci podręcznej (jeśli jest dostępny obszar roboczy)
static get_model_path(model_name, version=None, _workspace=None)
Parametry
- _workspace
- Workspace
Obszar roboczy do pobrania modelu z. Nie można używać zdalnie. Jeśli nie określono tylko lokalnej pamięci podręcznej, zostanie przeszukana.
Zwraca
Ścieżka na dysku do modelu.
Typ zwracany
Wyjątki
get_sas_urls
Zwróć słownik par klucz-wartość zawierający nazwy plików i odpowiednie adresy URL sygnatury dostępu współdzielonego.
get_sas_urls()
Zwraca
Słownik par klucz-wartość zawierający nazwy plików i odpowiednie adresy URL sygnatury dostępu współdzielonego
Typ zwracany
Wyjątki
list
Pobierz listę wszystkich modeli skojarzonych z podanym obszarem roboczym z opcjonalnymi filtrami.
static list(workspace, name=None, tags=None, properties=None, run_id=None, latest=False, dataset_id=None, expand=True, page_count=255, model_framework=None)
Parametry
- name
- str
Jeśli zostanie podana, zwróci tylko modele o określonej nazwie, jeśli istnieje.
- tags
- list
Filtruje na podstawie podanej listy według wartości "key" lub "[key, value]". Np. ['key', ['key2', 'key2 value']]
- properties
- list
Filtruje na podstawie podanej listy według wartości "key" lub "[key, value]". Np. ['key', ['key2', 'key2 value']]
- expand
- bool
Jeśli ma wartość true, zwróci modele ze wszystkimi podwłaściwościami wypełnionymi, np. przebiegiem, zestawem danych i eksperymentem. Ustawienie wartości false powinno przyspieszyć uzupełnianie metody list() w przypadku wielu modeli.
- page_count
- int
Liczba elementów do pobrania na stronie. Obecnie obsługują wartości do 255. Wartość domyślna to 255.
- model_framework
- str
Jeśli zostanie podana, zwróci tylko modele z określoną strukturą, jeśli istnieje.
Zwraca
Lista modeli, opcjonalnie filtrowana.
Typ zwracany
Wyjątki
package
Utwórz pakiet modelu w postaci obrazu platformy Docker lub kontekstu kompilacji dockerfile.
static package(workspace, models, inference_config=None, generate_dockerfile=False, image_name=None, image_label=None)
Parametry
Lista obiektów modelu do uwzględnienia w pakiecie. Może być pustą listą.
- inference_config
- InferenceConfig
Obiekt InferenceConfig, aby skonfigurować operację modeli. Musi to obejmować obiekt Środowisko.
- generate_dockerfile
- bool
Czy utworzyć plik Dockerfile, który można uruchomić lokalnie, zamiast tworzyć obraz.
Zwraca
Obiekt ModelPackage.
Typ zwracany
Wyjątki
print_configuration
Drukuj konfigurację użytkownika.
static print_configuration(models, inference_config, deployment_config, deployment_target)
Parametry
- inference_config
- InferenceConfig
Obiekt InferenceConfig używany do określania wymaganych właściwości modelu.
- deployment_config
- WebserviceDeploymentConfiguration
WebserviceDeploymentConfiguration używana do konfigurowania usługi internetowej.
Wyjątki
profile
Profiluje model, aby uzyskać zalecenia dotyczące wymagań dotyczących zasobów.
Jest to długotrwała operacja, która może potrwać do 25 minut w zależności od rozmiaru zestawu danych.
static profile(workspace, profile_name, models, inference_config, input_dataset, cpu=None, memory_in_gb=None, description=None)
Parametry
- inference_config
- InferenceConfig
Obiekt InferenceConfig używany do określania wymaganych właściwości modelu.
- input_dataset
- Dataset
Wejściowy zestaw danych do profilowania. Wejściowy zestaw danych powinien mieć pojedynczą kolumnę, a przykładowe dane wejściowe powinny być w formacie ciągu.
- cpu
- float
Liczba rdzeni procesora cpu do użycia w największym wystąpieniu testowym. Obecnie obsługują wartości do 3,5.
- memory_in_gb
- float
Ilość pamięci (w GB) do użycia w największym wystąpieniu testowym. Może to być liczba dziesiętna. Obecnie obsługują wartości do 15.0.
Typ zwracany
Wyjątki
register
Zarejestruj model w podanym obszarze roboczym.
static register(workspace, model_path, model_name, tags=None, properties=None, description=None, datasets=None, model_framework=None, model_framework_version=None, child_paths=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parametry
- model_path
- str
Ścieżka w lokalnym systemie plików, w którym znajdują się zasoby modelu. Może to być bezpośredni wskaźnik do pojedynczego pliku lub folderu. Jeśli wskazuje folder, child_paths
parametr może służyć do określania pojedynczych plików do łączenia jako obiektu Model, w przeciwieństwie do używania całej zawartości folderu.
- tags
- dict(<xref:{str : str}>)
Opcjonalny słownik tagów wartości klucza do przypisania do modelu.
- properties
- dict(<xref:{str : str}>)
Opcjonalny słownik właściwości wartości klucza do przypisania do modelu. Nie można zmienić tych właściwości po utworzeniu modelu, jednak można dodać nowe pary wartości klucza.
- datasets
- list[(str, AbstractDataset)]
Lista krotki, w których pierwszy element opisuje relację modelu zestawu danych, a drugi element to zestaw danych.
- model_framework
- str
Struktura zarejestrowanego modelu. Użycie stałych obsługiwanych przez system z Framework klasy umożliwia uproszczone wdrażanie niektórych popularnych struktur.
Jeśli zostanie podany w połączeniu z folderem do model_path
folderu, tylko określone pliki zostaną dołączone do obiektu Model.
- sample_input_dataset
- AbstractDataset
Przykładowy zestaw danych wejściowych dla zarejestrowanego modelu.
- sample_output_dataset
- AbstractDataset
Przykładowy wyjściowy zestaw danych dla zarejestrowanego modelu.
- resource_configuration
- ResourceConfiguration
Konfiguracja zasobu do uruchamiania zarejestrowanego modelu.
Zwraca
Zarejestrowany obiekt modelu.
Typ zwracany
Wyjątki
Uwagi
Oprócz zawartości samego pliku modelu zarejestrowany model przechowuje również metadane modelu, w tym opis modelu, tagi i informacje o strukturze, które są przydatne podczas zarządzania i wdrażania modelu w obszarze roboczym. Na przykład przy użyciu tagów można kategoryzować modele i stosować filtry podczas wyświetlania listy modeli w obszarze roboczym.
W poniższym przykładzie pokazano, jak zarejestrować model określający tagi i opis.
from azureml.core.model import Model
model = Model.register(model_path="sklearn_regression_model.pkl",
model_name="sklearn_regression_model",
tags={'area': "diabetes", 'type': "regression"},
description="Ridge regression model to predict diabetes",
workspace=ws)
Pełna próbka jest dostępna z witryny https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/deploy-to-local/register-model-deploy-local-advanced.ipynb
Jeśli masz model, który został utworzony w wyniku przebiegu eksperymentu, możesz zarejestrować go bezpośrednio z obiektu uruchom bez wcześniejszego pobrania go do pliku lokalnego. Aby to zrobić, należy użyć register_model metody opisanej Run w klasie.
remove_tags
Usuń określone klucze ze słownika tagów tego modelu.
remove_tags(tags)
Parametry
Wyjątki
serialize
Przekonwertuj ten model na słownik serializowany w formacie json.
serialize()
Zwraca
Reprezentacja json tego modelu
Typ zwracany
Wyjątki
update
Wykonaj aktualizację w miejscu modelu.
Istniejące wartości określonych parametrów są zastępowane.
update(tags=None, description=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None)
Parametry
- tags
- dict(<xref:{str : str}>)
Słownik tagów do aktualizowania modelu za pomocą. Te tagi zastępują istniejące tagi dla modelu.
- description
- str
Nowy opis do użycia dla modelu. Ta nazwa zastępuje istniejącą nazwę.
- sample_input_dataset
- AbstractDataset
Przykładowy zestaw danych wejściowych do użycia dla zarejestrowanego modelu. Ten przykładowy wejściowy zestaw danych zastępuje istniejący zestaw danych.
- sample_output_dataset
- AbstractDataset
Przykładowy wyjściowy zestaw danych do użycia dla zarejestrowanego modelu. Ten przykładowy wyjściowy zestaw danych zastępuje istniejący zestaw danych.
- resource_configuration
- ResourceConfiguration
Konfiguracja zasobu używana do uruchamiania zarejestrowanego modelu.
Wyjątki
update_tags_properties
Wykonaj aktualizację tagów i właściwości modelu.
update_tags_properties(add_tags=None, remove_tags=None, add_properties=None)
Parametry
Wyjątki
Opinia
https://aka.ms/ContentUserFeedback.
Już wkrótce: w ciągu 2024 r. będziemy stopniowo usuwać problemy z usługą GitHub jako mechanizm opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla