问题标签 [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 投票
1 回答
189 浏览

python - transformers.TrainingArguments 中的“output_dir”是什么意思?

在 huggingface 站点文档上,它显示“将写入模型预测和检查点的输出目录”。我不太明白这是什么意思。我必须为此创建任何文件吗?

0 投票
1 回答
235 浏览

ray - 使用 Ray Tune 进行超参数搜索后的最佳配置

我刚刚运行了我的第一个 Ray Tune。我得到了很好的终端输出,但现在我想知道:哪个配置给了我最好的分数?

我看到有大量的结果文件,但是有没有一种简单的方法来获得最佳配置?

0 投票
1 回答
552 浏览

python - Raytune 在尝试超参数搜索时抛出错误:“模块 'pickle' 没有属性 'PickleBuffer'”

我或多或少遵循这个示例,使用我自己的数据集将光线调谐超参数库与拥抱脸转换器库集成。

这是我的脚本:

最后一次函数调用(对 trainer.hyperparameter_search)是引发错误的时间。错误信息是:

AttributeError:模块“pickle”没有属性“PickleBuffer”

这是完整的堆栈跟踪:


AttributeError Traceback(最近一次调用最后一次)

在 () 8 checkpoint_score_attr="training_iteration", 9 progress_reporter=reporter, ---> 10 name="tune_transformer_gr")

14帧

/usr/local/lib/python3.7/dist-packages/transformers/trainer.py in hyperparameter_search(self, hp_space, compute_objective, n_trials, direction, backend, hp_name, **kwargs) 1666 1667
run_hp_search = run_hp_search_optuna if backend == HPSearchBackend.OPTUNA 否则 run_hp_search_ray -> 1668 best_run = run_hp_search(self, n_trials, direction, **kwargs) 1669 1670 self.hp_search_backend = None

/usr/local/lib/python3.7/dist-packages/transformers/integrations.py in run_hp_search_ray(trainer, n_trials, direction, **kwargs) 231 232 analysis = ray.tune.run(--> 233 ray.tune .with_parameters(_objective, local_trainer=trainer), 234 config=trainer.hp_space(None), 235 num_samples=n_trials,

/usr/local/lib/python3.7/dist-packages/ray/tune/utils/trainable.py in with_parameters(trainable, **kwargs) 294 prefix = f"{str(trainable)}_" 295 for k, v in kwargs.items(): --> 296 parameter_registry.put(prefix + k, v) 297 298 trainable_name = getattr(trainable, " name ", "tune_with_parameters")

/usr/local/lib/python3.7/dist-packages/ray/tune/registry.py in put(self, k, v) 160 self.to_flush[k] = v 161 if ray.is_initialized(): -- > 162 self.flush() 163 164 def get(self, k):

/usr/local/lib/python3.7/dist-packages/ray/tune/registry.py in flush(self) 169 def flush(self): 170 for k, v in self.to_flush.items(): -- > 171 self.references[k] = ray.put(v) 172 self.to_flush.clear() 173

/usr/local/lib/python3.7/dist-packages/ray/_private/client_mode_hook.py in wrapper(*args, **kwargs) 45 if client_mode_should_convert(): 46 return getattr(ray, func.name ) (* args, **kwargs) ---> 47 return func(*args, **kwargs) 48 49 return wrapper

/usr/local/lib/python3.7/dist-packages/ray/worker.py in put(value)
1512 with profiling.profile("ray.put"): 1513 try: -> 1514 object_ref = worker.put_object(值)1515 除了 ObjectStoreFullError:1516 logger.info(

/usr/local/lib/python3.7/dist-packages/ray/worker.py 在 put_object(self, value, object_ref) 259 "插入一个 ObjectRef") 260 --> 261 serialized_value = self.get_serialization_context()。 serialize(value) 262 # 这必须是我们构造这个 python 263 # ObjectRef 的第一个地方,因为在

/usr/local/lib/python3.7/dist-packages/ray/serialization.py in serialize(self, value) 322 return RawSerializedObject(value) 323 else: --> 324 return self._serialize_to_msgpack(value)

/usr/local/lib/python3.7/dist-packages/ray/serialization.py in _serialize_to_msgpack(self, value) 302 metadata = ray_constants.OBJECT_METADATA_TYPE_PYTHON 303 pickle5_serialized_object =
--> 304 self._serialize_to_pickle5(metadata, python_objects) 305 else : 306 pickle5_serialized_object = 无

/usr/local/lib/python3.7/dist-packages/ray/serialization.py in _serialize_to_pickle5(self, metadata, value) 262 例外为 e: 263 self.get_and_clear_contained_object_refs() --> 264 最终引发 e 265: 266 self.set_out_of_band_serialization()

/usr/local/lib/python3.7/dist-packages/ray/serialization.py in _serialize_to_pickle5(self, metadata, value) 259 self.set_in_band_serialization() 260 inband = pickle.dumps(--> 261 value, protocol= 5、buffer_callback=writer.buffer_callback) 262 Exception as e: 263 self.get_and_clear_contained_object_refs()

/usr/local/lib/python3.7/dist-packages/ray/cloudpickle/cloudpickle_fast.py 在转储(obj,protocol,buffer_callback)71 文件中,protocol=protocol,buffer_callback=buffer_callback 72)---> 73 cp。转储(obj) 74 返回文件.getvalue() 75

