无法在 MLEngineTrainingOperator 中指定 master_type

2024-01-10

我正在使用气流来安排管道,这将导致使用人工智能平台训练 scikitlearn 模型。我用这个 DAG 来训练它

    with models.DAG(JOB_NAME,
                    schedule_interval=None,
                    default_args=default_args) as dag:

        # Tasks definition
        training_op = MLEngineTrainingOperator(
            task_id='submit_job_for_training',
            project_id=PROJECT,
            job_id=job_id,
            package_uris=[os.path.join(TRAINER_BIN)],
            training_python_module=TRAINER_MODULE,
            runtime_version=RUNTIME_VERSION,
            region='europe-west1',
            training_args=[
                '--base-dir={}'.format(BASE_DIR),
                '--event-date=20200212',
            ],
            python_version='3.5')
        training_op

训练包加载所需的 csv 文件并在其上训练 RandomForestClassifier。

在文件的数量和大小增加之前,这种方法可以正常工作。然后我得到这个错误:

ERROR - The replica master 0 ran out-of-memory and exited with a non-zero status of 9(SIGKILL). To find out more about why your job exited please check the logs:

文件的总大小约为 4 GB。我不知道使用的默认机器是什么,但这似乎还不够。希望这能解决内存消耗问题我尝试更改参数n_jobs的分类器来自-1 to 1,不再有运气。

查看 MLEngineTrainingOperator 的代码和文档,我添加了一个自定义的scale_tier和一个master_type n1-highmem-8、8个CPU和52GB的RAM,如下所示:

with models.DAG(JOB_NAME,
                schedule_interval=None,
                default_args=default_args) as dag:

    # Tasks definition
    training_op = MLEngineTrainingOperator(
        task_id='submit_job_for_training',
        project_id=PROJECT,
        job_id=job_id,
        package_uris=[os.path.join(TRAINER_BIN)],
        training_python_module=TRAINER_MODULE,
        runtime_version=RUNTIME_VERSION,
        region='europe-west1',
        master_type="n1-highmem-8",
        scale_tier="custom",
        training_args=[
            '--base-dir={}'.format(BASE_DIR),
            '--event-date=20200116',
        ],
        python_version='3.5')
    training_op

这导致了另一个错误:

ERROR - <HttpError 400 when requesting https://ml.googleapis.com/v1/projects/MY_PROJECT/jobs?alt=json returned "Field: master_type Error: Master type must be specified for the CUSTOM scale tier.">

我不知道出了什么问题,但似乎这不是这样做的方法。

编辑:使用命令行我设法启动该作业:

gcloud ai-platform jobs submit training training_job_name --packages=gs://path/to/package/package.tar.gz --python-version=3.5 --region=europe-west1 --runtime-version=1.14 --module-name=trainer.train --scale-tier=CUSTOM --master-machine-type=n1-highmem-16

不过我想在气流中做到这一点。

任何帮助将非常感激。

编辑:我的环境使用旧版本的 apache airflow 1.10.3,其中不存在 master_type 参数。 更新版本到1.10.6解决了这个问题


我的环境使用旧版本的 apache airflow 1.10.3,其中不存在 master_type 参数。更新版本到1.10.6解决了这个问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在 MLEngineTrainingOperator 中指定 master_type 的相关文章

