【问题标题】:App engine: How does memory work? (using Mahout with the app engine)应用引擎:内存是如何工作的? (将 Mahout 与应用引擎一起使用)
【发布时间】:2016-01-11 14:21:59
【问题描述】:

我正在尝试将 Mahout 与应用引擎一起使用。出现了一些问题,但我现在的主要问题是:如果模型太大而无法保存在内存中,我该如何提出建议?

我正在使用内存缓存,但 Mahout 数据模型默认情况下不可序列化。我正在序列化 FastIDSet,但是当我必须提出建议时,我必须从 memcache 中获取 FastIDSet,将其用作推荐器的参数,然后进行推荐。

这很好,但是将两者都保存在内存中会给我一个堆空间错误,即使我的数据库不是太大 (19 MB)。

我无法分块执行此操作,因为 Mahout 确实希望使用完整的数据模型进行初始化。

有人遇到过这个问题吗?

谢谢,美好的一天。

【问题讨论】:

    标签: java google-app-engine memory-management memcached mahout-recommender


    【解决方案1】:

    我想通了,必须在 appengine-web.xml 中设置我的缩放比例。

    如果我不得不经常从 fastIDSET 重建模型,仍然会看到推荐器的速度。

    【讨论】:

      【解决方案2】:

      您正在使用一些旧的、即将折旧的技术。名为 SimilarityAnalysis.cooccurrence 的新 Mahout 关联引擎在 Apache 2 许可下用于端到端推荐器。查看Universal Recommender,它基于 Spark Mahout 的工作并使用搜索引擎提供建议

      顺便说一句,我是一名 Mahout 提交者,致力于此工作,不会无缘无故贬低 Mahout 的老推荐人 :-)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-30
        • 2013-05-28
        • 1970-01-01
        • 2011-10-19
        • 2015-08-03
        • 1970-01-01
        • 2013-01-11
        • 1970-01-01
        相关资源
        最近更新 更多