Git-integráció a Azure Machine LearningGit integration for Azure Machine Learning

A git egy népszerű verziókövető rendszer, amely lehetővé teszi a projektek megosztását és együttműködését.Git is a popular version control system that allows you to share and collaborate on your projects.

A Azure Machine Learning teljes mértékben támogatja a nyomon követéshez használható git-Tárházak használatát – a Tárházak közvetlenül a megosztott munkaterület fájlrendszerére, a git használata a helyi munkaállomáson, vagy a git használata CI/CD-folyamatból.Azure Machine Learning fully supports Git repositories for tracking work - you can clone repositories directly onto your shared workspace file system, use Git on your local workstation, or use Git from a CI/CD pipeline.

Ha Azure Machine Learningre küld el egy feladatot, ha a forrásfájlok egy helyi git-tárházban tárolódnak, akkor a rendszer a betanítási folyamat részeként nyomon követi a tárházra vonatkozó információkat.When submitting a job to Azure Machine Learning, if source files are stored in a local git repository then information about the repo is tracked as part of the training process.

Mivel Azure Machine Learning nyomon követi a helyi git-tárház adatait, nem kötődik egyetlen konkrét központi adattárhoz sem.Since Azure Machine Learning tracks information from a local git repo, it isn't tied to any specific central repository. A tárházat a GitHub, a GitLab, a bitbucket, az Azure DevOps vagy más git-kompatibilis szolgáltatásból lehet klónozott.Your repository can be cloned from GitHub, GitLab, Bitbucket, Azure DevOps, or any other git-compatible service.

Tipp

A Visual Studio Code használatával a git a grafikus felhasználói felületen keresztül kommunikálhat.Use Visual Studio Code to interact with Git through a graphical user interface. Ha a Visual Studio Code használatával szeretne csatlakozni egy Azure Machine Learning távoli számítási példányhoz, tekintse meg a következőt: kapcsolódás Azure Machine learning számítási példányhoz a Visual Studio Code-ban (előzetes verzió)To connect to an Azure Machine Learning remote compute instance using Visual Studio Code, see Connect to an Azure Machine Learning compute instance in Visual Studio Code (preview)

A Visual Studio Code Version Control funkcióival kapcsolatos további információkért lásd: a Version Control használata a vs Code -ban, és a GITHUB használata a vs Code-ban.For more information on Visual Studio Code version control features, see Using Version Control in VS Code and Working with GitHub in VS Code.

Git-adattárak klónozása a munkaterület fájlrendszerébeClone Git repositories into your workspace file system

Azure Machine Learning megosztott fájlrendszert biztosít a munkaterület összes felhasználója számára.Azure Machine Learning provides a shared file system for all users in the workspace. Ha a git-tárházat ebbe a fájlmegosztásba szeretné klónozott, javasoljuk, hogy hozzon létre egy számítási példányt & Nyisson meg egy terminált.To clone a Git repository into this file share, we recommend that you create a compute instance & open a terminal. Miután megnyitotta a terminált, egy teljes git-ügyfélhez férhet hozzá, és a git parancssori felületén keresztül klónozott és dolgozhat a git használatával.Once the terminal is opened, you have access to a full Git client and can clone and work with Git via the Git CLI experience.

Azt javasoljuk, hogy a tárházat a felhasználók könyvtárába klónozással, hogy mások ne hozzanak ütközéseket közvetlenül a munkaágra.We recommend that you clone the repository into your users directory so that others will not make collisions directly on your working branch.

A (GitHub, Azure Repos, BitBucket stb.) használatával bármilyen git-tárház klónozását végezheti el.You can clone any Git repository you can authenticate to (GitHub, Azure Repos, BitBucket, etc.)

A klónozással kapcsolatos további információkért tekintse meg a git parancssori felület használatánakútmutatója című témakört.For more information about cloning, see the guide on how to use Git CLI.

A git-fiók hitelesítése SSH-valAuthenticate your Git Account with SSH

