Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在光线中的角色之间共享对象_Python_Python 3.x_Pandas_Ray - Fatal编程技术网

Python 在光线中的角色之间共享对象

Python 在光线中的角色之间共享对象,python,python-3.x,pandas,ray,Python,Python 3.x,Pandas,Ray,如何从多个参与者向同一对象读写数据 医生说: 但这是一个新的副本。在参与者之间使用全局变量(可以读/写)的正确方法是使用包含对象的参与者 Plasma对象是不可变的,您只能在将其复制到worker的堆内存后修改该对象(这意味着此时它不再是全局的) 还要注意,对于您的示例,它不会创建新副本!它使用了一种称为zero copy read()的方法,这意味着只复制带内数据(numpy对象的元数据),带外数据(缓冲区)不会复制到python的堆内存中(它驻留在共享内存中,并且您的ray程序直接指向该内

如何从多个参与者向同一对象读写数据

医生说:


但这是一个新的副本。

在参与者之间使用全局变量(可以读/写)的正确方法是使用包含对象的参与者

Plasma对象是不可变的,您只能在将其复制到worker的堆内存后修改该对象(这意味着此时它不再是全局的)


还要注意,对于您的示例,它不会创建新副本!它使用了一种称为zero copy read()的方法,这意味着只复制带内数据(numpy对象的元数据),带外数据(缓冲区)不会复制到python的堆内存中(它驻留在共享内存中,并且您的ray程序直接指向该内存区域)。

这很有效!回答得很好。谢谢。不过,此解决方案似乎确实会导致此错误:
import numpy as np
a = ray.put(np.zeros(1))
b = ray.get(a)