docker run -it danielschneider/hello python hello.py
> hello world
下面介绍如何在AzureML中的群集节点上运行该命令
1.创建包含以下内容的yaml文件,并将其保存为test.yaml:
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
type: command
environment:
image: danielschneider/hello
command: |
cd /
python hello.py
# replace below cpu-cluster with the name of your compute target
compute: azureml:cpu-cluster
1条答案
按热度按时间ef1yzkbh1#
你当然可以运行一个已经有训练脚本的Docker。你只需要记住两件事:
CMD
,而是执行你为你的作业提供的命令。1.当AzureML在你的Docker上执行命令时,它会在放置
code
文件的文件夹中执行。如果你没有任何文件夹,那将是一个空文件夹。所以你应该在执行命令前导航到正确的文件夹。这里有一个使用简单docker
danielschneider/hello
的例子,它包含python和一hello.py输出hello world
的www.example.com文件。如果您在本地运行它,它将执行以下操作:
下面介绍如何在AzureML中的群集节点上运行该命令
1.创建包含以下内容的yaml文件,并将其保存为
test.yaml
:1.使用CLI执行作业:
(this当然,需要安装Azure CLI和AzureML扩展--有关说明,请参见here)
有关上述YAML的一些详细信息
$schema
和type
不是必需的,但它们有助于VSCode在您编辑文件时提供智能感知。environment
显然指向docker.io我的hello
映像的www.example.com位置。您可以指向工作区容器注册表(或连接到您的工作区的任何其他容器注册表)中的任何公共映像或私有映像。此外,您还可以从您的工作区或附加的注册表指向已注册的环境。command
是在docker上执行的命令。正如您所看到的,在执行命令之前,我导航到根目录,因为hello.py
位于docker映像中。请注意,|
是开始多行字符串的标准YAML表示法。对于
compute
,您显然必须使用您想要在其上运行映像的任何计算。