Aracılığıyla paylaş


Azure Depolama ile Batch AI iş girişi ve çıkışını depolayın

bu kılavuzda, bir işi çalıştırırken giriş ve çıkış dosyalarını depolamak için Azure Depolama nasıl kullanılacağı açıklanmaktadır. Azure Depolama, Batch AI tarafından desteklenen çeşitli depolama seçeneklerinden biridir. Batch AI, azure Depolama sistemlerini bir Batch AI iş veya küme dosya sistemine bağlayarak bulutta depolanan dosyalara sorunsuz erişim sağlayan azure Depolama ile tümleşir.

Azure Depolama’ya Giriş

Azure Depolama, Microsoft’un bulut depolama çözümüdür. Batch AI, Azure Blob kapsayıcıları ve Azure dosya paylaşımlarını Batch AI işlere veya kümelerine bağlamayı destekleyerek, dosyalara yerel dosya FileSystem 'daymış gibi bir işten erişilmesine izin verir. Batch AI blobsigortasıIle Azure Blob kapsayıcıları ve Azure dosya paylaşımlarını SMB protokolü aracılığıyla takar. azure Depolama hakkında daha fazla bilgi için bkz. azure Depolama 'a giriş.

Azure Depolama veri kümelerini ve giriş betikleri depolayın

Batch AI ortamınız için Azure Depolama ' yi seçtiğinizde, giriş dosyalarınızı (veri kümeleri gibi) daha yüksek aktarım hızına sahip bir Blob kapsayıcısında depolamanızı ve eğitim çıktınızı akışı destekleyen bir dosya paylaşımında depolamanızı (iş eşzamanlı olarak çalışırken çıkış günlüklerinin okunmasına izin vermeyi) öneririz.

azure Depolama kullanabilmeniz için önce bir azure Depolama hesabı oluşturmanızgerekir. Batch AI, hem genel amaçlı v1 (GPv1) hem de genel amaçlı v2 (GPv2) Azure Depolama hesaplarından birimlerinin bağlanmasını destekler. Azure Depolama hesabı birden çok Blob kapsayıcısı veya dosya paylaşma örneği tutabilir. Oluşturulacak depolama hesabı türünü seçerken maliyet ve performans gereksinimlerinizi göz önünde bulundurun. Daha fazla bilgi için bkz. Azure depolama hesabına genel bakış.

Bir blob kapsayıcısı oluşturmak ve veri kümenizi bir Azure Blob kapsayıcısına yüklemek için aşağıdaki yöntemlerden birini seçin:

  • web tabanlı guı ile karşıya yüklemek için Azure portal . az sayıda dosyayı karşıya yüklemek için Azure portal en basit işlemi sağlar.
  • Azure Depolama , komut satırı aracılığıyla karşıya yüklemek için clı (dizin yüklemeyi destekler). Dosya dizinlerini karşıya yüklemek için kullanın az storage blob upload-batch .
  • Uygulama SDK 'larını kullanma da dahil olmak üzere diğer teknikler.

Benzer şekilde, bir Azure dosya paylaşımının oluşturulması için aşağıdaki yöntemlerden birini seçin:

Batch AI ile otomatik depolama

alternatif olarak, ile az batchai cluster create parametresini kullanarak --use-auto-storage bir azure dosya paylaşımının ve Blob kapsayıcısının (ve bu birimleri otomatik olarak bir Batch AI kümesine bağlayabilirsiniz) bir azure Depolama hesabı oluşturabilirsiniz. Daha fazla bilgi için burayabakın.

Azure Depolama bağlama

Bir işe birim bağlama

Azure Depolama bir birimi bağlamak, her iş için oluşturulan filesystem aracılığıyla erişilmesine izin verir. Bu nedenle, bir iş, dosyaları yerel dosyalar gibi bulut depolama alanına sorunsuz bir şekilde okuyup yazabilir.

azure Depolama birimini azure clı ile oluşturulan bir işe bağlamak için, çalışırken az batchai job create dosyanızdaki özelliğini job.json kullanın mountVolumes . Örnek için, bkz. TensorFlow GPU dağıtılmış tarif. Şeması mountVolumes :

{
    "mountVolumes": {
        "azureFileShares": [{
            "azureFileUrl": "https://<STORAGE_ACCOUNT_NAME>.file.core.windows.net/<FILE_SHARE_NAME>",
            "relativeMountPath": "<RELATIVE_MOUNT_PATH>"
        }],
        "azureBlobFileSystems": [{
            "accountName": "<STORAGE_ACCOUNT_NAME>",
            "containerName": "<BLOB_CONTAINER_NAME>",
            "relativeMountPath": "<RELATIVE_MOUNT_PATH>"
        }]
    }
}