随机推荐

  • PHP DateTime DateInterval isset 在 var_dump 之后发生变化

    该对象中的任何变量都是 isset 但如果我使用 var dump interval 或 print r interval 这些变量就会变成 isset 这也适用于empty empty 所以在下面的代码中 interval gt i最初是
  • HttpClient 4.1 出现 SSL“对等未验证”错误

    我正在构建一个简单的应用程序监视器来轮询我们的 API URL 之一 如果无法从响应中获取 HTTP 200 状态代码 则向我们发送电子邮件 这表明我们的 API 由于某种原因已关闭 我正在使用 HttpClient4 1 这很重要 因为它
  • 从 Google Play 商店安装应用程序后仅显示卸载按钮

    从 Google Play 商店安装应用程序后 打开按钮就会消失 它只显示卸载按钮 我找不到设备上列出的我的应用程序 我已经在不同的设备上尝试过 但结果是相同的 我现在的版本是34 以前的版本还可以 这是安装应用程序后的屏幕截图 您从项目的
  • Google Maps API - 获取地址坐标

    我想将地址转换为长 纬度 有没有什么方法可以在不使用 JavaScript 的情况下做到这一点 因为就我而言 没有必要display任何事情 因为转换是在后台进行的 你正在寻找的东西叫做地理编码 http en wikipedia org
  • 局部函数中声明的值类型变量是否是堆栈分配的?

    我正在阅读最近介绍的本地函数 并开始思考这个问题 Afaik lambda 中值类型的局部变量是在堆中分配的 此外 在捕获值类型时 本地函数比 lambda 更有优势 在这种情况下不需要额外的堆分配 我仍然不清楚 局部函数中声明的局部值类型
  • 无法让“Hello World”与 Angular JS 一起使用

    我正在尝试学习有关 AngularJS 基础知识的 PluralSight 课程 这家伙的代码和我的代码如下
  • 检查连接四个字段的算法

    我想知道在四人制比赛中检查获胜者的最佳方法是什么 我对你们的想法感兴趣 以及是否有一些 众所周知 的算法可以解决此类问题 解决方案 我用 Python 实现了 Ardavan 的哈希表解决方案 我让算法在每个字段上运行一次 在我的 Inte
  • python pandas dataframe 聚合 groupby

    我的 pandas DataFrame 有很多行和列 这里只显示三行 date place number 2010 LON 10 2010 BER 20 2010 LON 5 2011 LON 10 2011 BER 15 2011 BER
  • 比较两列,并返回 Excel 中的特定相邻单元格

    我正在使用以下组合if vlookup match iserror函数 不幸的是我没能找到正确的公式 比较两列的匹配情况非常容易 困难的部分是在找到匹配项后返回特定的单元格 所以我正在处理的是这样的事情 Header Column A Co
  • iOS 10 不调用通知服务扩展

    我尝试实现新的通知服务扩展 但遇到问题 在我的NotificationService swift 文件中 我有以下代码 class NotificationService UNNotificationServiceExtension var
  • 在android studio中的所有活动中保留帐户信息

    我的应用程序只是一个管理数据库应用程序 我设置了一个远程 mysql 服务器 我的 android studio 应用程序使用 http post 请求连接到该服务器 假设我想在所有活动中保留用户名 密码等帐户信息 现在我使用 putExt
  • CUBA:实体继承

    提供的示例 实体继承 具有以下实体模型 顾客 公司拓展客户 人扩展客户 命令 OrderEdit 屏幕显示如何处理与客户 可以是公司或个人 关联的字段的继承 这是非常清楚的 但是 公司和个人的编辑屏幕不考虑继承 它们只是复制通常从客户继承的
  • 为什么线程 10000 次 start() 调用比 10000 次 run() 调用花费更多时间?

    我正在线程上做一个 hello world 我使用以下命令创建了一个简单的线程run 调用 这只是一个普通的方法调用 和一个使用 start 调用的重复线程 它会生成另一个线程来处理 但是 start 通话次数多于run 调用 这不是线程调
  • 使用Maven部署后如何运行测试?

    我正在尝试决定如何为 Java EE Web 应用程序创建一组验收测试 设置如下 Maven 用于生成 WAR 文件并将其部署到 Glassfish 中 部署时 MySQL 数据库架构会使用 Hibernate hbm2ddl auto 选
  • 将 Prawn PDF 保存为回形针附件?

    我使用 Prawn 和 Prawnto 向用户显示基于 PDF 的报告 但在某些情况下 我还想将 PDF 保存为我的模型之一的附件 我所有的附件都使用回形针 有人对如何做到这一点有任何建议吗 Thanks 使用 prawnto 时 您需要评
  • :not(:first-child) 和 :not(:first-of-type) 不起作用

    我有一个树系统 我想做的是给除了第一个父母之外的所有父母留出余地 这是我的 HTML div div class theBody div class someContainer div class someItemClass Test di
  • 如何使用JPA持久化LocalDate?

    我想将没有时间的日期存储到我的数据库中 所以 我选择使用LocalDate type 正如这篇文章中提到的 如何使用 JPA 持久保存 LocalDate 和 LocalDateTime2 1 https thoughts on java
  • 如何向 Python 单元测试提供标准输入、文件和环境变量输入?

    如何在出现以下情况时编写测试 测试用户输入 测试从文件读取的输入 测试从环境变量读取的输入 如果有人能告诉我如何处理上述场景 那就太好了 如果您能给我指出一些我可以的文档 文章 博客文章 那就太棒了 读 您所描述的所有三种情况都是您需要特别
  • 带有大文件的 Amazon s3 上的 dask read_csv 超时

    s3 上的 dask read csv 大文件超时 s3fs S3FileSystem read timeout 5184000 one day s3fs S3FileSystem connect timeout 5184000 one d
  • 无法在 MLEngineTrainingOperator 中指定 master_type

    我正在使用气流来安排管道 这将导致使用人工智能平台训练 scikitlearn 模型 我用这个 DAG 来训练它 with models DAG JOB NAME schedule interval None default args de