Új SSH-kulcs létrehozásaGenerate a new SSH key

  1. Nyissa meg a terminál ablakot a Azure Machine learning notebook lapon.Open the terminal window in the Azure Machine Learning Notebook Tab.

  2. Illessze be az alábbi szöveget az e-mail-címébe való Behelyettesítéssel.Paste the text below, substituting in your email address.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Ez egy új SSH-kulcsot hoz létre, amely a megadott e-mail-címkét használja.This creates a new ssh key, using the provided email as a label.

> Generating public/private rsa key pair.
  1. Amikor a rendszer arra kéri, hogy "adjon meg egy fájlt, amelybe menteni szeretné a kulcsot" nyomja le az ENTER billentyűt.When you're prompted to "Enter a file in which to save the key" press Enter. Ez a fájl alapértelmezett helyét fogadja el.This accepts the default file location.

  2. Győződjön meg arról, hogy az alapértelmezett hely a "/Home/azureuser/.ssh", majd nyomja le az ENTER billentyűt.Verify that the default location is '/home/azureuser/.ssh' and press enter. Egyéb esetben a "/Home/azureuser/.ssh" helyet kell megadni.Otherwise specify the location '/home/azureuser/.ssh'.

Tipp

Győződjön meg róla, hogy az SSH-kulcs a "/Home/azureuser/.ssh" mappába van mentve.Make sure the SSH key is saved in '/home/azureuser/.ssh'. Ezt a fájlt a számítási példányon menti a rendszer, csak a számítási példány tulajdonosa férhet hozzá.This file is saved on the compute instance is only accessible by the owner of the Compute Instance

> Enter a file in which to save the key (/home/azureuser/.ssh/id_rsa): [Press enter]
  1. A parancssorba írja be a biztonságos hozzáférési kódot.At the prompt, type a secure passphrase. Azt javasoljuk, hogy adjon hozzá egy hozzáférési kódot az SSH-kulcshoz a további biztonság érdekébenWe recommend you add a passphrase to your SSH key for added security
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

A nyilvános kulcs hozzáadása a git-fiókhozAdd the public key to Git Account

  1. Másolja ki a nyilvános kulcs fájljának tartalmát a terminál ablakban.In your terminal window, copy the contents of your public key file. Ha átnevezte a kulcsot, cserélje le a id_rsa. pub fájlt a nyilvános kulcs fájljának nevére.If you renamed the key, replace id_rsa.pub with the public key file name.
cat ~/.ssh/id_rsa.pub

Tipp

Másolás és beillesztés a terminálonCopy and Paste in Terminal

  • Windows: Ctrl-Insert Másolás és használat Ctrl-Shift-v vagy Shift-Insert Beillesztés.Windows: Ctrl-Insert to copy and use Ctrl-Shift-v or Shift-Insert to paste.
  • Mac OS: Cmd-c a másoláshoz és Cmd-v a beillesztéshez.Mac OS: Cmd-c to copy and Cmd-v to paste.
  • A FireFox/IE nem támogatja megfelelően a vágólap-engedélyeket.FireFox/IE may not support clipboard permissions properly.
  1. Válassza ki és másolja a vágólapra a kulcs kimenetét.Select and copy the key output in the clipboard.

A git-tárház klónozása SSH-valClone the Git repository with SSH

  1. Másolja az SSH git Clone URL-címét a git-tárházból.Copy the SSH Git clone URL from the Git repo.

  2. Illessze be az URL-címet az git clone alábbi parancsba az SSH git-tárház URL-címének használatához.Paste the url into the git clone command below, to use your SSH Git repo URL. Ez a következőképpen fog kinézni:This will look something like:

git clone git@example.com:GitUser/azureml-example.git
Cloning into 'azureml-example'...

A következőhöz hasonló választ fog látni:You will see a response like:

The authenticity of host 'example.com (192.30.255.112)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.255.112' (RSA) to the list of known hosts.

