Hi, here’s a simplified version of my code:
import ray
class Foo:
def __init__(self, x):
self.x = x
def run(self):
pass
@classmethod
def main(cls, x):
main_instance = cls(x)
main_instance.run()
@ray.remote
class Bar(Foo):
def run(self):
return self.x
ray.init()
x = ray.get(Bar.main.remote(1))
We have a base class Foo
with classmethod main
, and we want to make the subclass Bar
a Ray Actor. The code above returns
Traceback (most recent call last):
File "test.py", line 22, in <module>
x = ray.get(Bar.main.remote(1))
AttributeError: 'function' object has no attribute 'remote'
What is the correct way to implement something like this so that we could use the classmethod Bar.main.remote(1)
?
Ray version: 1.12.0