问题标签 [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.

0 投票
0 回答
42 浏览

python - `export OPENBLAS_NUM_THREADS=1`后CPU使用率有时超过100%是正常现象吗?

我正在使用 ray 来实现 Ape-X。按照这个指令,我设置export OPENBLAS_NUM_THREADS=1(我已经验证我使用的 Numpy 使用 OPENBLAS via np.__config__.show())并且tf.Session配置如下

然后我打开top。大多数时候,我可以看到所有工作人员使用的 CPU 少于 100%。但是偶尔,我会看到一些 CPU 使用率超过 100%,如下图所示。我想知道这是否是正常现象?如果是错误,错误可能是什么?

在此处输入图像描述

0 投票
1 回答
83 浏览

ray - 您可以为调度程序与一般调整试验使用不同的停止条件吗

在 Ray Tune 中,对于调度程序和试验是否可以使用不同的停止条件,是否有任何指导?下面,我有一个基于 停止的异步超频带调度程序neg_mean_loss,并基于 调整自身停止mean_f1

我应该对两者都使用相同的还是没关系?

0 投票
1 回答
299 浏览

kubernetes - 在 kubernetes 集群上使用带有 Jupyterhub 的 ray

我正在使用 Jupyterhub 和 Ray 构建 Kubernetes 集群,并希望用户访问 Jupyterhub 并在 k8s 上使用 Ray 集群。我的计划是使用 Jupyterhub 笔记本“ https://ray.readthedocs.io/en/latest/api.html ”中的 Ray API 连接 Ray 集群

然而,当我跑

我想知道我的方法是否是正确的方法以及如何解决错误。

0 投票
1 回答
996 浏览

amazon-ec2 - 从 Ray.remote 并行 Python 3 函数返回值的问题

我一直在使用 Ray 开发一个 EC2 并行云应用程序来设置集群和调度任务。然而,我有一个问题一直困扰着我。以下是一个非常简化的程序(在 3 个工作人员上运行)来说明它:-

这个的输出是: -

忽略警告,难题在于在 test_loop 的第一次迭代期间读取了 pop 的值,并行返回了三个乘积向量。但是,在下一次迭代中,pop 的值翻了一番,test_loop 将忽略它并保留旧值。谁能解释这里发生了什么,以及如何让远程函数调用按我的预期工作?

注意我不认为这是一个范围问题:pop 是全局定义的,并且没有在 test_loop 中重新分配。

0 投票
1 回答
32 浏览

ray - 是否可以肯定地将一名工作人员分配给集群中的一台主机?

我希望将每个工作人员分配给集群中的不同主机。例如,我有一个包含 3 台主机的集群,IP 地址分别为 192.168.0.100、192.168.0.101、192.168.0.102。我想创建 3 个工作人员,并将每个工作的任务分配给不同的主机。有可能吗?

0 投票
1 回答
1937 浏览

python - ray `num_cpus` 是否用于实际分配 CPU?

使用 ray 框架时,有一个选项可以选择此任务所需的 CPU 数量,如此所述。

前任:

但是,尚不清楚是否会有实际的 CPU 分配:

  1. 该函数将被分配4CPU(例如使用 CPU 亲和性,如tasksetlinux 命令或cpusetdocker 参数)
  2. 或者调度器将num_cpus仅在内部使用它作为调度元数据。让 ex 决定他是否可以开始一个需要 16 个 cpu 的新任务,其中只剩下 10 个。该任务仍然可以访问所有 CPU,并且可以“使用”比请求更多的 CPU 时间num_cpus

选项 2 似乎更有可能,但这在文档中没有说明。此外,GPU 似乎有一种选项 1,这使得调度程序的意图不清楚:

Ray 将自动为该进程设置环境变量 CUDA_VISIBLE_DEVICES。

该进程被配置为使用某个 GPU(但可以通过 reset 绕过它CUDA_VISIBLE_DEVICES

那么,num_cpus在ray中是如何使用的呢?

0 投票
1 回答
152 浏览

python - 自定义模型权重不变(张量流)

我正在尝试在赛车模拟器中训练代理。我已经建立了一个自定义模型。我发现训练期间权重没有变化。

我正在尝试在赛车模拟器中训练代理。我按照此处的说明构建了一个自定义模型。我使用文档中显示的python API。我打印了权重(按weights = trainer.workers.foreach_worker(lambda ev: ev.get_policy().get_weights())),我发现很大一部分权重没有改变。

定制型号:

自定义预处理器:

培训代码:

我发现很大一部分权重没有变化。我不知道为什么。

0 投票
1 回答
222 浏览

python - Ray 的 RLlib 如何使用 LazyFrames?

我试图找出 RLLib 如何有效地使用帧,即它如何避免将重复的帧保存到内存中,这在 OpenAI 基线中是通过 LazyFrames 完成的。

在 Ray 的 RLLibatari_wrapper.py中,似乎所有观察结果都以普通 ndarray 格式存储:https ://github.com/ray-project/ray/blob/master/python/ray/rllib/env/atari_wrappers.py#L253

这与 OpenAI 基线中通常使用 LazyFrames 形成鲜明对比:https ://github.com/openai/baselines/blob/master/baselines/common/atari_wrappers.py#L217

这样做是因为 PyArrow 不能使用 LazyFrames 并且需要 numpy 数组吗?即使是这种情况,鉴于 RLLib 中的 _get_ob 输出是 4 个观察值的串联 numpy 数组,内存需求也不会比单独保存 4 个观察值并通过射线对象 ID 链接它们高得多? 我在这里想念什么?

0 投票
1 回答
69 浏览

c++ - Ray-AABB 交集函数的类隶属关系

我正在编写用于在 3D 空间中拾取鼠标的代码。到目前为止,我已经制作了 Ray 和 AABB 课程。我需要的是 Ray-AABB 相交的功能。我知道如何编写它并使其工作,我的问题是哪个类应该定义所述功能?它应该是 Ray 的成员还是 AABB 的成员,两者都不是?面向对象方法的最佳实践是什么?

对我来说,将该函数实现为“引擎”类的成员是最有意义的,更像是一个过程而不是一个函数。但是我希望我的代码真正面向对象。

0 投票
0 回答
631 浏览

python - 自定义观察空间的适当 conv_filter 规范是什么?

我正在尝试创建一个自定义 openai 健身房环境以用于光线强化学习环境。

目前我有一个 (6, 94) 的观察空间。但是,当我尝试在自定义环境中进行训练时,出现错误:

文档内容如下:

它没有具体说明要实现什么,也没有任何指向文献的链接来指定“模型”和“conv_filters”应该做什么。

对于 (6,94) 的情况,“dim”应该是 6 还是 94?conv_filters 是保持原样,还是每个形状都需要某种网络架构?如果是这样,链接在哪里?

编辑:事实证明它想要 CNN 的参数,现在尝试调整值,使其输出到所需的输出空间。

编辑2:

github 上提供的目录不是最新的 0.7.2:

https://github.com/ray-project/ray/blob/master/python/ray/rllib/models/catalog.py