0 / 0
Go back to the English version of the documentation
Modelleri devreye alma alanına aktarma
Last updated: 12 Eki 2023
Modelleri devreye alma alanına aktarma

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:

  1. Eğitilen modeli Watson Machine Learning havuzunuzda depolayın
  2. İ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:

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.

Çerçeve tipi başına modellere ilişkin içe aktarma seçenekleri
İç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

Not: Bir modeli PMML biçiminde içe aktarmak istiyorsanız, model ` .xml ` dosyasını doğrudan içe aktarabilirsiniz.

Bir modeli UI kullanarak içe aktarmak için:

  1. Watson Machine Learningiçindeki alanınızın Varlıklar sekmesinden Varlıkları içe aktarseçeneğini tıklatın.
  2. Local file seçeneğini belirleyin ve Modelseçeneğini belirleyin.
  3. İç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ı

Not: Bu içe aktarma yöntemi sınırlı sayıda ML çerçeveleri tarafından desteklenir. Daha fazla bilgi için bkz. [ Çerçeve tipi başına modelleri içe aktarmanın kullanılabilir yolları] (#supported-format).

Bir model nesnesini içe aktarmak için:

  1. Modeliniz uzak bir konumdaysa, Uzak bir konumda saklanan bir modeli karşıdan yüklemeişlemini izleyin.
  2. 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ı

Not: Bu içe aktarma yöntemi sınırlı sayıda ML çerçeveleri tarafından desteklenir. Daha fazla bilgi için bkz. [ Çerçeve tipi başına modelleri içe aktarmanın kullanılabilir yolları] (#supported-format).

Dosyanın yolunu kullanarak bir modeli içe aktarmak için:

  1. Modeliniz uzak bir konumdaysa, modeli karşıdan yüklemek için Uzak bir konumda saklanan bir modeli karşıdan yükleme işlemini izleyin.

  2. Modeliniz yerel olarak bulunuyorsa, bunu belirli bir dizine yerleştirin:

      !cp <saved model> <target directory>
      !cd <target directory>
    
  3. 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
    
  4. 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ı

Not: Bu içe aktarma yöntemi sınırlı sayıda ML çerçeveleri tarafından desteklenir. Daha fazla bilgi için bkz. [ Çerçeve tipi başına modelleri içe aktarmanın kullanılabilir yolları] (#supported-format).

Bir dizini yol kullanarak bir modeli içe aktarmak için:

  1. Modeliniz uzak bir konumdaysa, Uzak bir konumda saklanan bir modelin karşıdan yüklenmesibaşlıklı konuya bakın.

  2. 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
    
  3. 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:

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.xmlgibi 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, .h5ve .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çin client.software_specifications.list() yöntemini kullanın.

  • model_typeolarak 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 ve opset_version değerini 9 olarak ayarlayın (Watson Machine Learning devreye alımları, 9 'dan yüksek opset sürümlerini desteklemeyen caffe2 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

Üst konu: Konuşlandırma alanlarındaki varlıklar

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