Translation not up to date
Importujte modely strojového učení natrénované mimo produkt IBM Watson Machine Learning , abyste mohli nasadit a testovat modely. Přezkoumejte rámce modelu, které jsou k dispozici pro import modelů.
import natrénovaného modelu zde znamená:
- Uložte natrénovaný model do úložiště Watson Machine Learning .
- Volitelné: Nasaďte uložený model ve službě Watson Machine Learning .
a úložiště znamená sektor Cloud Object Storage . Další informace naleznete v tématu Vytvoření prostorů implementace.
Model můžete importovat těmito způsoby:
- Přímo prostřednictvím uživatelského rozhraní
- Použití cesty k souboru
- Použití cesty k adresáři
- Importovat objekt modelu
Další informace viz Import modelů podle rámce ML.
Další informace viz Věci, které je třeba zvážit při importu modelů.
Příklad, jak přidat model programově pomocí klienta Python , naleznete v tomto zápisníku:
Příklad, jak přidat model programově pomocí rozhraní REST API, viz tento zápisník:
Dostupné způsoby importu modelů podle typu rámce
V této tabulce jsou uvedeny dostupné způsoby importu modelů do produktu Watson Machine Learningpodle typu rámce.
Volba importu | Spark MLlib | Scikit-učit se | XGBoost (zvýšení) | TensorFlow | PyTorch |
---|---|---|---|---|---|
Import objektu modelu | ✓ | ✓ | ✓ | ||
Import modelu pomocí cesty k souboru | ✓ | ✓ | ✓ | ✓ | |
Import modelu pomocí cesty k adresáři | ✓ | ✓ | ✓ | ✓ |
Přidání modelu pomocí uživatelského rozhraní
Chcete-li importovat model pomocí uživatelského rozhraní, postupujte takto:
- Na kartě Aktiva vašeho prostoru v produktu Watson Machine Learningklepněte na volbu Nové aktivum.
- Přejděte na volbu Nástroje pro přístup k datům a vyberte volbu Model.
- Vyberte soubor modelu, který chcete importovat, a klepněte na tlačítko Přidat.
Mechanismus importu automaticky vybere odpovídající typ modelu a specifikaci softwaru na základě řetězce verze v souboru .xml
.
Import objektu modelu
Chcete-li importovat modelový objekt, postupujte takto:
- Je-li váš model umístěn ve vzdáleném umístění, postupujte podle pokynů v části Stažení modelu uloženého ve vzdáleném umístění.
- Uložte modelový objekt do úložiště Watson Machine Learning . Další informace viz Uložení modelu do úložiště Watson Machine Learning.
Import modelu pomocí cesty k souboru
Chcete-li importovat model pomocí cesty k souboru, postupujte takto:
Pokud je váš model umístěn ve vzdáleném umístění, postupujte podle pokynů Stažení modelu uloženého ve vzdáleném umístění a stáhněte jej.
Pokud je váš model umístěn lokálně, umístěte jej do specifického adresáře:
!cp <saved model> <target directory> !cd <target directory>
Pro modely Scikit-learn, XGBoost, Tensorflowa PyTorch , pokud stažený soubor není archiv
.tar.gz
, vytvořte archiv:!tar -zcvf <saved model>.tar.gz <saved model>
Soubor modelu musí být ve složce nejvyšší úrovně adresáře, například:
assets/ <saved model> variables/ variables/variables.data-00000-of-00001 variables/variables.index
K uložení souboru modelu do úložiště Watson Machine Learning použijte cestu k uloženému souboru. Další informace viz Uložení modelu do úložiště Watson Machine Learning.
Import modelu pomocí cesty k adresáři
Chcete-li importovat model pomocí cesty k adresáři, postupujte takto:
Pokud je váš model umístěn ve vzdáleném umístění, prohlédněte si téma Stažení modelu uloženého ve vzdáleném umístění.
Pokud je váš model umístěn lokálně, umístěte jej do specifického adresáře:
!cp <saved model> <target directory> !cd <target directory>
V případě modelů scikit-learn, XGBoost, Tensorflowa PyTorch musí být soubor modelu ve složce nejvyšší úrovně adresáře, například:
assets/ <saved model> variables/ variables/variables.data-00000-of-00001 variables/variables.index
Cestu k adresáři použijte k uložení souboru modelu do úložiště Watson Machine Learning . Další informace viz Uložení modelu do úložiště Watson Machine Learning.
Stažení modelu uloženého ve vzdáleném umístění
Chcete-li stáhnout model ze vzdáleného umístění, postupujte podle tohoto ukázkového kódu:
import os
from wget import download
target_dir = '<target directory name>'
if not os.path.isdir(target_dir):
os.mkdir(target_dir)
filename = os.path.join(target_dir, '<model name>')
if not os.path.isfile(filename):
filename = download('<url to model>', out = target_dir)
Věci, které je třeba zvážit při importu modelů
Další informace o importu specifického typu modelu viz:
- Modely uložené ve formátu PMML
- Spark MLlib modely
- Scikit-výukové modely
- Modely XGBoost
- TensorFlow
- modelyPyTorch
Další informace o rámcích, které můžete použít s produktem Watson Machine Learning, naleznete v tématu Podporované rámce.
Modely uložené ve formátu PMML
- Jediným dostupným typem implementace pro modely, které jsou importovány z knihovny PMML, je implementace online.
- Soubor PMML musí mít příponu
.xml
. - Modely PMML nelze použít v toku proudu SPSS .
- Soubor PMML nesmí obsahovat prolog. V závislosti na knihovně, kterou používáte při ukládání modelu, může být standardně přidán prolog na začátek souboru. Pokud například váš soubor obsahuje řetězec prolog, jako např.
spark-mllib-lr-model-pmml.xml
, odeberte řetězec před importem souboru PMML do prostoru implementace.
V závislosti na knihovně, kterou používáte při ukládání modelu, může být prolog standardně přidán na začátek souboru, jako v tomto příkladu:
::::::::::::::
spark-mllib-lr-model-pmml.xml
::::::::::::::
Musíte odebrat tento prolog, než budete moci importovat soubor PMML do Watson Machine Learning.
Spark MLlib modely
- K dispozici jsou pouze klasifikační a regresní modely.
- Vlastní transformátory, uživatelské funkce a třídy nejsou k dispozici.
Scikit-výukové modely
.pkl
a.pickle
jsou dostupné formáty importu.- Chcete-li serializovat nebo nakládat s modelem, použijte balík
joblib
. - K dispozici jsou pouze klasifikační a regresní modely.
- Vstupní typ datového rámce Pandas pro rozhraní API
predict()
není k dispozici. - Jediným dostupným typem implementace pro modely scikit-learn je implementace online.
XGBoost modely
.pkl
a.pickle
jsou dostupné formáty importu.- Chcete-li serializovat nebo nakládat s modelem, použijte balík
joblib
. - K dispozici jsou pouze klasifikační a regresní modely.
- Vstupní typ datového rámce Pandas pro rozhraní API
predict()
není k dispozici. - Jediným dostupným typem implementace pro modely XGBoost je implementace online.
Modely TensorFlow
.pb
,.h5
a.hdf5
jsou dostupné formáty importu.- Chcete-li uložit nebo serializovat model TensorFlow , použijte metodu
tf.saved_model.save()
. tf.estimator
není k dispozici.- Jediné dostupné typy implementace pro modely TensorFlow jsou: implementace online a dávková implementace.
Modely PyTorch
Jediným dostupným typem implementace pro modely PyTorch je implementace online.
Aby byl model Pytorch importovatelný do Watson Machine Learning, musí být dříve exportován do formátu
.onnx
. Viz tento kód.torch.onnx.export(<model object>, <prediction/training input data>, "<serialized model>.onnx", verbose=True, input_names=<input tensor names>, output_names=<output tensor names>)
Uložení modelu do úložiště Watson Machine Learning
Tento kód použijte k uložení modelu do úložiště Watson Machine Learning :
from ibm_watson_machine_learning import APIClient
client = APIClient(<your credentials>)
sw_spec_uid = client.software_specifications.get_uid_by_name("<software specification name>")
meta_props = {
client.repository.ModelMetaNames.NAME: "<your model name>",
client.repository.ModelMetaNames.SOFTWARE_SPEC_UID: sw_spec_uid,
client.repository.ModelMetaNames.TYPE: "<model type>"}
client.repository.store_model(model=<your model>, meta_props=meta_props)
Poznámky:
V závislosti na použitém rámci modelu může být
<your model>
skutečným objektem modelu, úplnou cestou k uloženému souboru modelu nebo cestou k adresáři, kde je umístěn soubor modelu. Další informace viz Dostupné způsoby importu modelů podle typu rámce.Chcete-li zobrazit seznam dostupných specifikací softwaru, které se mají použít jako
<software specification name>
, použijte metoduclient.software_specifications.list()
.Seznam dostupných typů modelů, které se mají použít jako
model_type
, naleznete v části Specifikace softwaru a specifikace hardwaru pro implementace.Když exportujete model Pytorch do formátu
.onnx
, uveďte příznakkeep_initializers_as_inputs=True
a nastavteopset_version
na 9 (nasazeníWatson Machine Learning používají běhové prostředícaffe2
ONNX, které nepodporuje verze opset vyšší než 9).torch.onnx.export(net, x, 'lin_reg1.onnx', verbose=True, keep_initializers_as_inputs=True, opset_version=9)
Chcete-li se dozvědět více o tom, jak vytvořit slovník
<your credentials>
, prohlédněte si téma Watson Machine Learning authentication.
Další informace
- Další informace o přidávání datových aktiv do prostoru naleznete v tématu Přidání datových aktiv do prostoru implementace.
- Chcete-li se dozvědět více o povýšení datových aktiv do prostoru, prohlédněte si téma Propagace aktiv do prostoru implementace.
Nadřízené téma: Aktiva v implementačních prostorech