-2

我希望在 Google App Engine 应用程序(专为 Google Glass 构建)上进行 k-means 聚类。App Engine 仅接受纯 Python 库。

我曾尝试使用 SciPykmeanskmeans2进行编辑以py_vq代替 的 C 实现vq,但它们在约 500,000 个 x、y、z 点上花费了太长时间(约 100 秒),并且我DeadlineExceededError在我的 App Engine 日志中得到了一个。

我已经将样本量减少了 90% 以节省内存限制,所以我想避免再减少样本量。

是否有任何对 Google App Engine 足够快的纯 Python k-means 库?

4

2 回答 2

1

如果您收到 DeadlineExceededError,请考虑使用后端。后端没有期限和可配置的内存限制(虽然不是很高,最大 1GB)。

请参阅:https ://developers.google.com/appengine/docs/python/backends/

于 2013-07-19T07:04:13.430 回答
0

好吧,C 实现肯定会比纯 python 实现快......对于数字的东西,纯 python 可能真的很昂贵而且很慢。这就是为什么像 numpy 和 scipy 这样的 python 库在后端有很多用更快的语言实现的东西。

您还可以尝试限制迭代次数。10 次迭代后的 k-means 结果可能与实践中的最终结果一样好。这是事情发生很大变化的第一次迭代。

于 2013-07-19T08:09:07.590 回答