Előfordulhat, hogy az SSH megjeleníti a kiszolgáló SSH-ujjlenyomatát, és megkéri, hogy ellenőrizze.SSH may display the server's SSH fingerprint and ask you to verify it. Győződjön meg arról, hogy a megjelenített ujjlenyomat megegyezik az SSH nyilvános kulcsok oldalának egyik ujjlenyomatával.You should verify that the displayed fingerprint matches one of the fingerprints in the SSH public keys page.

Az SSH ezt az ujjlenyomatot jeleníti meg, amikor egy ismeretlen gazdagéphez csatlakozik, és így védelmet nyújt a támadók számára.SSH displays this fingerprint when it connects to an unknown host to protect you from man-in-the-middle attacks. Ha elfogadja a gazdagép ujjlenyomatát, az SSH nem kérdezi újra, ha az ujjlenyomat megváltozása megtörténik.Once you accept the host's fingerprint, SSH will not prompt you again unless the fingerprint changes.

  1. Ha a rendszer megkérdezi, hogy szeretné-e folytatni a csatlakozást, írja be a következőt: yes .When you are asked if you want to continue connecting, type yes. A git a tárház klónozásával és az SSH-val a későbbi git-parancsokkal való kapcsolódáshoz állítja be a forrás távoli kapcsolatot.Git will clone the repo and set up the origin remote to connect with SSH for future Git commands.

A git-adattárakból származó kód nyomon követéseTrack code that comes from Git repositories

Amikor beküld egy képzést a Python SDK-ból vagy Machine Learning CLI-ből, a modell betanításához szükséges fájlok fel lesznek töltve a munkaterületre.When you submit a training run from the Python SDK or Machine Learning CLI, the files needed to train the model are uploaded to your workspace. Ha a git parancs elérhető a fejlesztői környezetben, a feltöltési folyamat azt a segítségével ellenőrizze, hogy a fájlok egy git-tárházban tárolódnak-e.If the git command is available on your development environment, the upload process uses it to check if the files are stored in a git repository. Ha igen, akkor a git-tárházból származó információk is fel vannak töltve a betanítási Futtatás részeként.If so, then information from your git repository is also uploaded as part of the training run. Ezeket az adatokat a következő tulajdonságok tárolják a betanítási futtatáshoz:This information is stored in the following properties for the training run:

TulajdonságProperty Az érték beolvasásához használt git-parancsGit command used to get the value DescriptionDescription
azureml.git.repository_uri git ls-remote --get-url Az a URI, amelyből a tárház klónozott volt.The URI that your repository was cloned from.
mlflow.source.git.repoURL git ls-remote --get-url Az a URI, amelyből a tárház klónozott volt.The URI that your repository was cloned from.
azureml.git.branch git symbolic-ref --short HEAD Az aktív ág a Futtatás elküldését követően.The active branch when the run was submitted.
mlflow.source.git.branch git symbolic-ref --short HEAD Az aktív ág a Futtatás elküldését követően.The active branch when the run was submitted.
azureml.git.commit git rev-parse HEAD A futtatáshoz benyújtott kód véglegesítő kivonata.The commit hash of the code that was submitted for the run.
mlflow.source.git.commit git rev-parse HEAD A futtatáshoz benyújtott kód véglegesítő kivonata.The commit hash of the code that was submitted for the run.
azureml.git.dirty git status --porcelain . True, ha a ág/véglegesítés piszkos; Ellenkező esetben false .True, if the branch/commit is dirty; otherwise, false.

Ezeket az információkat a rendszer a becsléseket, a gépi tanulási folyamatot vagy a parancsfájlok futtatását használó futtatásokhoz továbbítja.This information is sent for runs that use an estimator, machine learning pipeline, or script run.

Ha a képzési fájlok nem egy git-tárházban találhatók a fejlesztői környezetben, vagy a git parancs nem érhető el, a rendszer nem követi a git-hez kapcsolódó adatokat.If your training files are not located in a git repository on your development environment, or the git command is not available, then no git-related information is tracked.

