python - 使用 joblib 的全局对象
问题描述
我想更好地了解joblib如何处理全局对象。考虑以下简单示例。
from joblib import Parallel, delayed
class Engine:
def f(self, x):
return x+2
engine = Engine()
def run_engine(x):
return engine.f(x)
def main():
res = Parallel(n_jobs=5)(delayed(run_engine)(x) for x in range(0,100))
print(res)
if __name__ == '__main__':
main()
engine
反对会发生什么?它会被所有衍生的进程复制或以某种方式共享吗?
如果抄袭,有没有序列化要求?n_jobs
每次调用将复制多少次,次或一次run_engine
?是否复制了范围内的所有对象,或者joblib 是否以某种方式神奇地推断出哪些是必要的?
解决方案
推荐阅读
- angular - 以具有输入和复选框字段的角度拖放表格列
- python-3.x - TypeError:“类型”对象在聚类期间不可下标
- machine-learning - 为什么我们在添加多个神经网络输出时采用相同维度的层?
- c# - 尝试在 localhost 上运行 asp.net core 应用程序时出现错误 404
- php - 发布具有相同名称的多维输入数据
- java - 如何从两个来源加载spring应用程序中的配置,其中需要来自第一个来源的配置才能加载第二个来源
- asp.net-core - asp.net core 2.1 防止多用户同时登录
- flutter - Dart/Flutter 持续时间从毫秒
- java - JTree 数据未从数据库加载 (MySQL)
- python - 如何将 csvfile 中的 Nan 列读入 python 以便可以使用数据?