问题标签 [pyevolve]
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.
django - 更改模型时对manyToManyField django的ForeignKey演变错误
我无法通过进化将我的模型从 ForeignKey 更改为 ManyToManyField
我的模型:
我尝试更改为
如果我创建一个新数据库一切正常。
这是输出:
python - Pyevolove 发生 AttributeError
最近来到 pyevolve,我已经非常感谢这个模块。
但我得到一个我无法理解的错误。
情况如下:
如何解决此错误?
python - 显示图像并刷新它
我使用pyevolve制作了一个带有遗传算法的程序;它每一代都会修改一个 PIL 图像。代码如下。
它工作得很好,但我看不到图像如何变化;当我将其保存到文件时,我只能看到最终图像。
我尝试使用 Tkinter 并像这样修改了我的程序
但它只运行遗传算法,不更新图像。
是否有任何其他(更简单)的方式来显示图像并在我需要时准确更新它(使用 Tkinter 或其他库)?
python - 使用 pyevolve 和 matplotlib 绘制最佳价值演化图
我正在尝试绘制 GA 随时间推移的最佳价值演变图。我正在尝试使用 matplotlib 来做到这一点,并且我正在为 GA 使用 pyevolve。我的问题是,当我调用进化函数时,它会进化算法直到最后,我无法在每次交互中获得最佳值。有任何想法吗?
python - 如何使用 Pyevolve 在实值染色体内设置不同的参数范围?
我正在尝试使用 pyevolve 来实现一个真正有价值的遗传算法。(此处给出了示例文档:http: //pyevolve.sourceforge.net/examples.html#example-2-real-numbers-gaussian-mutator)
参数范围(本例中为 20)可以使用setParams
如下方式设置:
# Genome instance
genome = G1DList.G1DList(20)
genome.setParams(rangemin=-6.0, rangemax=6.0)
但是,相同的范围适用于所有 20 个。我希望参数有不同的范围。我尝试这样做的方式是更改 Initializers 文件。
文件中的原始相关部分是:
我的修改(假设前 15 个有一个范围,后 5 个有另一个范围)是这样的:
我添加了索引 i 和 j 的打印,以确保我知道正在调用这个索引。我已将修改后Initializators
的文件与我的代码放在同一个文件夹中,但是当我运行它时,它会从其他地方调用原始文件。我觉得我错过了我需要在 pyevolve 中进行的更多更改,或者我没有Initializators
正确调用,或者......我不知道。
如何在 pyevolve 中成功更改我的染色体参数范围?
提前致谢。
python - 将用户定义的数组设置为 Pyevolve 中的初始个体
这是我的问题。
Pyevolve是一个很棒的基于遗传算法的框架。
不同于random.randint
生成初始个体(第一代)的方式。它使用自己的功能来实现:
上面的代码等于
但是当样本域不在连续范围内时。例如:
有了sample = random.sample(LIST,8)
,我仍然可以得到一个随机的 8 元素列表。
但是如何使用基因组.setParams 在Pyevolve中实现它。
任何建议将不胜感激。
python - 如何使用 python 2.7.5 安装 pyevolve?
我已经使用了本教程和其他教程。我已经尝试了几十次,几乎花了整整一天的时间,但我无法成功。
无论如何,我无法超越:
PS我不知道python。我刚刚使用在线可用的说明安装了 python,并运行了测试以确保它已安装。
我对 pyevolve 也不太了解。我只需要安装它就可以让我的实验运行。我实验中的工具有需要 pyevolve 的 python 脚本。
编辑:
当我做:easy_install pyevolve
我得到:
为了easy_install --upgrade pyevolve
我得到:
python - 使每个进程都可以访问全局变量
我是 python 新手,开始使用遗传算法 (GA) 来进行某种曲线拟合。对于那个 GA,我正在使用(很棒的)pyevolve 库(http://pyevolve.sourceforge.net/),它能够通过使用多处理来极大地减少计算时间。
这就是我的问题出现的地方:我想要近似的曲线是一个从 excel 文件中读取并在我的程序开始时存储为全局变量的数组。使用 python 多处理模块时,每个进程都会使用自己的全局变量创建自己的 python 实例。这会导致每一代算法(意味着每个进程)中的每个人一次又一次地打开和读取 excel 文件。打开大的 excel 文件可能会花费大量时间,因此只需打开该文件一次并让每个进程/个人都可以使用读取数组会很好。
多处理是在 pyevolve 库中启动的,我不想更改它以使其易于更新。不幸的是,这意味着只需通过例如将变量传递给进程池
p = Process(target=my_func,args=(my_array))
不是我的选择。这是迄今为止我找到的唯一解决方案。
有谁知道另一种让 my_array 可以从每个进程访问的方法?
python - 使用多处理冻结库时出现 AttributeError
我想用 py2exe冻结我的程序,其中包括一个使用多处理 ( http://pyevolve.sourceforge.net/ ) 的库。这工作得很好;我可以运行生成的 .exe 并且(在禁用多处理的情况下)我的程序执行我期望它执行的操作。
启用多处理时会出现我的问题。起初,我的程序对每个 CPU 内核都完全重新启动。我通过添加freeze_support()
到创建进程池的库来解决这个问题。这解决了一个问题,但又产生了另一个问题:现在池中的每个工作人员都会创建以下 AttributeError:
这是启动多处理的库的一部分:
还有我在代码顶部添加的 freeze_support() :
当从我的 IDE 启动但不是通过生成的 .exe 时,代码工作得非常好。
python-3.x - 在 python 3 中使用 pyevolve
Pyevolve 通常用于 python 2.7。有什么方法可以在 python 3 中安装和使用 pyevolve 吗?我知道有另一个包 DEAP 用于与 python 3 兼容的遗传算法,但不知何故我必须使用 pyevolve。
我尝试过,但我认为它不受支持,所以 pip install pyevolve 抛出错误。