最近在用Python进行联邦学习代码复现的过程中遇到个bug,目前没有解决,遂发优快云求助。
报错如下:
Exception ignored in: <function local_cpp_executor_factory.<locals>.ServiceManager.__del__ at 0x702a9e0ed790>
Traceback (most recent call last):
File "/envs/python3.9/lib/python3.9/site-packages/tensorflow_federated/python/core/impl/executor_stacks/executor_factory.py", line 114, in __del__
AttributeError: 'NoneType' object has no attribute 'Popen'
可以看出这是由于调用TFF时,在执行执行器executor_factory.py文件时,__del__方法里的subprocess.Popen 对象不存在导致的。然而原代码中根本没有调用tff文件,并且实验不管出什么错误,最终都会返回报错没有“Popen”对象,这让我非常郁闷和费解。
在百度和谷歌里也没找的有用的解决方案,目前我认为可能是由于版本不匹配导致,我用的是Python3.9和TensorFlow 2.14.1。希望有遇到并解决过的朋友为我解惑,感谢!