我在主函数/进程中使用了日志模块,它运行良好,但在 Actor 进程/子进程中似乎无法运行。如何使它工作?在下面的代码示例中,logging.info 在主进程中工作,但在工作进程中失败。谢谢。
import logging
import ray
@ray.remote
class Worker(object):
...
def train(self):
logging.info("fail print")
...
worker = Worker.remote()
ray.get(worker.train.remote())
logging.info("successful print")
Run Code Online (Sandbox Code Playgroud) 当我将 Ray 与 pytorch 一起使用时,我没有为远程类设置任何 num_gpus 标志。
我收到以下错误:
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False.
Run Code Online (Sandbox Code Playgroud)
主要过程是:我创建了一个远程类,并将一个pytorch模型state_dict()(created in main function)传给它。在主函数中,torch.cuda.is_available()是True,但在远程函数中,torch.cuda.is_available()是False。谢谢
我尝试设置 num_gpus=1 并遇到一个新问题:程序卡住了。以下是重现此问题的最小示例代码。谢谢。
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False.
Run Code Online (Sandbox Code Playgroud)