用于在 git 存储库中写入文件的 Azure ML 操作任务

Azure ML ops task to write a file in git repo

我正在尝试在 azure 中实施 ml ops。我是 运行 通过 devops 中的 azure cli 任务编写的 python 脚本。虽然我可以从 git 文件夹中读取文件,但是 py 脚本无法在 git 中生成输出 csv。奇怪的是它也没有给出任何错误。

我认为文件是在计算实例目录中生成的。如何将其写入 git 文件夹或我在计算引擎中可以看到的任何文件夹。

我遇到过类似的情况,python 在部署后找不到本应存在于 Azure ML 项目文件夹根目录中的文件。经过调查,我意识到 Azure ML 从不同的根文件夹调用您的脚本代码。

下面是一个从您的代码所在的相对路径读取的操作示例:

    SCRIPT_DIRECTORY = os.path.dirname(os.path.realpath(__file__))
    with open(SCRIPT_DIRECTORY+'filename.json', 'w') as outfile:
        json.dump(dict_object, outfile)

然后您可以在输出之前加入 SCRIPT_DIRECTORY 您的 git 文件夹的相对路径。

或者,根据您的评论“./output is not getting created”,您可以强制执行:

os.makedirs("./outputs", exist_ok=True)

exist_ok(可选):此参数使用默认值 False。如果目标目录已经存在,如果其值为 False 则引发 OSError 否则不引发。对于值 True,目录保持不变。