首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pagmo2 Pygmo2热启动功能

Pagmo2 Pygmo2热启动功能
EN

Stack Overflow用户
提问于 2018-12-23 07:13:53
回答 1查看 92关注 0票数 0

我正在试验Pygmo,发现它非常便于设置全局优化任务。但是,如果我的计算机上没有更多的CPU核心(>32),那就太好了。我希望尽可能保持成本效益,并考虑在google云实例上使用AWS spot实例或抢占式VM实例。因为实例可以随时关闭,所以我需要一些热启动功能。我在API中发现了一个archipelago::save函数,但是不知道这个函数是否可以用来保存优化器的状态。可以热启动Pygmo/Pagmo2吗?

EN

回答 1

Stack Overflow用户

发布于 2019-10-02 05:55:22

pagmo中的所有对象都可以序列化,群岛也是如此。在python中通过pickle / dill,在c++中使用boost::serialization库。您找到的方法,即archipelago::save,在boost库的API之后实现了对象pagmo::archipelago的序列化。

代码语言:javascript
复制
    a = pagmo::archipelago(my...args);
    a.evolve(12);
    a.wait();

    // Now serialize and deserialize
    {
        boost::archive::binary_oarchive oarchive(ss);
        oarchive << a;
    }
    b = archipelago{};
    {
        boost::archive::binary_iarchive iarchive(ss);
        iarchive >> b;
    }
    b.evolve();

这就是使用序列化来重新开始进化。请注意,ss也可以从文件中读取和写入。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53899989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档