Translation not up to date
Pokud váš model vyžaduje vlastní komponenty, jako jsou např. uživatelem definované transformátory, odhadci nebo tenzory definované uživatelem, můžete vytvořit vlastní specifikaci softwaru, která je odvozena ze základní nebo předdefinované specifikace. Funkce Python a skripty Python také podporují vlastní specifikace softwaru.
Vlastní specifikace softwaru můžete použít k odkazování na jakékoli knihovny třetích stran, uživatelsky vytvořené balíky Python , nebo obojí. Knihovny třetích stran nebo uživatelsky vytvořené balíky Python musí být uvedeny jako rozšíření balíku, na které se pak může odkazovat ve vlastní specifikaci softwaru.
Běhová prostředí implementace můžete upravit těmito způsoby:
- Definujte přizpůsobení v projektu produktu Watson Studio a poté je povyšte do prostoru implementace.
- Vytvoření rozšíření balíku a vlastních specifikací softwaru v prostoru implementace pomocí klienta produktu Watson Machine Learning Python
Informace o odstraňování problémů najdete v tématu Odstraňování problémů.
Definování vlastních nastavení v projektu Watson Studio a jejich povýšení na prostor implementace
Prostředí v projektech produktu Watson Studio lze upravit tak, aby zahrnovala knihovny jiných dodavatelů, které lze instalovat z aplikace Anaconda nebo z úložiště PyPI .
Podrobnosti o vytváření prostředí se specifikacemi softwaru naleznete v tématu Prostředí.
Jako součást vytvoření vlastního prostředí jsou tyto kroky prováděny interně (transparentní pro uživatele):
- Rozšíření balíku obsahující podrobnosti o knihovnách jiných dodavatelů se vytvoří ve formátu conda YAML.
- Vytvoří se vlastní specifikace softwaru se stejným názvem, jako má vlastní prostředí, a rozšíření balíku, které bylo vytvořeno, je přidruženo k této přizpůsobené specifikaci softwaru.
Modely nebo skripty nebo skripty Python vytvořené ve vlastním prostředí musí odkazovat na vlastní specifikaci softwaru, když jsou uloženy v úložišti Watson Machine Learning v oboru projektu.
Šíření specifikací softwaru a rozšíření balíku z projektů do prostorů implementace
Chcete-li exportovat vlastní specifikace softwaru a rozšíření balíku, která byla vytvořena v projektu produktu Watson Studio , do prostoru implementace:
- V rozhraní projektu klepněte na kartu Spravovat .
- Vyberte volbu Prostředí.
- Klepněte na kartu Šablony .
- V nabídce Volby vlastního prostředí vyberte volbu Povýšit na prostor.
Případně, když povýšíte jakýkoli model nebo funkci Python , která je přidružená k vlastnímu prostředí z projektu Watson Studio do prostoru implementace, bude do prostoru implementace povýšena také přidružená vlastní specifikace softwaru a rozšíření balíku.
Pokud chcete aktualizovat specifikace softwaru a rozšíření balíku poté, co byly povýšeny do prostoru implementace, proveďte následující kroky:
- V prostoru implementace odstraňte specifikace softwaru, rozšíření balíku a přidružené modely (volitelné) s použitím klienta Watson Machine Learning Python .
- V projektu povyšte model, funkci nebo skript, který je přidružen ke změněnému přizpůsobenému specifikaci softwaru a rozšíření balíku do prostoru.
Specifikace softwaru jsou také zahrnuty, když importujete projekt nebo prostor, který obsahuje jeden.
Vytvoření balíků rozšíření balíku a vlastních specifikací softwaru v prostoru implementace pomocí klienta Watson Machine Learning Python
Můžete použít rozhraní Watson Machine Learning API nebo klienta Python k definování vlastní specifikace softwaru, která je odvozena ze základní specifikace.
Kroky vysoké úrovně pro vytvoření vlastní specifikace softwaru, která používá knihovny jiných dodavatelů nebo uživatelsky vytvořené balíky Python :
Volitelné: Uložte soubor konda YAML, který obsahuje seznam knihoven jiných dodavatelů , nebo uložte uživatelem vytvořenou knihovnu Python a vytvořte rozšíření balíku.
Poznámka: Tento krok není požadován, pokud model nemá žádnou závislost na knihovně třetí strany nebo uživatelsky vytvořené knihovně Python .Vytvoření vlastní specifikace softwaru
Přidejte odkaz na rozšíření balíku na vlastní specifikaci softwaru, kterou jste vytvořili.
Uložení souboru conda YAML, který obsahuje seznam knihoven jiných dodavatelů
Chcete-li uložit soubor conda YAML obsahující seznam knihoven jiných dodavatelů jako rozšíření balíku a vytvořit vlastní specifikaci softwaru propojenou s rozšířením balíku, postupujte takto:
Proveďte ověření a vytvořte klienta.
Viz téma Ověření.
Vytvořte a nastavte výchozí prostor implementace a poté zobrazte seznam dostupných specifikací softwaru.
metadata = { wml_client.spaces.ConfigurationMetaNames.NAME: 'examples-create-software-spec', wml_client.spaces.ConfigurationMetaNames.DESCRIPTION: 'For my models' } space_details = wml_client.spaces.store(meta_props=metadata) space_uid = wml_client.spaces.get_id(space_details) # set the default space wml_client.set.default_space(space_uid) # see available meta names for software specs print('Available software specs configuration:', wml_client.software_specifications.ConfigurationMetaNames.get()) wml_client.software_specifications.list() asset_id = 'undefined' pe_asset_id = 'undefined'
Vytvořte metadata pro rozšíření balíku, která se mají přidat do základní specifikace.
pe_metadata = { wml_client.package_extensions.ConfigurationMetaNames.NAME: 'My custom library', # optional: # wml_client.software_specifications.ConfigurationMetaNames.DESCRIPTION: wml_client.package_extensions.ConfigurationMetaNames.TYPE: 'conda_yml' }
Vytvořte soubor yaml, který obsahuje seznam dalších balíků, a poté jej uložte jako
customlibrary.yaml
.Příklad souboru yaml:
name: add-regex-package dependencies: - regex
Informace o správné struktuře souboru yaml najdete v tématu Příklady přizpůsobení.
Uložte informace o rozšíření balíku.
pe_asset_details = wml_client.package_extensions.store( meta_props=pe_metadata, file_path='customlibrary.yaml' ) pe_asset_id = wml_client.package_extensions.get_id(pe_asset_details)
Vytvořte metadata pro specifikaci softwaru a uložte specifikaci softwaru.
# Get the id of the base software specification base_id = wml_client.software_specifications.get_id_by_name('default_py3.9') # create the metadata for software specs ss_metadata = { wml_client.software_specifications.ConfigurationMetaNames.NAME: 'Python 3.9 with pre-installed ML package', wml_client.software_specifications.ConfigurationMetaNames.DESCRIPTION: 'Adding some custom libraries like regex', # optional wml_client.software_specifications.ConfigurationMetaNames.BASE_SOFTWARE_SPECIFICATION: {'guid': base_id}, wml_client.software_specifications.ConfigurationMetaNames.PACKAGE_EXTENSIONS: [{'guid': pe_asset_id}] } # store the software spec ss_asset_details = wml_client.software_specifications.store(meta_props=ss_metadata) # get the id of the new asset asset_id = wml_client.software_specifications.get_id(ss_asset_details) # view new software specification details import pprint as pp ss_asset_details = wml_client.software_specifications.get_details(asset_id) print('Package extensions', pp.pformat( ss_asset_details['entity']['software_specification']['package_extensions'] ))
Uložení uživatelsky vytvořené knihovny Python a vytvoření rozšíření balíku
Informace o požadavcích na podporu uživatelsky vytvořených knihoven Python naleznete v tématu Požadavky na použití vlastních komponent v modelech.
Chcete-li uložit uživatelem vytvořený balík Python jako rozšíření balíku a vytvořit vlastní specifikaci softwaru propojenou s rozšířením balíku, postupujte takto:
Proveďte ověření a vytvořte klienta.
Viz téma Ověření.
Vytvořte a nastavte výchozí prostor implementace a poté zobrazte seznam dostupných specifikací softwaru.
metadata = { wml_client.spaces.ConfigurationMetaNames.NAME: 'examples-create-software-spec', wml_client.spaces.ConfigurationMetaNames.DESCRIPTION: 'For my models' } space_details = wml_client.spaces.store(meta_props=metadata) space_uid = wml_client.spaces.get_id(space_details) # set the default space wml_client.set.default_space(space_uid) # see available meta names for software specs print('Available software specs configuration:', wml_client.software_specifications.ConfigurationMetaNames.get()) wml_client.software_specifications.list() asset_id = 'undefined' pe_asset_id = 'undefined'
Vytvořte metadata pro rozšíření balíku, která se mají přidat do základní specifikace.
Pozn.:Jako hodnotu vlastnosti metadat
wml_client.package_extensions.ConfigurationMetaNames.TYPE
lze zadat pouze hodnotupip_zip
.pe_metadata = { wml_client.package_extensions.ConfigurationMetaNames.NAME: 'My Python library', # optional: # wml_client.software_specifications.ConfigurationMetaNames.DESCRIPTION: wml_client.package_extensions.ConfigurationMetaNames.TYPE: 'pip.zip' }
Uveďte cestu k uživatelsky vytvořené knihovně Python .
python_lib_file_path="my-python-library-0.1.zip"
Informace o požadavcích na podporu uživatelsky vytvořených knihoven Python naleznete v tématu Požadavky na použití vlastních komponent v modelech.
Uložte informace o rozšíření balíku.
pe_asset_details = wml_client.package_extensions.store( meta_props=pe_metadata, file_path=python_lib_file_path ) pe_asset_id = wml_client.package_extensions.get_id(pe_asset_details)
Vytvořte metadata pro specifikaci softwaru a uložte specifikaci softwaru.
# Get the id of the base software specification base_id = wml_client.software_specifications.get_id_by_name('default_py3.9') # create the metadata for software specs ss_metadata = { wml_client.software_specifications.ConfigurationMetaNames.NAME: 'Python 3.9 with pre-installed ML package', wml_client.software_specifications.ConfigurationMetaNames.DESCRIPTION: 'Adding some custom libraries like regex', # optional wml_client.software_specifications.ConfigurationMetaNames.BASE_SOFTWARE_SPECIFICATION: {'guid': base_id}, wml_client.software_specifications.ConfigurationMetaNames.PACKAGE_EXTENSIONS: [{'guid': pe_asset_id}] } # store the software spec ss_asset_details = wml_client.software_specifications.store(meta_props=ss_metadata) # get the id of the new asset asset_id = wml_client.software_specifications.get_id(ss_asset_details) # view new software specification details import pprint as pp ss_asset_details = wml_client.software_specifications.get_details(asset_id) print('Package extensions', pp.pformat( ss_asset_details['entity']['software_specification']['package_extensions'] ))
Odstraňování problémů
Pokud dojde k selhání vlastní instalace knihovny s názvem conda yml s touto chybou: Encountered error while installing custom library
, vyzkoušejte tyto alternativy:
Použijte jinou verzi stejného balíku, která je k dispozici v Anacondě pro příslušnou verzi Python .
Nainstalujte knihovnu z úložiště pypi pomocí pip. Upravte obsah instalačního souboru obsahu conda yml:
name: <conda yml file name> dependencies: - numpy - pip: - pandas==1.2.5
Nadřízené téma: Přizpůsobení běhových prostředí implementace