问题标签 [joblib]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
154 浏览

python-2.7 - joblib失败后如何释放shm内存

我已经启动了使用joblib(sklearn GridSearchCV)的python任务并且我停止了操作(Ctrl-C),之后它停止了

最后我杀死了父亲进程,现在我被 /dev/shm 中的文件卡住了如何安全地删除它们?

0 投票
0 回答
306 浏览

python - Heroku Flask 应用程序崩溃中的取消选择模型?

在本地,当我使用它解开我的 sklearn 模型时,joblib.load()它工作得很好。我已将其部署到 S3 并将其加载到 Heroku 上的烧瓶应用程序中(我已确保它正常工作)。

但是,当我heroku logs在部署后运行时,我看到以下内容classifier = joblib.load(classifierFile)

请帮忙。

0 投票
0 回答
756 浏览

python-3.x - 在 python 3.5 上使用带有 lxml 的 joblib 时引发 SyntaxError

我正在尝试用 Python 并行化在许多文档上更正文本的任务,所以我自然而然地找到了“joblib”。我希望每项任务都是更正给定的文档。这是代码的结构:

我正在使用这里总结的函数 find_errors :

这确实给我带来了一些错误

我不明白这是否应该做与配置相关的事情,或者我的函数是否不适合并行实现......(我想它应该......)

你们中的一些人以前发生过吗?

希望我的问题很清楚,并且有足够的信息可以让某人给我一些帮助!

0 投票
2 回答
6581 浏览

python - 如何在python的joblib库中使用嵌套循环

实际代码如下所示:

我正在努力实现多处理,即在j我想要池的每次迭代中column_list。由于compute_tf功能很慢,我想多处理它。

我发现必须joblib在 Python 中使用它,但我无法解决嵌套循环。

这是要实现的。如果提供任何解决方案或任何其他解决方案,这将是一个很大的帮助。

0 投票
1 回答
507 浏览

python - 使用 joblib 将结果返回给父进程

我正在运行一个需要一段时间才能评估 16 次的函数。但是,所有这些运行都是相互独立的。因此我决定使用 joblib 来加速它。

Joblib 可以正常工作并加快速度,但我正在努力解决一个问题 - 如何正确返回评估值?我想将 16 个结果保存到内存中,理想情况下保存到列表中。但是,使用全局变量似乎不是一种选择,因为新的 Python 进程不使用父进程使用的全局变量。根据 joblib 文档,Parallel 的 max_nbytes 参数设置了共享数组大小的阈值,但是我对子进程函数中的 16 个整数列表所做的所有更改都对父进程中的列表没有影响。

唯一的选择是将计算的值保存到文件中,然后使用父进程检索它们还是有其他选择?

0 投票
1 回答
422 浏览

asynchronous - 结合 tornado gen.coroutine 和 joblib mem.cache 装饰器

想象一下有一个函数,它处理繁重的计算工作,我们希望在 Tornado 应用程序上下文中异步执行。此外,我们希望通过将其结果存储到磁盘来懒惰地评估该函数,而不是为相同的参数重新运行该函数两次。

在不缓存结果(记忆)的情况下,可以执行以下操作:

假设要实现函数记忆,我们从joblib中选择Memory类。通过简单地用函数装饰函数可以很容易地记住:@mem.cache

哪里mem可以像mem = Memory(cachedir=get_cache_dir()).

现在考虑将两者结合起来,我们在执行器上执行计算复杂的函数:

那么第一个问题是上述方法在技术上是否正确?

现在让我们考虑以下场景:

第二个问题是如何记忆second_coroutine?这样做是否正确:

[更新 I] 在 Tornado 中缓存和重用函数结果讨论了使用functools.lru_cacheorrepoze.lru.lru_cache作为第二个问题的解决方案。

0 投票
3 回答
6134 浏览

python - 在不知道形状的情况下加载 np.memmap

是否可以在不知道形状的情况下加载 anumpy.memmap并仍然恢复数据的形状?

在最后一行,我希望能够不指定形状并且仍然让变量newfp具有 shape (3,4),就像它会发生在joblib.load. 这可能吗?谢谢。

0 投票
2 回答
4469 浏览

python - 用pickle和joblib.dump保存分类器的区别?

在存储使用 sklearn 训练的分类器时,我可以在 pickle(或 cPickle)和 joblib.dump() 之间进行选择。

除了性能之外,使用 joblib.dump() 有什么好处吗?用 pickle 保存的分类器会产生比用 joblib 保存的分类器更差的结果吗?

0 投票
0 回答
171 浏览

python - scikit-learn 模型训练的多处理引发的这个错误是什么?

当我用多处理支持训练我的模型时,它会在一段时间后出现这样的错误;

由于空间投入,我似乎有一个 IOError 但是当我检查df -h每个驱动器是否有足够的空间时。

我该如何解决这个问题?

0 投票
1 回答
90 浏览

python-2.7 - 与 joblib 并行化 - Clarity

在过去的几个小时里,我一直在寻找,但我无法完全理解如何做到这一点——我是并行计算领域的新手。

我的任务:我希望更新粒子数组上的特定值(或三个)。目前,我有一个函数可以执行以下操作:

其中粒子数组包含 2D numpy 数组中 N 个粒子的每个粒子的属性(位置、速度等)。Field1 和 Field2 是作用于这些粒子的场,但粒子不会相互影响,也不会影响场,因此这些只是用作查找表的其他数组。

我的问题:如何使用 joblib 来并行化这个循环?我是否必须从函数中删除循环并在主程序中进行迭代(只为特定粒子发送我的数组的一列,而不是整个数组),或者有没有办法在函数内并行化,所以我仍然可以返回我更新的粒子阵列?我知道每次复制整个数组似乎效率低下,但粒子的位置也很重要——所以我需要粒子上的所有数据(尽管我只是改变速度)。

通常我会玩弄它,但目前我正在努力理解如何应用它来提供示例代码。任何帮助将不胜感激!