问题标签 [ray]
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.
ray - 如何更改运行Ray的run_experiments()时生成的实验文件路径?
我在我的代码中使用以下规范来生成实验:
请注意,我曾经grid_search
尝试过各种学习率。问题"lr_schedule"
定义为:
因此,当生成实验检查点时,它的路径名中有很多内容[
,使解释器无法读取路径。像这样:
逻辑解决方案是手动重命名它,但我发现它的名称在其他文件中引用,如experiment_state.json
,因此最好的解决方案是设置自定义实验路径和名称。
我在文档中没有找到任何东西。
如果有帮助,这是我的项目
有人可以帮忙吗?
提前致谢
distributed - `ray up` 仅在头部启动 Docker 容器
我正在尝试使用Ray库在带有 Docker 的多台远程机器上启动运行。根据文档,我ray up CONFIG_YAML
用来设置集群并ray submit [OPTIONS] CLUSTER_CONFIG_FILE SCRIPT
在其上运行脚本。问题是进程/容器只在头节点上启动,而没有在工作人员上运行。
检查源,ray up CONFIG_YAML
调用函数create_or_update_cluster
和ray submit [OPTIONS] CLUSTER_CONFIG_FILE SCRIPT
调用submit
。这些似乎都没有与除了头部之外的任何节点进行交互。
这是我的 Dockerfile:https ://github.com/lobachevzky/ppo/blob/debug/Dockerfile
这是我的集群配置文件:https ://github.com/lobachevzky/ppo/blob/debug/tune.yaml
这是我的脚本:https ://github.com/lobachevzky/ppo/blob/debug/tune_script.py
python - How to make the inputs and model have the same shape (RLlib Ray Sagemaker reinforcement learning)
I have a mismatch in shapes between inputs and the model of my reinforcement learning project.
I have been closely following the AWS examples, specifically the cartpole example. However I have built my own custom environment. What I am struggling to understand is how to change my environment so that it is able to work with the prebuilt Ray RLEstimator.
Here is the code for the environment:
Here is the training script
Here is the code I run in Jupyter:
The error message I have been receiving has been the following:
I am not sure how to change the input the environment gives to the model or the models setup itself. It seems the documentations are quite obscure. I have a hunch that problem lies with the observation and action spaces
Here is the reference to the original aws project example: https://github.com/awslabs/amazon-sagemaker-examples/tree/master/reinforcement_learning/rl_roboschool_ray
python - 实现随机搜索的选项有哪些?
所以我想实现随机搜索,但没有明确的例子来说明如何做到这一点。我对以下方法感到困惑:
- 调.randint()
- ray.tune.suggest.BasicVariantGenerator()
- tune.sample_from(lambda 规范:等等等等 np.random.choice())
有人可以解释一下这些方法在实现随机搜索时如何以及为什么相同/不同。
python - Python 中的光线执行
我已安装 Ray 以提高 Intel® Celeron(R) CPU N3060 @ 1.60GHz × 2 中 Caffe 对象检测代码的性能。我遇到以下错误:
我没有尝试过任何东西,因为我得到了两个不同的输出。请找到代码片段
lr - 如何动态改变 RLlib 训练代理的学习率
我正在使用 ray RLlib 库在 5-in-a-row 游戏中训练多智能体 Trainer。这是零和环境,所以我有代理行为退化的问题(总是赢得第一个代理,5 步获胜)。我有一个想法以这种方式改变代理的学习率:首先训练第一个代理,第二个随机训练,学习率为零。在第一个代理学会如何赢得超过 90% 的游戏后切换。然后重复但是在构造函数中初始化后我无法更改学习率。这可能吗?
我试图在 while True 循环中添加这些行
它没有帮助
tensorflow2.0 - Ray Tensorflow-gpu 2.0 RecursionError
系统信息
操作系统平台和发行版(例如,Linux Ubuntu 16.04):Ubuntu 18.04
Ray 安装自(源代码或二进制文件):binary
射线版本:0.7.3
Python版本:3.7
TensorFlow 版本:tensorflow-gpu 2.0.0rc0
重现的确切命令:
描述问题
我正在尝试使用 Ray 使用 Tensorflow 2.0-gpu Keras 演员并行化 OpenAI 健身房环境的推出。每次我尝试使用 @ray.remote 实例化 Keras 模型时,它都会引发递归深度达到错误。我正在关注 Ray 概述的文档,建议传递权重而不是模型。我不确定我在这里做错了什么,有什么想法吗?
源代码/日志
文件“/home/jacob/anaconda3/envs/tf-2.0-gpu/lib/python3.7/site-packages/tensorflow/init.py”,第 50 行,在 getattr 模块 = self._load()
_load module = _importlib.import_module(self.name) 中的文件“/home/jacob/anaconda3/envs/tf-2.0-gpu/lib/python3.7/site-packages/tensorflow/init.py”,第 44 行
RecursionError:超出最大递归深度
python - 有没有办法限制 Ray 对象存储的最大内存使用量
我正在尝试利用 Ray 的并行化模型来逐条处理文件记录。代码运行良好,但对象存储增长迅速并最终崩溃。我避免使用 ray.get(function.remote()) 因为它会降低性能,因为该任务由几百万个子任务和等待任务完成的开销组成。有没有办法为对象存储设置全局限制?
python - 使用 Ray 进行基本集群计算和数据管理
我正在尝试使用Ray在不同的计算机上运行并行科学模拟。我希望能够更改模拟中的参数并运行同一案例的许多不同版本以检查其影响。
教程和示例与Ray一起工作顺利。但是,我正在努力让事情适合我的情况:
- 我需要使用更改的参数复制模板文件。我可以
file_mounts
在 yaml 文件中复制原始文件。os.chdir
但是,除了在 python 文件中,我找不到更改工作目录的方法。使用 ray start 启动集群时,工作目录是我所在的位置,但使用 yaml 文件,它位于每个节点的家中。 - 我希望能够使用 yaml 文件更改 cpu 的数量,就像 /li>
但是,我找不到办法做到这一点。
如果您可以为我的需求提供一个简单的基本案例,那就太好了!
python - AWS EC2 集群上的工作人员在一些迭代后引发 RayOutOfMemory 错误?
我在 AWS 上启动了一个 ray 集群来为我的tf.keras
模型执行一些网格搜索。对于几乎所有的工作(大约 500 个),工作人员RayOutOfMemory
在一些迭代(6 到 53 之间)后抛出异常,我无法弄清楚问题出在哪里,也无法检测到任何模式。当我在本地运行时,每个作业占用的内存少于 1 GiB。如果作业本身不适合内存,那么我希望工作人员在第一次迭代中就提出错误。
集群包括: 头节点:m4.large(2 x vCPU,8GiB 内存) Workers:50 x m4.xlarge(4 x vCPU,16 GiB 内存)
我将每个工人的资源设置为{'cpu': 2, 'memory': 4 * 1024 ** 3}
.
我得到以下错误输出:
我观察到的事情:当我登录到引发错误的工作节点时,我在 (top/htop) 中看不到任何可疑的东西。在引发错误之后安排的作业也可以在错误发生之前运行几次迭代。所以内存占用似乎是暂时的事情。
我从文档中了解到,共享对象存储使用了每个工作人员的部分堆内存。50 个工作人员的共享对象存储是否会增长到在几次迭代后的某个时间点耗尽所有工作人员的内存?
我还将每个工作人员的内存增加到 6 GiB,但稍后工作人员的内存就用完了。
有人对此问题有解释和解决方案吗?