Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Git , projelerinizi paylaşmanızı ve üzerinde işbirliği yapmanızı sağlayan popüler bir sürüm denetim sistemidir. Bu makalede Azure Machine Learning'in bir eğitim işinin parçası olarak depo, dal ve geçerli işleme bilgilerini izlemek için yerel git deposuyla nasıl tümleştirebileceği açıklanmaktadır.
Azure Machine Learning, çalışmayı izlemek için Git depolarını tam olarak destekler. Depoları doğrudan paylaşılan çalışma alanı dosya sisteminize kopyalayabilir, yerel iş istasyonunuzda Git kullanabilir veya sürekli tümleştirme ve sürekli dağıtım (CI/CD) işlem hattından Git'i kullanabilirsiniz.
Yerel git deposundan kaynak dosyaları olan bir Azure Machine Learning eğitim işi gönderdiğinizde, eğitim işinin bir parçası olarak depo hakkındaki bilgiler izlenir. Bilgiler yerel Git deposundan geldiğinden, belirli bir merkezi depoya bağlı değildir. Deponuz GitHub, GitLab, Bitbucket veya Azure DevOps gibi Git uyumlu herhangi bir hizmetten kopyalanabilir.
İpucu
Visual Studio Code'ı kullanarak Git ile grafik kullanıcı arabirimi aracılığıyla etkileşim kurabilirsiniz. Visual Studio Code kullanarak bir Azure Machine Learning uzak işlem örneğine bağlanmak için bkz. Azure Machine Learning ile tümleştirilmiş Visual Studio Code'u başlatma (önizleme).
Visual Studio Code sürüm denetimi özellikleri hakkında daha fazla bilgi için bkz. Visual Studio Code'da Sürüm Denetimi kullanma ve Visual Studio Code'da GitHub ile çalışma.
Git deposunu çalışma alanı dosya sistemine kopyalama
Azure Machine Learning, çalışma alanında bulunan tüm kullanıcılar için paylaşılan bir dosya sistemi sağlar. Git deposunu bu dosya paylaşımına kopyalamanın en iyi yolu bir işlem örneği oluşturmak ve bir terminal açmaktır. Terminalde, tam bir Git istemcisine erişiminiz vardır ve Git CLI kullanarak Git'i kopyalayabilir ve bunlarla çalışabilirsiniz. Daha fazla bilgi için bkz . Git CLI.
GitHub, Azure Repos veya Bitbucket deposu gibi kimlik doğrulaması yapabileceğiniz herhangi bir Git deposunu kopyalayabilirsiniz. Diğer kullanıcıların doğrudan çalışma dalınız üzerinde çarpışmaması için depoyu kullanıcı dizininize kopyalamanız en iyisidir.
İşlem örneğinin yerel dosya sistemine kopyalama ile ~/cloudfiles/code/ dizini olarak bağlanmış paylaşılan dosya sistemine kopyalama arasında bazı farklar vardır. Genel olarak, yerel dosya sistemine kopyalama, bağlı dosya sistemine kopyalamadan daha iyi performans sağlar. Ancak, hesaplama örneğini siler ve yeniden oluşturursanız, bağlı paylaşılan dosya sistemi korunurken yerel dosya sistemi kaybolur.
SSH ile Git deposunu kopyalama
Secure Shell (SSH) protokollerini kullanarak depoyu kopyalayabilirsiniz. SSH kullanmak için SSH anahtarı kullanarak SSH ile Git hesabınızın kimliğini doğrulamanız gerekir.
HTTPS üzerinden kopyalamayı tercih ediyorsanız işlem örneğinizde bir terminal açın ve Git CLI'yi kişisel erişim belirteci ile kullanın. Terminal açma hakkında daha fazla bilgi için bkz. Çalışma alanınızdaki bir işlem örneği terminale erişme.
Bir depoyu SSH üzerinden kopyalamak için şu adımları tamamlayın:
- Bir SSH anahtarı oluşturun.
- Ortak anahtarı Git hesabınıza ekleyin.
- Depoyu kopyalayın.
Aşağıdaki bölümlerde her adım açıklanmaktadır.
Yeni bir SSH anahtarı oluşturma ve kaydetme
Yeni bir SSH anahtarı oluşturmak için Azure Machine Learning stüdyosu Not Defteri sayfasına gidebilir, bir terminal açabilir ve e-posta adresinizin yerine aşağıdaki komutu çalıştırabilirsiniz.
ssh-keygen -t ed25519 -C "your_email@example.com"
Komut aşağıdaki çıkışı döndürür:
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/azureuser/.ssh/id_ed25519):
Önceki çıkıştaki konumun olduğundan /home/azureuser/.sshemin olun veya bu konumu değiştirin ve Enter tuşuna basın.
Daha fazla güvenlik için SSH anahtarınıza parola eklemek en iyisidir. Aşağıdaki istemlerde güvenli bir parola girin.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Enter tuşuna ssh-keygen bastığınızda komut, sağlanan e-posta adresini etiket olarak içeren yeni bir SSH anahtarı oluşturur. Anahtar dosyası işlem örneğine kaydedilir ve yalnızca işlem örneği sahibi tarafından erişilebilir.
Ortak anahtarı Git hesabınıza ekleme
Genel SSH anahtarınızı Git hesabınıza eklemeniz gerekir. Anahtarı almak için terminal pencerenizde aşağıdaki komutu çalıştırın. Anahtar dosyanızın adı farklıysa id_ed25519.pub öğesini genel anahtar dosyanızın adıyla değiştirin.
cat ~/.ssh/id_ed25519.pub
komut, ortak anahtar dosyanızın içeriğini görüntüler. Çıkışı kopyalayın.
İpucu
Terminal penceresine kopyalayıp yapıştırmak için, işletim sisteminize bağlı olarak şu klavye kısayollarını kullanın:
- Windows: Kopyalamak için Ctrl+C veya Ctrl+Insert, yapıştırmak için Ctrl+V veya Ctrl+Shift+V.
- macOS: Kopyalamak için Cmd+C ve yapıştırmak için Cmd+V kullanın.
Bazı tarayıcılar pano izinlerini düzgün desteklemeyebilir.
Git hizmetinize bağlı olarak aşağıdaki yönergeleri kullanarak SSH anahtarını Git hesabınıza ekleyin:
SSH ile Git deposunu kopyalama
Git deposunu kopyalamak için depodan SSH Git kopyalama URL'sini kopyalayın. Terminalinizde, git clone komutunu çalıştırın ve ardından SSH Git klonlama URL'sini ekleyin. Örneğin:
git clone git@example.com:GitUser/azureml-example.git
SSH, aşağıdaki örnekte olduğu gibi sunucunun SSH parmak izini görüntüleyebilir ve doğrulamanızı isteyebilir.
The authenticity of host 'github.com (000.00.000.0)' can't be established.
ECDSA key fingerprint is SHA256:0000000000000000000/00000000/00000000.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
SSH, sizi araya girme saldırılarına karşı korumak için bilinmeyen bir ana bilgisayara bağlandığında bu parmak izini görüntüler. Parmak izinin SSH ortak anahtarlar sayfasındaki parmak izlerinden biriyle eşleşdiğini doğrulamanız gerekir. Konağın parmak izini kabul ettikten sonra, parmak izi değişmediği sürece SSH sizi bir daha sormaz.
SSH aşağıdaki örneğe benzer bir yanıt görüntüler:
Cloning into 'azureml-example'...
Warning: Permanently added 'github.com,000.00.000.0' (ECDSA) to the list of known hosts.
Enter passphrase for key '/home/azureuser/.ssh/id_ed25519':
Parolanızı girdikten sonra Git depoyu klonlar ve gelecekteki Git komutları için kaynak uzak öğesini SSH ile bağlanacak şekilde ayarlar.
Git depolarından gelen kodu izleme
Python SDK'sından veya Machine Learning CLI'dan bir eğitim işi gönderdiğinizde, modeli eğitmek için gereken dosyalar çalışma alanınıza yüklenir.
git Komut geliştirme ortamınızda kullanılabiliyorsa, karşıya yükleme işlemi kaynak dosyaların git deposunda depolanmış olup olmadığını denetler.
Bu durumda işlem, eğitim görevi kapsamında Git deposu, dal ve geçerli commit bilgilerini yükler. Bilgiler tahmin aracı, makine öğrenmesi işlem hattı veya betik çalıştırması kullanan işler için aşağıdaki eğitim işi özelliklerinde depolanır.
| Özellik | Değeri almak için Git komutu | Açıklama |
|---|---|---|
azureml.git.repository_uri veya mlflow.source.git.repoURL |
git ls-remote --get-url |
Deponun kopyalandığı URI. |
azureml.git.branch veya mlflow.source.git.branch |
git symbolic-ref --short HEAD |
İş gönderildiğinde etkin olan dal. |
azureml.git.commit veya mlflow.source.git.commit |
git rev-parse HEAD |
İş için gönderilen kodun commit hash’i. |
azureml.git.dirty |
git status --porcelain . |
True dal veya gönderim kirliyse, aksi takdirde false. |
git Komut geliştirme ortamınızda yoksa veya eğitim dosyalarınız bir Git deposunda yer almıyorsa Git ile ilgili hiçbir bilgi izlenmez.
Note
İşinizde Git özellikleri eksikse, komutun git --version ortamınızda başarılı olduğunu ve eğitim dosyalarınızın kopyalanan depo dizininde olduğunu onaylayın.
İpucu
Komutun git geliştirme ortamınızda kullanılabilir olup olmadığını denetlemek için komutu bir komut satırı arabiriminde çalıştırın git --version . Git yüklüyse ve yolunuz içindeyse, benzeri git version 2.49.0bir yanıt alırsınız. Git'i geliştirme ortamınıza yükleme hakkında bilgi için Git web sitesine bakın.
Git bilgilerini görüntüleme
Git bilgileri, bir eğitim işinin özelliklerinde JSON kodu olarak depolanır. Günlüğe kaydedilen Git bilgileri aşağıdaki özellikleri içerebilir:
"azureml.git.repository_uri": "git@github.com:azure/<repo-name>",
"azureml.git.branch": "<branch-name>",
"azureml.git.commit": "<commit-id>",
"azureml.git.dirty": "<True/False>",
"mlflow.source.git.repoURL": "git@github.com:azure/<repo-name>",
"mlflow.source.git.branch": "<branch-name>",
"mlflow.source.git.commit": "<commit-id>",
Bu bilgileri Azure portalını, Python SDK'sını veya Azure CLI'yı kullanarak görüntüleyebilirsiniz.
Azure portalı
Azure Machine Learning stüdyosu çalışma alanınızda İşler sayfasından işinizi seçin. İşin Genel Bakış sayfasındaki Özellikler bölümünde, Tüm özellikleri görüntüle altında Ham JSON seçeneğini belirleyin.
JSON'da Git özelliklerini arayın, örneğin:
"properties": {
"mlflow.source.git.repoURL": "git@github.com:azure/azureml-examples",
"mlflow.source.git.branch": "main",
"mlflow.source.git.commit": "0000000000000000000000000000000000000000",
"azureml.git.dirty": "False",
...
},
Python SDK V2
Bir eğitim çalıştırması gönderdiğinizde, bir Job nesnesi döndürülür. Bu nesnenin properties özniteliği, kaydedilmiş Git bilgilerini içerir. Örneğin, işleme karması almak için aşağıdaki komutu çalıştırabilirsiniz:
job.properties["mlflow.source.git.commit"]
Azure CLI V2
Git bilgilerini görüntülemek için az ml job show komutunu --query bağımsız değişkeniyle çalıştırabilirsiniz. Örneğin, aşağıdaki sorgu özellik değerini alır mlflow.source.git.commit :
az ml job show --name my-job-id --resource-group my-resource-group --workspace-name my-workspace --query "{GitCommit:properties.\"azureml.git.commit\"}"