如何在 Erlang 中正确运行一组 TWEANN 基准?
Posted
技术标签:
【中文标题】如何在 Erlang 中正确运行一组 TWEANN 基准?【英文标题】:How to run a set of TWEANN benchmarks in Erlang correctly? 【发布时间】:2016-07-02 00:46:01 【问题描述】:我一直在阅读 Gene I Sher 的Erlang 神经进化手册,并尝试复制其中描述的所有实验。 这一切都奏效了,直到我来到chapter 19,上面写着
设置完所有内容后,我们会为每个记录的实验设置执行基准测试,并运行它直到完成。为此,我们只需修改
benchmarker
模块中使用的约束,然后为我们的每个实验设置执行benchmarker:start(Experiment_Name)
。
总共有 14 个实验,命名为:
1. [SlidingWindow5]2. [SlidingWindow10]3. [SlidingWindow20] 4. [SlidingWindow50]5. [SlidingWindow100]
和
1. [ChartPlane5X10]2. [ChartPlane5X20]3. [ChartPlane10X10]4. [ChartPlane10X20]5. [ChartPlane20X10]6. [ChartPlane20X20]7. [ChartPlane50X10]8. [ChartPlane50X20]9. [ChartPlane100x10]
刚刚启动一个 polis 并在 erlang shell 中运行 benchmarker:start(SlidingWindow5).
会产生 * 1: variable 'SlidingWindow5' is unbound
。
我可能很迟钝并且没有做一些明显的事情,但我真的很想了解将哪些参数传递给benchmarker:start()
。
到目前为止,阅读源代码并没有帮助。
我认为没有必要阅读整本书来弄清楚如何使这段特定的代码工作。
【问题讨论】:
【参考方案1】:好的。我需要使用全小写的名称:benchmarker:start(slidingwindow5).
。
这个答案是正确的,但没有定论;它给出了解决方案,但没有从 Erlang 的角度解释为什么解决方案是这样的。请不要在投票之前投票。
【讨论】:
您是否费心快速了解一下Getting Started with Erlang Sequential Programming 语言? 没有。我确实尝试阅读并遵循本教程 (learnyousomeerlang.com/content) 那么请仔细阅读Invariable Variables 和Atoms。特别注意Atoms的第一段。 谢谢,我会这样做,除此之外,我正在考虑尝试。以上是关于如何在 Erlang 中正确运行一组 TWEANN 基准?的主要内容,如果未能解决你的问题,请参考以下文章
如何在服务器上正确安装 Erlang、Elixir 和 mix?
Erlang:如何在主管中正确调度带有 start_child 的 gen_server 并调用 API
如何在 Erlang shell 中运行 Erlang 应用程序