如何在 ray 中打印出哪个 worker 执行了什么功能,而不是在仪表板上查找?
How to print out what function was executed by which worker in ray instead of looking it up on the dashboard?
我能够在 ray 仪表板上看到哪些功能分配给了哪个工作人员。是否可以打印出哪个函数由哪个工作人员执行,而不是在仪表板上查找?
代码示例:
@ray.remote
def mul1(x):
return x*x
@ray.remote
def mul2(y):
return y*y
@ray.remote
def add(x,y):
return x+y
futures = add.remote(mul1.remote(2), mul2.remote(3))
ray.get(futures)
期望输出
PID: 2838 - mul2()
PID: 2848 - black()
PID: 2838 - add()
我完全没有使用 ray 的经验,但是从纯粹的 python 方面你可以写一个简单的装饰器:
def print_name(func):
@wraps(func)
def deco(*args, **kwargs):
print(func.__name__)
return func(*args, **kwargs)
return deco
放在@ray.remote
下
使用示例:
@ray.remote
@print_name
def my_func():
pass
我能够在 ray 仪表板上看到哪些功能分配给了哪个工作人员。是否可以打印出哪个函数由哪个工作人员执行,而不是在仪表板上查找?
代码示例:
@ray.remote
def mul1(x):
return x*x
@ray.remote
def mul2(y):
return y*y
@ray.remote
def add(x,y):
return x+y
futures = add.remote(mul1.remote(2), mul2.remote(3))
ray.get(futures)
期望输出
PID: 2838 - mul2()
PID: 2848 - black()
PID: 2838 - add()
我完全没有使用 ray 的经验,但是从纯粹的 python 方面你可以写一个简单的装饰器:
def print_name(func):
@wraps(func)
def deco(*args, **kwargs):
print(func.__name__)
return func(*args, **kwargs)
return deco
放在@ray.remote
下
使用示例:
@ray.remote
@print_name
def my_func():
pass