似乎有 6 个泄漏的信号量对象在关闭警告时需要清理。warn('resource_tracker:似乎有 %d



我正在尝试通过python 3.8在Firebase实时数据库上进行测试连接。我有两个脚本,一个是wdata(写数据(,另一个是rdata(读数据(。wdata.py是:

from firebase import firebase
firebase = firebase.FirebaseApplication("https://test-282f7.firebaseio.com/", None)
datos={
        'id':'99',
        'primer_sensor':'1111',
        'segundo_sensor':'512'
        } 
resultado=firebase.post('/tutorial_firebase/datos_post', datos)
read = firebase.get('/tutorial_firebase/datos_post', datos)

这个脚本返回相同的错误,但它插入";datos";firebase中的值。

rdata.py是:

from firebase import firebase 
firebase = firebase.FirebaseApplication("https://test- 282f7.firebaseio.com/", None) 
lectura = firebase.get('/tutorial_firebase/datos_post', datos_post) 
print (lectura)

此代码还返回一个错误。错误为:

/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/multiprocessing/resource_tracker.py:216: UserWarning: resource_tracker: There appear to be 6 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '

有人能告诉我错误在哪里吗?我该如何修复它?

p.s.:

我的python编译器是:python 3.8.2。(用3.7我安装firebase,但它返回"ModuleNotFoundError"(我在macOS Catalina 10.15.7上尝试在VS Code和MacVIM中进行编译,但结果相同。

提前感谢您!

我在进行深度学习时遇到了和你一样的问题,问题是我在内存中加载了太多数据。请确保您不会试图在RAM中加载超过其容量的数据。

如果这个问题发生在训练(深度学习(中,那是因为ram容量。batch参数使用较小的值。

我在使用Python的concurrent.futures库时遇到了这个错误。我使用ProcessPoolExecutor并行处理大型数据集。

起初,我所有的代码都在一个文件上(因为它需要作为一个函数部署(,我通过if __name__ == '__main__':保护入口点,这是文档中的最佳实践。

一旦我开始测试线程和多处理的不同配置,我就创建了一个单独的main.py文件,这样它就可以抽象出我正在原型设计的工作流。

这里是我忘记用if __name__ == '__main__':保护main.py的地方,并收到以下错误:

RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.
        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:
            if __name__ == '__main__':
                freeze_support()
                ...
        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

我相信这导致了太多的进程,最终通过脚本运行了我的数据集的多个副本。这最终导致了最初的错误,这种错误似乎发生在其他运行深度学习工作负载的人身上,他们建议解决方案是减少批量大小,以避免超过内存使用量。

这里的总体教训是,在使用Process Pools时,请注意按照文档的建议保护它们。

相关内容

最新更新