Python 当我运行p.start()时,我得到了TypeError:&x27;发电机&x27;对象不可调用

Python 当我运行p.start()时,我得到了TypeError:&x27;发电机&x27;对象不可调用,python,pytorch,Python,Pytorch,当我运行p.start()时,这里有一个错误,下面是错误消息,任何人都可以帮助我,谢谢: if __name__ == '__main__': # num_processes = 4 # NOTE: this is required for the ``fork`` method to work torch.manual_seed(args.seed) cnn.share_memory() processes = [

当我运行
p.start()
时,这里有一个错误,下面是错误消息,任何人都可以帮助我,谢谢:

if __name__ == '__main__':
        # num_processes = 4
        # NOTE: this is required for the ``fork`` method to work
        torch.manual_seed(args.seed)
        cnn.share_memory()
        processes = []
        for rank in range(args.num_processes):
            p = mu.Process(target=train.train, args=(rank, train_iter, dev_iter, cnn, args,))
            p.start()
            processes.append(p)
        for p in processes:
            p.join()
回溯(最近一次呼叫最后一次):
文件“E:/workspace/pycharmworkspace/cnn文本分类pytorch update/main.py”,第144行,在
p、 开始()
文件“C:\Users\bamtercelboo\Anaconda3\lib\multiprocessing\process.py”,第105行,在开始处
self.\u popen=self.\u popen(self)
文件“C:\Users\bamtercelboo\Anaconda3\lib\multiprocessing\context.py”,第223行,以Popen格式
返回_default_context.get_context().Process._Popen(Process_obj)
文件“C:\Users\bamtercelboo\Anaconda3\lib\multiprocessing\context.py”,第322行,在\u Popen中
返回Popen(过程对象)
文件“C:\Users\bamtercelboo\Anaconda3\lib\multiprocessing\popen\u spawn\u win32.py”,第65行,在初始化中__
减少.转储(进程对象,到子进程)
文件“C:\Users\bamtercelboo\Anaconda3\lib\multiprocessing\reduce.py”,第60行,转储文件
ForkingPickler(文件、协议).dump(obj)
TypeError:“生成器”对象不可调用

看起来可能是
train.train
不是一个函数?哇,但是train.train是一个函数谢谢你的帮助,如果我像follow这样更改代码,它可以运行,但是train.train确实是一个函数。这个代码不限制进程的数量。p=mu.Process(target=train.train(rank,train_iter,dev_iter,cnn,args))
p=mu.Process(target=train.train(rank,train_iter,dev_iter,cnn,args))
看起来您在调用
target
参数中的函数,或者(更可能是
train.train
是返回函数的生成器。你能把火车的代码贴出来吗?火车?我昨天已经解决了,谢谢你的帮助
Traceback (most recent call last):
  File "E:/workspace/pycharmworkspace/cnn-text-classification-pytorch-update/main.py", line 144, in <module>
    p.start()
  File "C:\Users\bamtercelboo\Anaconda3\lib\multiprocessing\process.py", line 105, in start
    self._popen = self._Popen(self)
  File "C:\Users\bamtercelboo\Anaconda3\lib\multiprocessing\context.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "C:\Users\bamtercelboo\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
    return Popen(process_obj)
  File "C:\Users\bamtercelboo\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 65, in __init__
    reduction.dump(process_obj, to_child)
  File "C:\Users\bamtercelboo\Anaconda3\lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: 'generator' object is not callable