简单的 ray python 示例无法让它并行执行

问题描述

对 ray 相当陌生,所以请耐心等待。我创建了以下示例来测试简单图像算法的光线和非光线实现之间的时间差。为什么以下代码没有并行执行?我可以在仪表板上看到所有东西都只加载到一个工人

.inline-wrapper > span{
  vertical-align: middle;
    text-align: center;
      padding: 10px;


}
h3{
  text-align: center;
  font-size: 1rem;
  padding: 10px;
  justify-content: space-around;
}

解决方法

你正在创建一个actor(你的类的一个远程对象),actor任务是串行执行的:

https://docs.ray.io/en/master/walkthrough.html#calling-the-actor

对于并行执行,只需去掉类:

@ray.remote
def color(self):
    return cv2.imread("frame30.png",flags=0)

@ray.remote
def black(self):
    return cv2.imread("frame30.png",flags=0)

futures = [color.remote(),black.remote()]  # Will execute in parallel
ray.get(futures)