azureFileShares ve azureBlobFileSystems takılacak birimleri temsil eden nesne dizilerdir. Yer tutucuların açıklamaları:

  • <RELATIVE_MOUNT_PATH > -birim bu yola bağlanır. Örneğin relativeMountPath , ise jobs , birim konumunda $AZ_BATCHAI_JOB_MOUNT_ROOT/jobs yer alır.
  • <STORAGE_ACCOUNT_NAME > -dosya paylaşımının veya Blob kapsayıcısının tutulduğu Azure Depolama hesabının adı
  • <FILE_SHARE_NAME > -dosya paylaşımının adı
  • <BLOB_CONTAINER_NAME > -BLOB kapsayıcısının adı

Azure Depolama birimlerini Azure Batch aı sdk 'ları ile bağlamak için, (Python) veya MountVolumes (C#, Java) özelliğini ' de JobCreateParameters ayarlayın mount_volumes . Azure Batch aı sdk 'ları ile birim bağlanırken depolama hesabının kimlik bilgilerini sağlamanız gerekir. Python, C#ve Java'da birimleri bağlamak için şemaları görüntüleyin.

Birimleri kümeye bağlama

Batch AI ayrıca, bir Batch AI kümesine Azure Depolama birimlerinin bağlanmasını da destekler. Bir birim bir kümeye bağlandığında, bu kümede çalışan tüm işler bu kümeye bağlanan birimleri kullanabilir. İş düzeyi bağlama en çok esnekliği sağlarken (her bir işin farklı bağlı birimlerine sahip olmasını sağlar), küme düzeyinde bağlama basit senaryolarda yeterli olabilir.

azure Depolama birimini azure clı ile oluşturulan bir kümeye bağlamak için, çalışırken az batchai cluster create dosyanızdaki özelliğini cluster.json kullanın mountVolumes . Bir kümeyi bağlamak için mountVolumes şema, bir işi bağlama sırasında aynıdır.

benzer şekilde, Azure Batch aı sdk 'larını bağlama sırasında üzerinde ClusterCreateParameters (Python) veya MountVolumes (C#, Java) özelliğini kullanabilirsiniz mount_volumes .

Bir iş içindeki bağlı dosya sistemine erişin

$AZ _BATCHAI_JOB_MOUNT_ROOT ortam değişkeni

İşin yürütme ortamı içinde, bağlı depolama sistemlerini içeren dizine, ortam değişkeniyle erişilebilir $AZ_BATCHAI_JOB_MOUNT_ROOT (iş düzeyinde bağlama kullanıyorsanız). Küme düzeyinde bağlama kullanırsanız, bu ortam değişkeni olur $AZ_BATCHAI_MOUNT_ROOT . Aşağıdaki örneklerde iş düzeyinde bağlama kullandığınız varsayılır.

Bağlı bir birimdeki verilerin yolunu sağlamak için, ortam değişkenini $AZ_BATCHAI_JOB_MOUNT_ROOT bağlı yol ile birlikte kullanın. Örneğin, eğitim betiği train.py göreli bağlama yolunda scripts bağlanmış bir Azure dosya paylaşımında karşıya yüklenmişse, dosya ' da kullanılabilir $AZ_BATCHAI_JOB_MOUNT_ROOT/scripts/train.py olacaktır.

Eğitim betiğinizin bir yol bilgisi olması gerekiyorsa, bunu bir komut satırı bağımsız değişkeni olarak geçirmeniz gerekir. Örneğin, verilerinizi yoluna data bağlanmış bir Azure Blob kapsayıcısında adlı train_data bir klasörde depoladıysanız, betiğe komut satırı bağımsız değişkeni olarak geçirebilirsiniz --data-dir=$AZ_BATCHAI_JOB_MOUNT_ROOT/data/train_data . Buna uygun olarak, komut satırı bağımsız değişkenlerini kabul etmek için komut dosyanızı değiştirmeniz gerekir.

Kısaltma girişi yolları

Giriş yollarını bir ortam değişkeni olarak kısaltılabilir, dosyanızın özelliğini job.json kullanın inputDirectories (veya models.JobCreateParameters.input_directories Batch AI SDK kullanıyorsanız). Şeması inputDirectories :

{
    "inputDirectories": [{
        "id": "<ID>",
        "path": "<PATH>" 
    }]
}