/usr/local/lib/python3.7/dist-packages/ray/cloudpickle/cloudpickle_fast.py in dump(self, obj) 578 def dump(self, obj): 579 try: --> 580 return Pickler.dump( self, obj) 581 除了 RuntimeError as e: 582 if "recursion" in e.args[0]:

/usr/local/lib/python3.7/dist-packages/pyarrow/io.pxi 在 pyarrow.lib.Buffer 中。reduce_ex ()

AttributeError:模块“pickle”没有属性“PickleBuffer”

我的环境设置:

  • 我正在使用 Google Colab
  • 平台:Linux-5.4.109+-x86_64-with-Ubuntu-18.04-bionic
  • Python版本:3.7.10
  • 变形金刚版本:4.6.1
  • 射线版本:1.3.0

我试过的:

  • 更新泡菜
  • 安装并导入pickle5作为pickle
  • 确保我的直接目录中没有名为“pickle”的 python 文件

这个错误来自哪里,我该如何解决?

0 投票
1 回答
379 浏览

python - 使用带有 tune.with_parameters 的可训练类时出现 Ray Tune 错误

使用来自调整文档本身的非常简单的示例:

https://docs.ray.io/en/master/tune/api_docs/trainable.html?highlight=with_parameters#tune-with-parameters

这将返回错误:

TypeError: init () got an unexpected keyword argument 'dataset'

满的:

我正在使用 ray 版本 1.2.0。

帮助 非常感谢。

0 投票
1 回答
42 浏览

python - 使用光线调谐时,配置中定义的值返回非浮点值

我是新来使用 Ray Tune。我将我的光线配置定义如下:

所以,我试着用这个配置来运行我的曲子。

但是,当我在函数中看到配置值时executor_run,它没有浮点或整数类型。

我怎样才能解决这个问题?:(

0 投票
0 回答
45 浏览

python - 在 SGE 集群上运行 ray (tune) 的问题

我正在尝试在 SGE 集群上运行 ray.tune 以优化 pytorch 中模型的超参数。该代码在我的笔记本电脑上运行良好(但内存不足 - 因此我要使用集群)但是在我的大学集群上运行时出现错误:

我的作业脚本如下所示(没有一些与请求集群资源相关的标题行):

我的 python 代码使用以下内容初始化 ray:

我也试过这个没有指定地址/redis密码并使用address='auto',但这给出了同样的错误。

任何帮助将不胜感激,谢谢!

0 投票
0 回答
18 浏览

ray-tune - 如何在光线调谐中获得最佳迭代次数

如果我在没有调度程序的情况下使用光线调谐,我如何确定网络开始过度拟合的迭代次数?即,当模型在验证集上获得最佳分数时,我需要进行迭代。

0 投票
0 回答
9 浏览

hyperparameters - 在 RayTune 中使用约束

我正在使用 RayTune 来调整函数 ax + by + cz 中使用的超参数 a、b 和 c。此外,我在 RayTune 中使用以下搜索选项:config = { "a": tune.uniform(0.001, 1.0), "b": tune.uniform(0.001, 1.0), "c": tune.uniform(0.001, 1.0) }

我想将额外的约束设置为:0 < a, b, c < 1.0a+b+c = 1.0

你能建议如何做到这一点吗?谢谢!

0 投票
1 回答
486 浏览

python - Ray[tune] for pytorch TypeError: ray.cloudpickle.dumps

我在开始使用 Ray 的曲调时遇到了麻烦。我有一个要训练的 PyTorch 模型,我正在尝试使用这个库进行微调。我对 Raytune 很陌生,所以请多多包涵并帮助我了解错误的根源。

我的训练功能:

在这里我训练尝试调整:

和我得到的错误:

我的猜测是我遗漏了一些明显的东西,我在 SO 或 github 上找不到这个错误。谢谢。

0 投票
0 回答
45 浏览

python - 一次运行 ray tune 1 次迭代

我正在使用mnist 示例通过光线调谐进行超参数优化。我正在尝试一次运行 1 次迭代(从不同的系统调用 tune.run),我希望它从中断的位置继续搜索。但是,在使用诸如 restore 之类的参数时,我会收到如下错误:

FileNotFoundError: Checkpoint directory not found for

当我使用 resume=True 时,我收到如下错误:

ValueError: Called resume (True) when no checkpoint exists in local directory

有没有办法控制 tune run 命令以便我可以恢复它?