Kayıt defterleriyle çalışma alanları arasında veri paylaşma (önizleme)
Azure Machine Learning kayıt defteri, kuruluşunuzdaki çalışma alanları arasında işbirliği yapmanızı sağlar. Kayıt defterlerini kullanarak modelleri, bileşenleri, ortamları ve verileri paylaşabilirsiniz. Kayıt defterleriyle veri paylaşımı şu anda bir önizleme özelliğidir. Bu makalede şunları öğreneceksiniz:
- Kayıt defterinde bir veri varlığı oluşturun.
- Var olan bir veri varlığını çalışma alanından kayıt defterine paylaşma
- Kayıt defterinden veri varlığını bir çalışma alanında model eğitim işine giriş olarak kullanın.
Önemli
Bu özellik şu anda genel önizlemededir. Bu önizleme sürümü hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için bu sürümü önermeyiz. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir.
Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Azure Machine Learning kayıt defteri kullanılarak veri paylaşımıyla ele alınan temel senaryo
Verilerin merkezi bir konumda birden çok ekip, proje veya çalışma alanında paylaşılmasını isteyebilirsiniz. Bu tür veriler hassas erişim denetimlerine sahip değildir ve kuruluşta yaygın olarak kullanılabilir.
Örneklere şunlar dahildir:
- Ekip, denemelerde önceden işlenmiş ve kullanıma hazır bir genel veri kümesini paylaşmak istiyor.
- Kuruluşunuz dış satıcıdan bir proje için belirli bir veri kümesi aldı ve bunu bir proje üzerinde çalışan tüm ekiplerin kullanımına açmak istiyor.
- Ekip, veri varlıklarını farklı bölgelerdeki çalışma alanlarında paylaşmak istiyor.
Bu senaryolarda, kayıt defterinde bir veri varlığı oluşturabilir veya var olan bir veri varlığını çalışma alanından kayıt defterine paylaşabilirsiniz. Bu veri varlığı daha sonra birden çok çalışma alanında kullanılabilir.
Azure Machine Learning kayıt defteri kullanılarak veri paylaşımıyla ele alınmayan senaryolar
Ayrıntılı erişim denetimi gerektiren hassas verileri paylaşma. Kayıt defterine kuruluştaki diğer birçok kullanıcı tarafından erişilirken, kayıt defterinde kullanıcıların/çalışma alanlarının küçük bir alt kümesiyle paylaşmak üzere bir veri varlığı oluşturamazsınız.
Mevcut depolama alanında bulunan ve kopyalanmaması gereken veya kopyalanamayacak kadar büyük ya da çok pahalı olan verileri paylaşma. Bir kayıt defterinde veri varlıkları oluşturulduğunda, çoğaltılabilmesi için kayıt defteri depolama alanına bir veri kopyası gönderilir.
Azure Machine Learning kayıt defteri tarafından desteklenen veri varlığı türleri
İpucu
Senaryonuz için , uri_folder
veya mltable
kullanmak uri_file
isteyip istemediğinize karar verirken aşağıdaki kurallı senaryolara göz atın.
Üç veri varlığı türü oluşturabilirsiniz:
Tür | V2 API | Kurallı senaryo |
---|---|---|
Dosya: Tek bir dosyaya başvurma | uri_file |
Tek bir dosyayı okuma/yazma- dosyanın herhangi bir biçimi olabilir. |
Klasör: Tek bir klasöre başvurma | uri_folder |
Parquet/CSV dosyalarının bir dizinini Pandas/Spark'a okumanız/yazmanız gerekir. Dizinde bulunan resimler, metin, ses ve video dosyalarıyla derin öğrenme. |
Tablo: Veri tablosuna başvurma | mltable |
Sık sık yapılan değişikliklere tabi olan karmaşık bir şemanız var veya büyük tablosal verilerin bir alt kümesine ihtiyacınız var. |
Azure Machine Learning kayıt defteri tarafından desteklenen yollar
Bir veri varlığı oluşturduğunuzda, veri konumuna işaret eden bir yol parametresi belirtmeniz gerekir. Şu anda desteklenen tek yollar yerel bilgisayarınızdaki konumlardır.
İpucu
"Yerel", kullandığınız bilgisayarın yerel depolama alanı anlamına gelir. Örneğin, dizüstü bilgisayar kullanıyorsanız yerel sürücü. Azure Machine Learning işlem örneğiyse, işlem örneğinin "yerel" sürücüsüdür.
Önkoşullar
Bu makaledeki adımları takip etmeden önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun:
Azure Machine Learning kayıt defterleri ve Azure Machine Learning'deki Veri kavramları hakkında bilgi.
Verileri paylaşmak için bir Azure Machine Learning kayıt defteri. Kayıt defteri oluşturmak için bkz. Kayıt defteri oluşturmayı öğrenme.
Azure Machine Learning çalışma alanı. Yoksa, oluşturmak için Hızlı Başlangıç: Çalışma alanı kaynakları oluşturma makalesindeki adımları kullanın.
Önemli
Çalışma alanınızı oluşturduğunuz Azure bölgesi (konum), Azure Machine Learning kayıt defteri için desteklenen bölgeler listesinde olmalıdır.
Modelleri, bileşenleri ve ortamları paylaşma makalesinden oluşturulan ortam ve bileşen.
Azure CLI ve
ml
uzantısı veya Azure Machine Learning Python SDK v2:Azure CLI ve uzantıyı yüklemek için bkz. CLI'yi yükleme, ayarlama ve kullanma (v2).
Önemli
Bu makaledeki CLI örneklerinde Bash (veya uyumlu) kabuğu kullandığınız varsayılır. Örneğin, linux sisteminden veya Linux için Windows Alt Sistemi.
Örneklerde ayrıca aboneliğiniz, çalışma alanınız, kaynak grubunuz veya konumunuz için parametreleri belirtmeniz gerekmeyecek şekilde Azure CLI için varsayılanları yapılandırdığınız varsayılır. Varsayılan ayarları ayarlamak için aşağıdaki komutları kullanın. Aşağıdaki parametreleri yapılandırmanızın değerleriyle değiştirin:
<subscription>
öğesini Azure abonelik kimliğinizle değiştirin.- değerini Azure Machine Learning çalışma alanı adınızla değiştirin
<workspace>
. - değerini, çalışma alanınızı içeren Azure kaynak grubuyla değiştirin
<resource-group>
. - değerini, çalışma alanınızı içeren Azure bölgesiyle değiştirin
<location>
.
az account set --subscription <subscription> az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
komutunu kullanarak
az configure -l
geçerli varsayılanlarınızın ne olduğunu görebilirsiniz.
Örnekleri kopyalama deposu
Bu makaledeki kod örnekleri örnek deposundaki örneği temel alırnyc_taxi_data_regression
. Bu dosyaları geliştirme ortamınızda kullanmak için aşağıdaki komutları kullanarak depoyu kopyalayın ve dizinleri örnek olarak değiştirin:
git clone https://github.com/Azure/azureml-examples
cd azureml-examples
CLI örneği için, örnek deposunun yerel kopyasında dizinleri cli/jobs/pipelines-with-components/nyc_taxi_data_regression
olarak değiştirin.
cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression
SDK bağlantısı oluşturma
İpucu
Bu adım yalnızca Python SDK'sı kullanılırken gereklidir.
Hem Azure Machine Learning çalışma alanına hem de kayıt defterine bir istemci bağlantısı oluşturun. Aşağıdaki örnekte yer tutucu değerlerini yapılandırmanıza uygun değerlerle değiştirin <...>
. Örneğin, Azure abonelik kimliğiniz, çalışma alanı adınız, kayıt defteri adınız vb.:
ml_client_workspace = MLClient( credential=credential,
subscription_id = "<workspace-subscription>",
resource_group_name = "<workspace-resource-group",
workspace_name = "<workspace-name>")
print(ml_client_workspace)
ml_client_registry = MLClient(credential=credential,
registry_name="<REGISTRY_NAME>",
registry_location="<REGISTRY_REGION>")
print(ml_client_registry)
Kayıt defterinde veri oluşturma
Bu adımda oluşturulan veri varlığı, bu makalenin ilerleyen bölümlerinde eğitim işi gönderilirken kullanılır.
İpucu
Çalışma alanında veya kayıt defterinde veri oluşturmak için aynı CLI komutu az ml data create
kullanılabilir. komutu komutuyla --workspace-name
çalıştırılırken çalışma alanında veriler oluşturulurken komutu ile --registry-name
çalıştırılırken kayıt defterindeki veriler oluşturulur.
Veri kaynağı, daha önce kopyaladığınız örnek deposunda bulunur. Yerel kopyanın altında şu dizin yoluna gidin: cli/jobs/pipelines-with-components/nyc_taxi_data_regression
. Bu dizinde adlı data-registry.yml
bir YAML dosyası oluşturun ve dosyanın içeriği olarak aşağıdaki YAML'yi kullanın:
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: transformed-nyc-taxt-data
description: Transformed NYC Taxi data created from local folder.
version: 1
type: uri_folder
path: data_transformed/
path
Değer, kayıt defteri kullanılarak paylaşılan verileri içeren alt dizini gösterirdata_transformed
.
Kayıt defterinde veri oluşturmak için kullanın az ml data create
. Aşağıdaki örneklerde değerini kayıt defterinizin adıyla değiştirin <registry-name>
.
az ml data create --file data-registry.yml --registry-name <registry-name>
Bu ada ve sürüme sahip verilerin kayıt defterinde zaten var olduğunu belirten bir hata alırsanız, içindeki alanını data-registry.yml
düzenleyebilir version
veya CLI'da sürüm değerini data-registry.yml
geçersiz kılan farklı bir sürüm belirtebilirsiniz.
# use shell epoch time as the version
version=$(date +%s)
az ml data create --file data-registry.yml --registry-name <registry-name> --set version=$version
İpucu
version=$(date +%s)
Komut, ortamınızdaki değişkeni ayarlamazsa $version
değerini rastgele bir sayıyla değiştirin$version
.
komutunun name
çıkışındaki verileri ve version
değerlerini kaydedin ve varlığın az ml data create
ayrıntılarını görüntülemek için komutla birlikte az ml data show
kullanın.
az ml data show --name transformed-nyc-taxt-data --version 1 --registry-name <registry-name>
İpucu
Farklı bir veri adı veya sürümü kullandıysanız ve --version
parametrelerini uygun şekilde değiştirin--name
.
Kayıt defterindeki tüm veri varlıklarını listelemek için de kullanabilirsiniz az ml data list --registry-name <registry-name>
.
Kayıt defterinde ortam ve bileşen oluşturma
Kayıt defterinde bir ortam ve bileşen oluşturmak için Modelleri, bileşenleri ve ortamları paylaşma makalesindeki adımları kullanın. Ortam ve bileşen, sonraki bölümdeki eğitim işinde kullanılır.
İpucu
Kayıt defterinden bir ortam ve bileşen kullanmak yerine çalışma alanından bir ortam ve bileşen kullanabilirsiniz.
Kayıt defterinden bileşen kullanarak bir çalışma alanında işlem hattı işi çalıştırma
Bir bileşeni ve kayıt defterindeki verileri kullanan bir işlem hattı işi çalıştırılırken işlem kaynakları çalışma alanında yereldir. Aşağıdaki örnekte iş, modeli eğitmek için Scikit Learn eğitim bileşenini ve önceki bölümlerde oluşturulan veri varlığını kullanır.
Not
Önemli olan, bu işlem hattının belirli bir çalışma alanında olmayan eğitim verilerini kullanarak bir çalışma alanında çalıştırılacak olmasıdır. Veriler, kuruluşunuzdaki herhangi bir çalışma alanıyla kullanılabilecek bir kayıt defterindedir. Bu eğitim işini, eğitim verilerini söz konusu çalışma alanında kullanılabilir hale getirme konusunda endişelenmeden erişiminiz olan herhangi bir çalışma alanında çalıştırabilirsiniz.
Dizininde cli/jobs/pipelines-with-components/nyc_taxi_data_regression
olduğunuzu doğrulayın. component
train_job
Eğitim bileşenine başvurmak için dosyasının single-job-pipeline.yml
bölümündeki bölümünü ve path
önceki bölümlerde oluşturulan veri varlığına başvurmak için bölümü düzenleyintraining_data
. Aşağıdaki örnekte, düzenlemeden sonra nasıl single-job-pipeline.yml
göründüğü gösterilmektedir. <registry_name>
değerini kayıt defterinizin adıyla değiştirin:
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc_taxi_data_regression_single_job
description: Single job pipeline to train regression model based on nyc taxi dataset
jobs:
train_job:
type: command
component: azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
compute: azureml:cpu-cluster
inputs:
training_data:
type: uri_folder
path: azureml://registries/<registry-name>/data/transformed-nyc-taxt-data/versions/1
outputs:
model_output:
type: mlflow_model
test_data:
Uyarı
- İşlem hattı işini çalıştırmadan önce, işi çalıştıracağınız çalışma alanının verileri oluşturduğunuz kayıt defteri tarafından desteklenen bir Azure bölgesinde olduğunu onaylayın.
- Çalışma alanında adı
cpu-cluster
olan bir işlem kümesi olduğunu onaylayın veya altında işleminizin adıyla alanıjobs.train_job.compute
düzenleyincompute
.
komutuyla az ml job create
işlem hattı işini çalıştırın.
az ml job create --file single-job-pipeline.yml
İpucu
Önkoşullar bölümünde açıklandığı gibi varsayılan çalışma alanını ve kaynak grubunu yapılandırmadıysanız, çalışması için az ml job create
ve --resource-group
parametrelerini belirtmeniz --workspace-name
gerekir.
İşleri çalıştırma hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Çalışma alanından kayıt defterine veri paylaşma
Aşağıdaki adımlarda, çalışma alanından kayıt defterine var olan bir veri varlığının nasıl paylaşılması gösterilmektedir.
İlk olarak, çalışma alanında bir veri varlığı oluşturun. Dizininde olduğunuzdan cli/assets/data
emin olun. local-folder.yml
Bu dizinde bulunan, çalışma alanında bir veri varlığı oluşturmak için kullanılır. Bu dosyada belirtilen veriler dizininde cli/assets/data/sample-data
kullanılabilir. Dosyanın içeriği aşağıdaki YAML'dir local-folder.yml
:
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: local-folder-example-titanic
description: Dataset created from local folder.
type: uri_folder
path: sample-data/
Çalışma alanında veri varlığını oluşturmak için aşağıdaki komutu kullanın:
az ml data create -f local-folder.yml
Çalışma alanında veri varlıkları oluşturma hakkında daha fazla bilgi için bkz. Veri varlıkları oluşturma.
Çalışma alanında oluşturulan veri varlığı bir kayıt defteriyle paylaşılabilir. Kayıt defterinden, birden çok çalışma alanında kullanılabilir. share işlevinde ve --share_with_version
parametresini geçirdiğimize --share_with_name
dikkat edin. Bu parametreler isteğe bağlıdır ve geçirmezseniz bu veriler çalışma alanıyla aynı ad ve sürümle paylaşılır.
Aşağıdaki örnekte, bir veri varlığını paylaşmak için paylaş komutunun kullanılması gösterilmektedir. değerini, verilerin paylaşılacağı kayıt defterinin adıyla değiştirin <registry-name>
.
az ml data share --name local-folder-example-titanic --version <version-in-workspace> --share-with-name <name-in-registry> --share-with-version <version-in-registry> --registry-name <registry-name>