Tipp

Ha szeretné megnézni, hogy a git-parancs elérhető-e a fejlesztői környezetben, nyisson meg egy rendszerhéj-munkamenetet, parancssort, PowerShell-t vagy más parancssori felületet, és írja be a következő parancsot:To check if the git command is available on your development environment, open a shell session, command prompt, PowerShell or other command line interface and type the following command:

git --version

Ha telepítve van, és az elérési úton, a következőhöz hasonló választ kap: git version 2.4.1 .If installed, and in the path, you receive a response similar to git version 2.4.1. A git fejlesztési környezetben való telepítésével kapcsolatos további információkért tekintse meg a git webhelyét.For more information on installing git on your development environment, see the Git website.

Naplózott adatok megtekintéseView the logged information

A git-adatokat egy tanítási Futtatás tulajdonságai tárolják.The git information is stored in the properties for a training run. Ezeket az információkat a Azure Portal, a Python SDK és a CLI használatával tekintheti meg.You can view this information using the Azure portal, Python SDK, and CLI.

Azure PortalAzure portal

  1. A Studio portálonválassza ki a munkaterületet.From the studio portal, select your workspace.
  2. Válassza a kísérletek lehetőséget, majd válassza ki az egyik kísérletet.Select Experiments, and then select one of your experiments.
  3. Válassza ki a futtatások száma oszlop egyik futtatását.Select one of the runs from the RUN NUMBER column.
  4. Válassza a kimenetek + naplók lehetőséget, majd bontsa ki a naplók és a azureml bejegyzéseket.Select Outputs + logs, and then expand the logs and azureml entries. Válassza ki a hivatkozást, amely az ### _ Azure-ban kezdődik.Select the link that begins with ###_azure.

A naplózott információ a következő JSON-hoz hasonló szöveget tartalmaz:The logged information contains text similar to the following JSON:

"properties": {
    "_azureml.ComputeTargetType": "batchai",
    "ContentSnapshotId": "5ca66406-cbac-4d7d-bc95-f5a51dd3e57e",
    "azureml.git.repository_uri": "git@github.com:azure/machinelearningnotebooks",
    "mlflow.source.git.repoURL": "git@github.com:azure/machinelearningnotebooks",
    "azureml.git.branch": "master",
    "mlflow.source.git.branch": "master",
    "azureml.git.commit": "4d2b93784676893f8e346d5f0b9fb894a9cf0742",
    "mlflow.source.git.commit": "4d2b93784676893f8e346d5f0b9fb894a9cf0742",
    "azureml.git.dirty": "True",
    "AzureML.DerivedImageName": "azureml/azureml_9d3568242c6bfef9631879915768deaf",
    "ProcessInfoFile": "azureml-logs/process_info.json",
    "ProcessStatusFile": "azureml-logs/process_status.json"
}

Python SDKPython SDK

A betanítási Futtatás elküldése után a rendszer egy futtatási objektumot ad vissza.After submitting a training run, a Run object is returned. Az properties objektum attribútuma tartalmazza a naplózott git-információkat.The properties attribute of this object contains the logged git information. A következő kód például lekéri a véglegesítő kivonatot:For example, the following code retrieves the commit hash:

run.properties['azureml.git.commit']

parancssori felületCLI

A az ml run CLI-parancs használatával lekérheti a tulajdonságokat egy futtatásból.The az ml run CLI command can be used to retrieve the properties from a run. A következő parancs például visszaadja a (z) nevű kísérlet utolsó futtatásának tulajdonságait train-on-amlcompute :For example, the following command returns the properties for the last run in the experiment named train-on-amlcompute:

az ml run list -e train-on-amlcompute --last 1 -w myworkspace -g myresourcegroup --query '[].properties'

További információ: az ml Run Reference dokumentáció.For more information, see the az ml run reference documentation.

Következő lépésekNext steps