问题标签 [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 回答
101 浏览

python - Ray Tune 增加内存使用率

我正在使用光线调整运行超参数优化,并且遇到 MemoryError 崩溃。

从概念上讲,代码如下: 训练函数:

调调:

运行它,内存使用量持续增长,尽管在目标函数训练后释放了实例化模型。调优迭代完成后如何丢弃资源?如果这不可能,我如何确保只有一个调优实验同时运行(以便我可以手动从内存中提取不需要的变量)?

SO中的这些问题是相似的,我已经采纳了他们的一些建议(例如明确调用GC),但问题没有解决。

1 2 3 4

0 投票
0 回答
84 浏览

python - 与 Pytorch Lightning 集成时如何恢复 ray-tune 检查点?

我有一个光线调谐分析对象,我能够从中获得最佳检查点:

但我无法用它恢复我的 pytorch 闪电模型。

我尝试:

但是 MyLightningModel 在其构造函数中公开了一个配置,以便光线调谐可以为每个试验设置某些超参数:

因此,当我尝试运行 load_from_checkpoint 时,由于配置未定义,MyLightningModel 的构造函数中出现错误:


TypeError Traceback (last last call last) in () 1 MyLightningModel.load_from_checkpoint( ----> 2 os.path.join(analysis.best_checkpoint, "checkpoint") 3 )

2 帧init (self, config) 3 def init (self, config=None): 4 ----> 5 self.lr = config["lr"] 6 self.batch_size = config["batch_size"] 7 self .layer_size = 配置["layer_size"]

TypeError:“NoneType”对象不可下标

这个应该怎么处理?

0 投票
0 回答
58 浏览

python - Ray Tune 中的嵌套超参数?

我正在使用 Ray Tune,但我对缺少条件/嵌套超参数选项感到失望。看来我必须一起破解一些东西,但由于我不能成为第一个遇到这个问题的人,我想知道其他人是如何解决它的。

假设我的算法有基线模式和高级模式,高级模式有两个参数。这给出了总共 3 个参数。

由于 param_a 和 param_b 仅由高级模式使用,我希望它使用以下参数组合运行:

请注意,基线仅使用一次。

让它在 Ray Tune 中工作的最简单方法是什么?

有没有办法为嵌套条件扩展它?这个例子只有一个条件,但更复杂的试验可能有几个。

当且仅当应该实际使用这些参数时,也应该可以从随机分布中采样参数。

如果我有这样的条件,他们的常见问题解答中建议的解决方案基本上是自己构建整个搜索空间。必须有一种更简单的方法来实现这一点。

0 投票
0 回答
285 浏览

amazon-sagemaker - 演员未完成此任务意外死亡(Ray1.7.0,Sagemaker)

Ray rllib使用库在 8 核 CPU 的 sagemaker 上运行sagemaker_rl,我将 num_workers 设置为 7。

经过长时间的处决后,我面临The actor died unexpectedly before finishing this task

失败 #1(发生在 2021-10-20_18-35-15) Traceback(最近一次调用最后一次):
文件“/usr/local/lib/python3.6/dist-packages/ray/tune/trial_runner.py”,第 467 行,在 _process_trial 结果 = self.trial_executor.fetch_result(trial) 文件“/usr/local/lib/python3.6/dist-packages/ray/tune/ray_trial_executor.py”,第 431 行,在 fetch_result 结果 = ray. get(trial_future[0], DEFAULT_GET_TIMEOUT) File "/usr/local/lib/python3.6/dist-packages/ray/worker.py", line 1517, in get raise value ray.exceptions.RayActorError: 演员意外死亡在完成这项任务之前。

但是每当我改变问题num_worker1,问题就解决了。知道如何解决这个问题吗?

0 投票
0 回答
247 浏览

python - ValueError:演员 ImplicitFunc 太大(106 MiB > FUNCTION_SIZE_ERROR_THRESHOLD=95 MiB)

当我使用光线调整工具箱找到最佳超参数时,我遇到了以下错误:

ValueError:actor ImplicitFunc 太大(106 MiB > FUNCTION_SIZE_ERROR_THRESHOLD=95 MiB)。检查其定义是否未隐式捕获范围内的大型数组或其他对象。提示:使用 ray.put() 将大对象放入 Ray 对象存储中。

你能帮我解决这个错误吗?

非常感谢

0 投票
0 回答
12 浏览

ray-tune - Tune architecture specific parameters in Ray Tune

I’m new to Ray Tune and have a question which I can’t find answers to. I want to tune architecture related parameters, like number of layers, number of feature maps, etc. But these parameters affect the number and distribution of weights in the network, so different networks can’t just swap parameters. As I understand it, population based training tries to use parameters from other networks, but this would create a problem, because trading parameters would change the architecture and it wouldn’t fit with the state_dict anymore.

So I am thinking maybe a search technique exists in raytune where each network always starts from the first epoch (like basic ASAH) but the networks are still crossbred according to their performance, like in PBT. This would work as the networks wouldn’t have to share weights.

I'm using PyTorch by the way.

Any help would be appreciated!!! Thank you!

0 投票
1 回答
107 浏览

python - 在 Ray tune 上使用 GPU 或 CPU

我的机器上有 1 个 GPU 和 32 个 CPU。在 Ray 中是否可以单独使用它们?例如,一个任务分配有 1 个 CPU,而另一个任务分配有 1 个 GPU?如果我使用

这只运行一列火车,因为只有一个 GPU 可用。我知道我可以使用 0.1 GPU 之类的东西,它可以运行多列火车,但我无法知道哪个应该使用 CPU,哪个应该使用 GPU。

0 投票
0 回答
43 浏览

ray - 如何仅检查光线调谐运行中的最佳模型?

注意:在某种程度上,这已经在这里问过了,但我的问题涉及获得最佳检查点的不同方面。

在引用的问题中,作者只希望在光线调谐运行后从一组检查点中检索最佳检查点。我想确保首先保存最好的检查点。所以基本上,我正在寻找类似的东西:

在这个位置,将触发光线检查点回调。检查当前模型状态是否优于当前“最佳检查点”。如果是这样,则删除旧的“最佳检查点”并通过检查当前模型状态来替换它。如果没有,不要触发检查点回调。

原因是我同时测试数百个大型模型,我必须节省磁盘内存。

0 投票
0 回答
38 浏览

python - ray.tune.error.TuneError:不正确的“运行” - 不是字符串也不是可训练的

有人能解释为什么我'raise TuneError("Improper 'run' - not string nor trainable.") ray.tune.error.TuneError: Improper 'run' - not string nor trainable.'从下面的代码中得到(理想情况下如何修复它,因为我有点迷茫,例如我看不到如何在我的配置文件中读取)?请注意,我必须使用 tune.with_parameters() ,因为没有它会耗尽资源。

请注意,我可以看到文档说要运行tune.run(tune.with_parameters(network,data=data),但是当我读取 X_train 数据时,出现错误TypeError: _inner() got an unexpected keyword argument 'data'

0 投票
0 回答
24 浏览

python - 哪个配置导致无效的 beta 参数:1.1203716642316337 - 应该在 [0.0, 1.0) 错误中?

我正在使用 Ray Tune 集成 (1.9.2) 和拥抱面部转换器框架 (4.15.0) 运行超参数调整。

这是负责该过程的代码(基于此示例):

有时,调优会因Invalid beta parameter错误而失败。

我为 adam_beta1 和 adam_beta2 值定义了超参数边界。

哪种配置会导致此错误?