0 / 0
Go back to the English version of the documentation
Üçüncü taraf ve özel Python kitaplıklarıyla özelleştirme
Last updated: 14 Ağu 2023
Üçüncü taraf ve özel Python kitaplıklarıyla özelleştirme

Modeliniz kullanıcı tanımlı dönüştürücüler, tahmin ediciler ya da kullanıcı tanımlı tensörler gibi özel bileşenler gerektiriyorsa, bir tabandan ya da önceden tanımlanmış bir belirtimden türetilmiş özel bir yazılım belirtimi oluşturabilirsiniz. Python işlevleri ve Python komut dosyaları da özel yazılım belirtimlerini destekler.

Herhangi bir üçüncü kişi kitaplıklarına, kullanıcı tarafından oluşturulan Python paketlerine ya da her ikisine başvurmak için özel yazılım belirtimini kullanabilirsiniz. Üçüncü kişi kitaplıkları ya da kullanıcı tarafından oluşturulan Python paketleri, daha sonra özel bir yazılım belirtiminde başvurulabilecek paket uzantıları olarak belirtilmelidir.

Konuşlandırma yürütme ortamlarınızı aşağıdaki şekillerde özelleştirebilirsiniz:

Sorun giderme bilgileri için Sorun Gidermekonusuna bakın.

Bir Watson Studio projesinde özelleştirmeleri tanımlama ve bunları bir devreye alma alanına yükseltme

Watson Studio projelerindeki ortamlar, Anaconda 'dan ya da PyPI havuzundan kurulabilecek üçüncü kişi kitaplıklarını içerecek şekilde özelleştirilebilir.

Yazılım belirtimlerine sahip ortamlar oluşturulmasına ilişkin ayrıntılar için Ortamlarkonusuna bakın.

Özel ortam oluşturmanın bir parçası olarak, bu adımlar içeride gerçekleştirilir (kullanıcı için saydam):

  • Üçüncü taraf kitaplıklarının ayrıntılarını içeren bir paket uzantısı, conda YAML biçiminde oluşturulur.
  • Özel ortamla aynı ada sahip bir özel yazılım belirtimi oluşturulur ve oluşturulan paket uzantısı bu özel yazılım belirtimiyle ilişkilendirilir.

Özel ortamla oluşturulan modeller ya da Python işlevleri/komut dosyaları, proje kapsamında Watson Machine Learning havuzuna kaydedildiğinde özel yazılım belirtimine başvurmalıdır.

Projelerden devreye alma alanlarına yazılım belirtimlerini ve paket uzantılarını yayma

Bir Watson Studio projesinde oluşturulan özel yazılım belirtimlerini ve paket uzantılarını bir devreye alma alanına aktarmak için:

  1. Proje arabiriminizden Yönet sekmesini tıklatın.
  2. Ortamlarseçeneğini belirleyin.
  3. Şablonlar sekmesini tıklatın.
  4. Özel ortamınızın Seçenekler menüsünden Alana Yükseltseçeneğini belirleyin.

Watson Studio arabiriminde özel bir ortam için "Alana yükselt" seçeneğinin belirlenmesi

Alternatif olarak, bir Watson Studio projesinden özel bir ortamla ilişkili herhangi bir modeli ya da Python işlevini devreye alma alanına yükselttiğinizde, ilişkili özel yazılım belirtimi ve paket uzantısı da devreye alma alanına yükseltilir.

Yazılım belirtimlerini ve paket uzantılarını devreye alma alanına yükseltildikten sonra güncellemek istiyorsanız, aşağıdaki adımları izleyin:

  1. Devreye alma alanında, Watson Machine Learning Python istemcisini kullanarak yazılım belirtimlerini, paket uzantılarını ve ilişkili modelleri silin (isteğe bağlı).
  2. Bir projede, değiştirilen özel yazılım belirtimi ve paket uzantısıyla ilişkili modeli, işlevi ya da komut dosyasını alana yükseltin.

Yazılım belirtimleri, bir proje ya da alan içeren bir projeyi ya da alanı içe aktardığınızda da dahil edilir.

Watson Machine Learning Python istemcisini kullanarak bir devreye alma alanında paket uzantıları ve özel yazılım belirtimleri oluşturma

Temel belirtimden türetilen özel bir yazılım belirtimi tanımlamak için Watson Machine Learning API ' lerini ya da Python istemcisini kullanabilirsiniz.

