RecBole:AttributeError: module ‘ray.tune’ has no attribute ‘report’

news/2024/12/21 21:23:39/

        在执行 RecBole run_hyper.py 时,遇到 AttributeError: module ‘ray.tune’ has no attribute ‘report’,记录解决方法。

目录

Ray-toc" style="margin-left:40px;">1. Ray

1.1 介绍

1.2 安装

1.2.1 机器学习应用程序

Python%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F-toc" style="margin-left:120px;">1.2.2 一般 Python 应用程序

2. 问题与解决

2.1 问题

2.2 解决


Ray">1. Ray

1.1 介绍

        引用 Ray 官方介绍。

Ray is an open-source unified framework for scaling AI and Python applications like machine learning. It provides the compute layer for parallel processing so that you don’t need to be a distributed systems expert.

Ray 是一个开源统一框架,用于扩展 AI Python 应用程序(如机器学习)。它提供了用于并行处理的计算层,因此您无需成为分布式系统专家。

1.2 安装

1.2.1 机器学习应用程序
pip install -U "ray[data,train,tune,serve]"# For reinforcement learning support, install RLlib instead.
# pip install -U "ray[rllib]"
Python%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F">1.2.2 一般 Python 应用程序
pip install -U "ray[default]"# If you don't want Ray Dashboard or Cluster Launcher, install Ray with minimal dependencies instead.
# pip install -U "ray"

2. 问题与解决

2.1 问题

        问题出现在 recbole.quick_start.quick_start.objective_function 方法中的 tune.report(**test_result)

        错误提示为:

AttributeError: module ‘ray.tune’ has no attribute ‘report

2.2 解决

        Ray 官方文档给出了新的接口 API。

        解决方案是先 from ray import train,然后通过 train.report(metrics: Dict, *, checkpoint: Checkpoint | None = None) → None 来执行。即更改为:

from ray import traindef objective_function(config_dict=None, config_file_list=None, saved=True):
...more codetest_result = trainer.evaluate(test_data, load_best_model=saved)train.report(**test_result)
...more code

        注意,这里 report 方法接收 Dict 参数,**test_result** 表示解析字典。


http://www.ppmy.cn/news/1536830.html

相关文章

浏览器前端向后端提供服务

WEB后端向浏览器前端提供服务是最常见的场景,前端向后端的接口发起GET或者POST请求,后端收到请求后执行服务器端任务进行处理,完成后向前端发送响应。 那浏览器前端向后端提供服务是什么鬼? 说来话长,长话短说。我在人…

Java 集合实现类

Java 集合实现类 ​ Java 提供了一套实现了 Collection 接口的标准集合类。其中一些是具体类,这些类可以直接拿来使用,而另外一些是抽象类,提供了接口的部分实现 序号类描述1AbstractCollection 实现了大部分的集合接口。2AbstractList 继承…

[Linux] Linux 的进程如何调度——Linux的 O(1)进程调度算法

标题:[Linux] Linux 的进程如何调度——优先级与进程调度 个人主页水墨不写bug 目录 一、前言 二、将要出现的概念 1.进程调度队列 2.位图 3.进程的优先级 三、Linux进程的调度过程 1.活动队列(*active指向的队列) 2.过期队列&#…

力扣SQL仅数据库(1098~1132)

1098 小众书籍 需求 编写解决方案,筛选出过去一年中订单总量 少于 10 本 的 书籍,并且 不考虑 上架距今销售 不满一个月 的书籍 。假设今天是 2019-06-23 。 返回结果表 无顺序要求 。 数据准备 Create table If Not Exists Books (book_id int, nam…

【Docker从入门到进阶】03.进阶应用

3. 进阶应用 在本节中,我们将深入探讨Docker的高级应用,包括如何通过Dockerfile定义和构建镜像,数据管理的最佳实践,网络配置,以及如何使用Docker Compose来管理多容器应用。 基本指令详解 FROM: 可以使用特定版本的…

滚雪球学MySQL[8.2讲]:MySQL事件调度详解:定时任务的创建与管理及使用场景

全文目录: 前言8.2 MySQL事件调度1. 定时任务的创建与管理1.1 启用事件调度器1.2 创建定时任务1.2.1 一次性任务1.2.2 周期性任务1.2.3 管理事件的有效期 1.3 修改与删除事件1.3.1 修改事件1.3.2 删除事件 1.4 查看事件状态与执行日志 2. 事件调度器的使用场景2.1 数…

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(2)Keras

文章目录 前言一、Keras二、使用Kears 估计回归问题的神经网络1. 载入、处理数据2. 数据预处理:归一化3. 设定一系列随机数种子4. 定义了一个简单的深度神经网络5. 训练模型6. 查看训练结果7. 使用最优轮数(index1)重新估计 此神经网络模型8.…

速盾:游戏加速下载可以用cdn吗?

随着互联网的快速发展,游戏下载已经成为许多游戏玩家的常见需求。然而,由于游戏文件体积庞大,下载速度经常成为制约因素之一。为了解决这个问题,许多玩家开始寻找可以加速游戏下载速度的方法。其中一种常见的方法是使用CDN&#x…