问题标签 [deap]

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 投票
1 回答
114 浏览

python - PSO 中“n=5”的 DEAP 框架 Python 使用

此代码中 n 的含义是什么?在 DEAP 中默认给出,而在基本 PSO中没有解释?

流行=工具箱.人口(n = 5)

0 投票
4 回答
2090 浏览

python - 如何使用 DEAP 定义遵循特定顺序模式的自定义遗传算法个体

我的 GA 个体是一个随机序列int(例如:)[4, 5, 10, 11, 8, 12, 9, 13, 2, 6, 3, 7, 0, 14, 15, 1],它遵循在另一个自定义函数中处理的特定顺序约束。

如何将我的订单约束函数合并到DEAP个人初始化中?

我在https://groups.google.com/forum/#!msg/deap-users/KZYYHCGrFyY/x1nXcXpCyscJ的启发下实现了这种方式:

但我得到以下错误:

0 投票
1 回答
215 浏览

python-3.x - Python DEAP:健身似乎随着时间的推移而下降 - 我该如何解决这个问题?

我的个人是调整多阶段过程所需的五个参数的串联。第一个群体是通过在这些参数各自的范围内随机分配一个值并将其转换为二进制字符串来创建的。前 25 代的图表通常如下所示:

前 25 代的图表

DEAP 代码如下所示:

运行需要很长时间,但我在其他评估器上运行了相同的 DEAP 代码,并注意到相同的模式。我该如何解决?

0 投票
1 回答
722 浏览

python - “numpy.ndarray”对象没有属性“fitness”

我有 nsga3(进化算法)的代码,但我得到错误“numpy.ndarray”对象没有属性“fitness”。为 NSGA-III 选择生成参考点。此代码基于jMetal NSGA-III implementation <https://github.com/jMetal/jMetal>_。请帮助消除此错误

0 投票
1 回答
850 浏览

python - Python - DEAP & SCOOP:每个节点都有不同的结果/名人堂?

我在用着

  • Linux 上的 Python 3.6.4 / Anaconda 自定义(64 位)[GCC 7.2.0]
  • 勺 0.7.2.0
  • DEAP 1.2.2

https://github.com/soravux/scoop/blob/master/examples/deap_ga_onemax.py运行遗传算法示例 scoop/examples/deap_ga_onemax.py

在使用 SLURM 脚本的 HPC 集群上,请参阅下面发布的代码。

请注意,deap_ga_onemax.py 中的第 71 行已被注释:#random.seed(64)

Python代码:

SLURM 脚本:

问题: 在具有 4 个处理器的 4 个节点上并行运行 deap_ga_onemax.py,每个节点产生 4 个不同的名人堂。在 3 个节点上运行会产生 3 个不同的名人堂,依此类推。这样,每个节点都有自己的名人堂。

如何获得一个包含所有节点结果的名人堂?

任何见解都会非常有帮助......

0 投票
1 回答
613 浏览

python - 如何将 DEAP 日志写入文本文件?

我正在使用 DEAP 进行遗传算法。我在日志中得到了一些结果。日志的形状是字典的附加部分,如下所示。

我可以用方法把它写成文本文件json.dumps。但我想把它写成一个像下面这样的文本文件,和控制台上的结果一样。

python控制台上的结果

我能处理这个吗?

我现在使用 python 3.6。

0 投票
2 回答
125 浏览

python-3.x - 有没有办法在蚂蚱中使用deap库

有没有办法可以在蚱蜢的 Python 节点中使用 deap 库python节点)可以做到吗?

我有问题

  1. 在 Grasshopper 的 Python 接口中导入 deap 库(我想我可以通过从 Python 路径手动复制文件来解决它)

  2. (主要问题) grashopper 不允许闭环,所以我似乎无法找到一种方法将适应度反馈到主要代码的 Python 节点

0 投票
1 回答
669 浏览

python - Python DEAP 库,使用随机词作为个体

我正在尝试更好地处理 DEAP。我想制作一个遗传算法,将单词作为个体作为群体,并通过检查这些单词与给定“最大单词”的距离(阅读:拼写)距离来最大化这一点。这是我到目前为止按照文档中的示例所做的

我感到困惑的地方是当我 print(ind) 我得到这个输出

但是,当我将代码更改为示例代码时(见下文)

这是输出

我真的很困惑为什么我的示例不只是打印一个字符串,任何人都可以对此有所了解吗?不幸的是,他们没有使用字符串作为个体的示例,所以我试图自己调试它,但我遇到了困难。任何帮助表示赞赏

0 投票
0 回答
191 浏览

python-3.x - Python Deap 库,如何访问 initRepeat 映射

我想让我的算法做什么

我想在我的人口中拥有一堆随机词作为个体,他们的适应度被比作“最佳”词。如果单词的长度相等,则适应度为+1。对于每个相同的字符,适应度也是 +1,如果它在同一索引中,则 +1.1。

不幸的是,我确实有一段时间了解 deaps 文档。到目前为止,这是我尝试过的。

尝试的代码

代码解释(据我所知)

我首先创建了一个由我的 creator.Individual 类映射到一个随机单词的群体。然后我将它传递到我的评估函数中,以获取每个创建者。个人课程的适应性。在这一步我当然会得到一个错误,因为我没有访问随机词。我的问题是,我怎样才能访问这个词?

选择

我尝试了另一种方法,我只是将单词作为变量保留在 Individual 类中,但这确实与我正在使用的其他 deaps 函数不兼容。使用这种方法,我得到了交叉运算符 deap 给我的错误。我宁愿不必创建自己的交叉运算符。

编辑

更具体地说,如果我在我的 evalOneMax 函数中放置一个“print(individual)”行,它会输出

如何访问映射的随机词以及个人的适应度

0 投票
0 回答
189 浏览

python - Python 3.6 - 具有列表理解迭代的多处理映射,包含在主上下文中定义的列表

我试图弄清楚我包含在我的可迭代 pool.map 函数的列表理解中的对象列表是否正在由工作人员直接访问,或者作品是否正在接收列表的副本。

我正在使用 DEAP 并成功实现了多处理。最初我会将 CSV 文件读入数组并将数组发送给工作人员,但随后每个工作人员都需要创建自己的对象列表。我想如果我可以创建一次对象并发送它们的副本,它可能会加快速度。

除了在主上下文中创建对象列表的小加速之外,它似乎在两种方式下都可以相同地工作。我想确保工作人员不会修改相同的列表对象。

我通过从 CSV 文件中读取数据并将对象附加到我在主上下文中定义的列表来创建列表。

例子:

后来我使用列表推导来创建必要的迭代:

然后我在我的评估函数中解压缩元组并使用对象。

我使用不同阶段的打印来尝试确定列表的状态。根据元组解包后的打印,列表在评估开始时处于默认状态。在评估结束时,它们都与原始状态不同,并且在足够多的情况下,群体成员之间存在差异(预计会有一些相同的个体)。

似乎工作人员并未全部编辑在主要上下文中创建的原始列表。有人可以证实这一点吗?