Üçüncü kişi kitaplıklarını ya da kullanıcı tarafından oluşturulan Python paketlerini kullanan özel bir yazılım belirtimi oluşturmak için üst düzey adımlar:

  1. İsteğe bağlı: Üçüncü kişi kitaplıklarının listesini içeren bir conda YAML dosyasını kaydedin ya da kullanıcı tarafından oluşturulan bir Python kitaplığını kaydedin ve bir paket uzantısı oluşturun.

    Not: Modelin bir üçüncü taraf kitaplığına ya da kullanıcı tarafından oluşturulan bir Python kitaplığına bağımlılığı yoksa, bu adım gerekli değildir.
  2. Özel yazılım belirtimi oluştur

  3. Oluşturduğunuz özel yazılım belirtimine paket uzantılarına ilişkin bir başvuru ekleyin.

Üçüncü kişi kitaplıklarının listesini içeren bir conda YAML dosyasının kaydedilmesi

Paket uzantısı olarak üçüncü taraf kitaplıklarının bir listesini içeren bir conda YAML dosyasını kaydetmek ve paket uzantısıyla bağlantılı özel bir yazılım belirtimi oluşturmak için:

  1. İstemciyi doğrulayın ve oluşturun.

    Bkz. Kimlik Doğrulaması.

  2. Varsayılan devreye alma alanını oluşturun ve ayarlayın, ardından kullanılabilir yazılım belirtimlerini listeleyin.

     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'
    
  3. Temel belirtime eklenecek paket uzantılarına ilişkin meta verileri oluşturun.

    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'
    }
    
  4. Ek paketlerin listesini içeren bir yaml dosyası oluşturun ve bunu customlibrary.yamlolarak kaydedin.

    Örnek yaml dosyası:

    name: add-regex-package
    dependencies:
        - regex
    

    Uygun yaml dosya yapısı hakkında bilgi için bkz. Özelleştirmeler örnekleri.

  5. Paket uzantısı bilgilerini saklayın.

    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)
    
  6. Yazılım belirtimi için meta verileri oluşturun ve yazılım belirtimini saklayın.

    # 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']
    ))
    

Kullanıcı tarafından yaratılan Python kitaplığının saklanması ve paket uzantısı yaratılması

Kullanıcı tarafından oluşturulan Python kitaplıklarını desteklemeye ilişkin gereksinimler hakkında bilgi için Modellerde özel bileşenlerin kullanılmasına ilişkin gereksinimlerbaşlıklı konuya bakın.

Kullanıcı tarafından oluşturulan bir Python paketini paket uzantısı olarak kaydetmek ve paket uzantısına bağlı özel bir yazılım belirtimi oluşturmak için:

  1. İstemciyi doğrulayın ve oluşturun.

    Bkz. Kimlik Doğrulaması.

  2. Varsayılan devreye alma alanını oluşturun ve ayarlayın, ardından kullanılabilir yazılım belirtimlerini listeleyin.

     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'
    
  3. Temel belirtime eklenecek paket uzantılarına ilişkin meta verileri oluşturun.

    Not:

    wml_client.package_extensions.ConfigurationMetaNames.TYPE meta veri özelliği için değer olarak yalnızca pip_zip belirtilebilir.

    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'
    }
    
  4. Kullanıcı tarafından yaratılan Python kitaplığının yolunu belirtin.

    python_lib_file_path="my-python-library-0.1.zip"
    

    Kullanıcı tarafından oluşturulan Python kitaplıklarını desteklemeye ilişkin gereksinimler hakkında bilgi için Modellerde özel bileşenlerin kullanılmasına ilişkin gereksinimlerbaşlıklı konuya bakın.

  5. Paket uzantısı bilgilerini saklayın.

    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)
    
  6. Yazılım belirtimi için meta verileri oluşturun ve yazılım belirtimini saklayın.

    # 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']
    ))
    

Sorun Giderme

Conda yml tabanlı özel kitaplık kuruluşu şu hatayla başarısız olduğunda: Encountered error while installing custom library, aşağıdaki alternatifleri deneyin:

  • İlgili Python sürümü için Anaconda 'da bulunan aynı paketin farklı bir sürümünü kullanın.

  • Kitaplığı pip kullanarak pypi havuzundan kurun. conda yml kuruluş dosyası içeriğini düzenleyin:

    name: <conda yml file name>
    dependencies:
    - numpy
    - pip:
        - pandas==1.2.5
    

Üst konu: Konuşlandırma yürütme zamanlarının uyarlanması

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