问题标签 [ray-tune]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1459 浏览

pytorch - pytorch 中的超参数优化(目前使用 sklearn GridSearchCV)

我使用这个(链接)pytorch 教程并希望在其中添加网格搜索功能,sklearn.model_selection.GridSearchCV(链接),以优化超参数。我很难理解 gs.fit(x,y) 中的 X 和 Y 应该是什么;根据文档(链接) x 和 y 应该具有以下结构,但我无法弄清楚如何从代码中获取这些。PennFudanDataset 类的输出以不符合 X、YI 需要的形式返回 img 和 target。n_samples、n_features 是否在以下代码块中或在教程的关于模型的块中?

参数

有没有其他我们可以使用的东西来代替这个特定的教程更容易实现?我读过有关 ray tune( link )、optuna( link ) 等的信息,但它们似乎比这更复杂。我目前也在研究 scipy.optimize.brute( link ),这似乎更简单。

PennFundanDataset 类:

0 投票
3 回答
287 浏览

python - 在 ray.tune 中保存剧集奖励

我正在使用 rllib/ray 在多代理环境中使用 PPO 算法训练几个代理。我正在使用ray.tune()命令来训练代理,然后从~/ray_results. 该数据包含代理在每个训练集中选择的动作,但我还需要相应的代理奖励。我查看了文档,但似乎没有允许保存剧集奖励的配置参数。有没有人有解决方法?

0 投票
0 回答
277 浏览

python - 集群资源不足,无法启动试用 - 只有 0 个 GPU

我正在关注教程(基本上就是这个),以便使用光线调谐进行超参数优化。我的模型在没有优化的情况下在 GPU 上训练良好,但现在我想优化。

我将教程应用到我的代码中,但是当我尝试开始这件事时:

我被困在:

TuneError: Insufficient cluster resources to launch trial: trial 请求 1 个 CPU、1 个 GPU,但集群只有 6 个 CPU、0 个 GPU、12.74 GiB 堆、4.39 GiB 对象(1.0 节点:XXX)。

但话又说回来,当我查看 ray 仪表板时:

射线仪表板

显然列出了两个 GPU。

为什么 ray tune 看不到我的 GPU?我该如何进行这项工作?

眼镜:

//编辑:

[]

0 投票
2 回答
269 浏览

ray - 在 ray tune 中跨多个调用获取不同的配置集

我正在尝试使我的代码可重现。我已经添加了 np.random.seed(...) 和 random.seed(...),目前我没有使用 pytorch 或 tf,因此没有调度器或搜索器可以引入任何随机问题。使用上述代码生成的配置集在多次调用中应该始终相同。然而,事实并非如此。

有人能帮忙吗?

谢谢!

这里的代码:

0 投票
1 回答
884 浏览

tensorflow - 每次使用 Ray Tune 进行第二次试验时内存不足

我正在使用射线调谐调整超参数。该模型构建在 tensorflow 库中,它占用了很大一部分可用的 GPU 内存。我注意到每第二次调用都会报告一个内存不足的错误。看起来内存正在被释放,你可以在 GPU 内存使用图中看到,这是连续试验调用之间的时刻,在这之间发生了 OOM 错误。我补充说,在较小的模型上我没有遇到这个错误,并且图表看起来一样。

如何在第二次试验中处理这种内存不足错误?

内存使用图

0 投票
0 回答
164 浏览

ray - Ray.Tune 的 PB2 在同一训练点的同一 actor 上始终失败,因为 Tune 代码返回 ValueError

我已经使用 ray.tune 的 PB2 开始了几次试验。他们使用 8 个演员,每 20 步扰动一次。Actor 0-6 没有任何问题,但是 Actor 7 在第二个 20 步 epoch 中始终捕获错误。在终端中,我收到以下消息:

我正在使用 2 个 gpus 和 2 个 cpus 进行训练,每个演员各一个。在这个过程中,actor 0-6 已经完成了第二个 epoch 并被暂停。演员 7 是唯一一个正在运行的演员。该试验的 error.txt 文件包含以下内容:

看起来错误消息出现在 ray.tune 代码本身中,除非我遗漏了什么。如果我的调音代码是相关的,我也可以提供。

任何帮助将不胜感激。

0 投票
1 回答
735 浏览

keras - TuneError: ('试验未完成')

我使用 keras 编写了一个程序,用于检测假冒的真实文本(我使用了 5000 个训练数据和 10,000 个测试数据),我使用了 Transformer 和“distilbert-base-uncased”模型进行检测。现在我决定使用网格搜索来调整超参数,但遇到了以下错误:

我写的程序如下:

0 投票
0 回答
104 浏览

python - ray.exceptions.RayTaskError(TuneError) HuggingFace+RayTune

我正在使用带有 HuggingFace 的 Raytune 进行超参数调整,以下是我的代码片段:

但是,我不明白它给了我错误:

输出:[1]:https ://i.stack.imgur.com/1zmM7.png

0 投票
1 回答
46 浏览

ray - ray tune 中是否有“initial_workers”(cluster.yaml)替换机制?

我简要描述了我的用例:假设我想在 AWS 上启动一个有 10 个工作人员的集群:过去我总是使用initial_workers: 10, min_workers: 0, max_workers: 10options ( cluster.yaml) 来将集群启动到最大容量,然后利用集群的自动缩减基于空闲时间。因此,在作业结束时,几乎所有试验都已终止并且不再需要集群的全部容量,节点会自动删除。现在initial_workers选项消失了#12444,我还不清楚如何完成相同的缩小行为。

我尝试了在ray.autoscaler.sdk.request_resources之前和之后请求资源(我也尝试设置,但由于某种原因升级非常缓慢,并且似乎一次只添加一个节点(我正在请​​求 GPU)。也总是只有一个待处理的任务我还不太了解(不幸的是,我也没有时间完全调查这个问题:()tune.runmin_workersupscaling_speed

目前我正在使用上面描述的编程方式,它工作得很好,但是在工作结束时我有很多空闲资源,这些资源在我可以缩减之前运行了几个小时。

如果有人能指出我解决这个问题的正确方向,那就太好了。

谢谢

0 投票
0 回答
67 浏览

machine-learning - 在 tune.run() 完成后 Ray Tune 获取汇总表?

tune.run()跑完了,能不能抓到训练过程中经常打印出来的一个DataFrame或者table的table呢?

这是一个包含所有试验和一些指标的超参数的表格示例。

或者另一个显示整个 Tune 运行概览的汇总表。我将使用此摘要数据自动发送 Slack 通知。