gpt4 book ai didi

python - 这个 joblib 并行语法是做什么的?这么多括号

转载 作者:行者123 更新时间:2023-12-01 02:21:15 26 4
gpt4 key购买 nike

Scikit-learn 经常使用 joblibParallel(n_jobs=n_jobs)(delayed(function)(param_to_function) for param_to_function in iterable) 等调用并行化。。 p>

This helpful question and answer表明这个双括号业务意味着第二个集合被传递给涉及第一个集合的调用返回的任何内容,如果返回的东西是可调用的,那么这很有意义。

但是这里 Parallel(n_jobs=n_jobs) 返回的东西应该是一个 Parallel 对象,对吗?然后我们向它传递一个由第二个括号中的循环给出的生成器对象。在这样的构造之后,您不应该能够直接将生成器传递给类。对象和输入之间应该有一些函数调用。或者在Python中是否有__some_special_function__可以使用这种语法?

这个语法到底是做什么的?

最佳答案

“特殊功能”可能只是一个__call__ method 。具有该方法的类的实例可以像函数一样被调用。在这种情况下,Parallel 大概定义了 __call__ 来接受生成器。

(注意,这并不是说像您的示例那样编写代码是个好主意。这毫无必要地令人困惑。)

关于python - 这个 joblib 并行语法是做什么的?这么多括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47929831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com