Belirtilen her yol, adlı $AZ_BATCHAI_INPUT_<ID> bir ortam değişkenine yerleştirilir. Bu yöntemi kullanmak, dosya veya dizinlerin giriş yollarını basitleştirebilir. Örneğin, bir eğitim betiğinin yolunu kısaltma altına almak için: "id""SCRIPT" ise ve "path""$AZ_BATCHAI_JOB_MOUNT_ROOT/scripts/train.py" ise, bu yol işin yürütme ortamında kullanılabilir $AZ_BATCHAI_INPUT_SCRIPT .

Daha fazla bilgi için burayabakın.

Kısaltma çıkış yolları

Çıkış yollarını bir ortam değişkeni olarak kısaltılabilir, dosyanızın özelliğini job.json kullanın outputDirectories (veya models.JobCreateParameters.output_directories Batch AI SDK kullanıyorsanız). Bu yöntemin kullanılması, çıkış dosyaları için yolları basitleştirecek. Şeması outputDirectories :

{
    "outputDirectories": [{
        "id": "<ID>",
        "pathPrefix": "<PATH_PREFIX>",
        "pathSuffix": "<PATH_SUFFIX>"
    }]
}

Belirtilen her yol, adlı $AZ_BATCHAI_OUTPUT_<ID> bir ortam değişkenine yerleştirilir. , pathPrefix Çıktının depolanması için takılan birimi belirler (örneğin, "$AZ_BATCHAI_JOB_MOUNT_ROOT/output" ). , pathSuffix Çıktının klasör adını belirler (örneğin "logs""checkpoints" ,,). Çıktının gerçek yolu, (her iş için otomatik olarak oluşturulur) ve pathSuffix ' jobOutputDirectoryPathSegment ın pathPrefix bir bitişyoludur.

Daha fazla bilgi için burayabakın.

Azure Depolama iş çıktısını alma

Azure portalı kullanma

Azure portal, bir guı dosya gezgini kullanarak işlerin çıkışını görüntülemenin kolay bir yoludur. ancak, çıktıyı Stdout ve Stderr 'den veya içindeki outputDirectories bir yoldan görüntülemek istiyorsanız, dosyalar Azure Depolama biriminizde bir otomatik olarak oluşturulan yola yerleştirilir. Daha fazla bilgi için aşağıya bakın.

Stdout ve stderr çıktısına erişin

stdOutErrPathPrefixİşi işin yürütme günlüklerinin ve STDOUT 'ın ve stderr çıkışının nereye yerleştirileceğini bildirmek için özelliğini job.json kullanın. Örneğin, göreli bağlama yolunda outputs bir dosya paylaşma bağladıysanız ve öğesini olarak "$AZ_BATCHAI_JOB_MOUNT_ROOT/outputs" belirtirseniz stdOutErrPathPrefix , bu bağlı birimde stdout ve stderr iş çıktısı kullanılabilir {subscription id}/{resource group}/workspaces/{workspace name}/experiments/{experiment name}/jobs/{job name}/{job uuid}/stdouterr olacaktır. Bu otomatik olarak oluşturulan yol, aynı ada sahip işler arasındaki çıkış çakışmalarını engellemek için kullanılır.

Daha fazla bilgi için burayabakın.

Çıkış dosyalarını listeleme

Komutuyla bir işin az batchai job file list kullanılabilir çıkış dosyalarını listelemek Için Azure CLI 'yı kullanabilirsiniz. Örneğin, bir işin standart çıkış dizinindeki dosyaları listelemek için kullanın az batchai job file list -j <JOB_NAME> -g <RESOURCE_GROUP_NAME> -w <WORKSPACE_NAME> -e <EXPERIMENT_NAME> .

Daha fazla bilgi ve örnek için burayabakın.

Akış çıktı dosyaları

Komutuyla dosyaları az batchai job file stream akışa almak Için Azure CLI ' yı kullanabilirsiniz. Örneğin, şunları görüntülemek için:

  • Stdout az batchai job file stream -j <JOB_NAME> -g <RESOURCE_GROUP_NAME> -w <WORKSPACE_NAME> -e <EXPERIMENT_NAME> -f stdout.txt
  • Stderr az batchai job file stream -j <JOB_NAME> -g <RESOURCE_GROUP_NAME> -w <WORKSPACE_NAME> -e <EXPERIMENT_NAME> -f stderr.txt

Daha fazla bilgi ve örnek için burayabakın.

Sonraki adımlar