Translation not up to date
Modelleri devreye alabilmeniz ve test edebilmeniz için IBM Watson Machine Learning dışında eğitilen makine öğrenimi modellerini içe aktarın. Modelleri içe aktarmak için kullanılabilecek model çerçevelerini gözden geçirin.
Burada, eğitilmiş bir modeli içe aktarmak için aşağıdaki anlamlara gelir:
- Eğitilen modeli Watson Machine Learning havuzunuzda depolayın
- İsteğe bağlı: Watson Machine Learning hizmetinizde depolanan modeli devreye alın
ve havuz , bir Cloud Object Storage (Bulut Nesne Depolaması) kabı anlamına gelir. Daha fazla bilgi için bkz. Konuşlandırma alanları oluşturma.
Bir modeli aşağıdaki şekillerde içe aktarabilirsiniz:
- Doğrudan UI aracılığıyla
- Dosya yolunu kullanarak
- Dizin yolunu kullanarak
- Model nesnesinin içe aktarılması
Daha fazla bilgi için Modelleri ML çerçevesine göre içe aktarmabaşlıklı konuya bakın.
Daha fazla bilgi için Modelleri içe aktarırken dikkate alınacak şeylerbaşlıklı konuya bakın.
Python istemcisini kullanarak bir modelin programlı olarak nasıl ekleneceğine ilişkin bir örnek için şu not defterine bakın:
REST API 'sini kullanarak bir modelin programlı olarak nasıl ekleneceğine ilişkin bir örnek için bu not defterine bakın:
Çerçeve tipi başına modelleri içe aktarmanın kullanılabilecek yolları
Bu tablo, çerçeve tipi başına modelleri Watson Machine Learning' e aktarmanın kullanılabilir yollarını listeler.
İçe aktarma seçeneği | Spark MLlib | Scikit-öğrenme | XGBoost | TensorFlow | PyTorch |
---|---|---|---|---|---|
Model nesnesinin içe aktarılması | ✓ | ✓ | ✓ | ||
Bir dosyanın yolunu kullanarak modelin içe aktarılması | ✓ | ✓ | ✓ | ✓ | |
Bir modelin dizin yolu kullanılarak içe aktarılması | ✓ | ✓ | ✓ | ✓ |
Kullanıcı arabirimini kullanarak model ekleme
Bir modeli UI kullanarak içe aktarmak için:
- Watson Machine Learningiçindeki alanınızın Varlıklar sekmesinden Varlıkları içe aktarseçeneğini tıklatın.
Local file
seçeneğini belirleyin ve Modelseçeneğini belirleyin.- İçe aktarmak istediğiniz model dosyasını seçin ve İçe Aktar' ı tıklatın.
İçe aktarma mekanizması, .xml
dosyasındaki sürüm dizgisine dayalı olarak otomatik olarak eşleşen bir model tipi ve yazılım belirtimi seçer.
Model nesnesinin içe aktarılması
Bir model nesnesini içe aktarmak için:
- Modeliniz uzak bir konumdaysa, Uzak bir konumda saklanan bir modeli karşıdan yüklemeişlemini izleyin.
- Model nesnesini Watson Machine Learning havuzunuzda saklayın. Daha fazla bilgi için bkz. Watson Machine Learning havuzunda modeli saklama.
Dosyanın yolunu kullanarak bir modelin içe aktarılması
Dosyanın yolunu kullanarak bir modeli içe aktarmak için:
Modeliniz uzak bir konumdaysa, modeli karşıdan yüklemek için Uzak bir konumda saklanan bir modeli karşıdan yükleme işlemini izleyin.
Modeliniz yerel olarak bulunuyorsa, bunu belirli bir dizine yerleştirin:
!cp <saved model> <target directory> !cd <target directory>
Scikit-learn, XGBoost, Tensorflowve PyTorch modelleri için, karşıdan yüklenen dosya bir
.tar.gz
arşivi değilse, bir arşiv oluşturun:!tar -zcvf <saved model>.tar.gz <saved model>
Model dosyası, dizinin en üst düzey klasöründe olmalıdır; örneğin:
assets/ <saved model> variables/ variables/variables.data-00000-of-00001 variables/variables.index
Model dosyasını Watson Machine Learning havuzunuzda saklamak için kaydedilen dosyanın yolunu kullanın. Daha fazla bilgi için bkz. Watson Machine Learning havuzunda modeli saklama.
Bir dizin yolunu kullanarak bir modelin içe aktarılması
Bir dizini yol kullanarak bir modeli içe aktarmak için:
Modeliniz uzak bir konumdaysa, Uzak bir konumda saklanan bir modelin karşıdan yüklenmesibaşlıklı konuya bakın.
Modeliniz yerel olarak bulunuyorsa, bunu belirli bir dizine yerleştirin:
!cp <saved model> <target directory> !cd <target directory>
scikit-learn, XGBoost, Tensorflowve PyTorch modelleri için model dosyasının dizinin üst düzey klasöründe olması gerekir; örneğin:
assets/ <saved model> variables/ variables/variables.data-00000-of-00001 variables/variables.index
Model dosyasını Watson Machine Learning havuzunuzda saklamak için dizin yolunu kullanın. Daha fazla bilgi için bkz. Watson Machine Learning havuzunda modeli saklama.
Uzak bir konumda saklanan bir modeli karşıdan yükleme
Modelinizi uzak bir yerden yüklemek için bu örnek kodu izleyin:
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)
Modelleri içe aktarırken dikkate alınacak şeyler
Belirli bir model tipini içe aktarma hakkında daha fazla bilgi edinmek için aşağıdaki konulara bakın:
- PMML biçiminde kaydedilen modeller
- Spark MLlib modelleri
- Scikit-modelleri öğrenin
- XGBoost modelleri
- TensorFlow modelleri
- PyTorch modelleri
Watson Machine Learningile kullanabileceğiniz çerçeveler hakkında daha fazla bilgi edinmek için bkz. Desteklenen çerçeveler.
PMML biçiminde kaydedilen modeller
- PMML ' den içe aktarılan modeller için kullanılabilir tek konuşlandırma tipi çevrimiçi konuşlandırmadır.
- PMML dosyası
.xml
dosya uzantısına sahip olmalıdır. - PMML modelleri bir SPSS akış akışında kullanılamaz.
- PMML dosyası bir öneylem içermemelidir. Modelinizi kaydederken kullanmakta olduğunuz kitaplığa bağlı olarak, varsayılan olarak dosyanın başına bir öneylem eklenebilir. Örneğin, dosyanız
spark-mllib-lr-model-pmml.xml
gibi bir öneylem dizgisi içeriyorsa, PMML dosyasını konuşlandırma alanına aktarmadan önce dizgiyi kaldırın.
Modelinizi kaydederken kullanmakta olduğunuz kitaplığa bağlı olarak, aşağıdaki örnekte olduğu gibi varsayılan olarak dosyanın başına bir öneylem eklenebilir:
::::::::::::::
spark-mllib-lr-model-pmml.xml
::::::::::::::
PMML dosyasını Watson Machine Learning' e aktarmadan önce bu önsözü kaldırmanız gerekir.
Spark MLlib modelleri
- Yalnızca sınıflandırma ve regresyon modelleri mevcuttur.
- Özel dönüştürücüler, kullanıcı tanımlı işlevler ve sınıflar kullanılamaz.
Scikit-modelleri öğrenin
.pkl
ve.pickle
, kullanılabilir içe aktarma biçimleridir.- Modeli diziselleştirmek ya da turşu yapmak için
joblib
paketini kullanın. - Yalnızca sınıflandırma ve regresyon modelleri mevcuttur.
predict()
API için Pandas Dataframe giriş tipi kullanılamıyor.- Scikit-learn modelleri için kullanılabilir tek devreye alma tipi çevrimiçi devreye almaktır.
XGBoost modelleri
.pkl
ve.pickle
, kullanılabilir içe aktarma biçimleridir.- Modeli diziselleştirmek ya da turşu yapmak için
joblib
paketini kullanın. - Yalnızca sınıflandırma ve regresyon modelleri mevcuttur.
predict()
API için Pandas Dataframe giriş tipi kullanılamıyor.- XGBoost modelleri için kullanılabilir tek devreye alma tipi çevrimiçi devreye almaktır.
TensorFlow modelleri
.pb
,.h5
ve.hdf5
kullanılabilir içe aktarma biçimleridir.- Bir TensorFlow modelini kaydetmek ya da diziselleştirmek için
tf.saved_model.save()
yöntemini kullanın. tf.estimator
kullanılamıyor.- TensorFlow modelleri için yalnızca çevrimiçi devreye alma ve toplu devreye alma tipleri kullanılabilir.
PyTorch modelleri
PyTorch modelleri için kullanılabilecek tek konuşlandırma tipi çevrimiçi konuşlandırmaktır.
Bir Pytorch modelinin Watson Machine Learning' e içe aktarılabilmesi için daha önce
.onnx
biçimine aktarılmalıdır. Bu koda bakın.torch.onnx.export(<model object>, <prediction/training input data>, "<serialized model>.onnx", verbose=True, input_names=<input tensor names>, output_names=<output tensor names>)
Bir modelin Watson Machine Learning havuzunuzda saklanması
Modelinizi Watson Machine Learning havuzunuzda saklamak için bu kodu kullanın:
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)
Notlar:
Kullanılan model çerçevesine bağlı olarak
<your model>
, gerçek model nesnesi, kaydedilmiş bir model dosyasının tam yolu ya da model dosyasının bulunduğu bir dizinin yolu olabilir. Daha fazla bilgi için bkz. Çerçeve tipi başına modelleri içe aktarmanın yolları.<software specification name>
olarak kullanılacak kullanılabilir yazılım belirtimlerinin bir listesi içinclient.software_specifications.list()
yöntemini kullanın.model_type
olarak kullanılacak kullanılabilir model tiplerinin bir listesi için Devreye alımlara ilişkin yazılım belirtimleri ve donanım belirtimleribaşlıklı konuya bakın.Bir Pytorch modelini
.onnx
biçimine aktardığınızda,keep_initializers_as_inputs=True
işaretini belirtin veopset_version
değerini 9 olarak ayarlayın (Watson Machine Learning devreye alımları, 9 'dan yüksek opset sürümlerini desteklemeyencaffe2
ONNX çalıştırma zamanını kullanır).torch.onnx.export(net, x, 'lin_reg1.onnx', verbose=True, keep_initializers_as_inputs=True, opset_version=9)
<your credentials>
sözlüğünün nasıl oluşturulacağına ilişkin daha fazla bilgi için bkz. Watson Machine Learning authentication.
Daha fazla bilgi
- Bir alana veri varlıkları ekleme hakkında daha fazla bilgi için bkz. Konuşlandırma alanına veri varlıkları ekleme.
- Veri varlıklarını bir alana yükseltme hakkında daha fazla bilgi için Varlıkları bir devreye alma alanına yükseltmebaşlıklı konuya bakın.
Üst konu: Konuşlandırma alanlarındaki varlıklar