基于web的gui,用于构建和可视化nengo模型。

nengo-gui的Python项目详细描述


嫩果桂

Nengo图形用户界面是一个基于HTML5的交互式可视化工具 大规模神经模型 Nengo。 图形用户界面可以让你看到一个Nengo模型的结构, 绘制峰值活动和解码表示, 并使您能够更改输入 模型运行时实时显示。

要求

  • python(使用python 2.7和python 3.4+进行测试
  • Nengo(需要Numpy)

安装

最简单的安装方法是使用标准的python安装系统:

pip install nengo-gui

运行nengo gui

通过web浏览器访问nengo gui (谷歌浏览器、火狐、Safari等) 要访问正确的网页, 必须首先启动nengo gui服务器。 为此,请打开命令行窗口并运行:

nengo

如果您指定了一个文件,它将被加载:

nengo myfile.py

或者,可以从代码中手动启动gui。到 这样做,把这个添加到定义了你的nengo模型的文件底部。

importnengo_guinengo_gui.GUI(__file__).start()

基本用法

应出现能戈网络图。矩形是节点, 由5个圆组成的集合,圆形矩形是网络。

可以拖动项目以移动它们,并通过拖动其边缘或通过 滚轮。

要开始(或继续)模拟,请单击下面的“播放”按钮 正确的。旋转齿轮图标表示模型正在 生成(或在添加新图形后重新生成)。

单击一个项目将显示一个选项菜单,具体取决于 已经点击。以下是网络项目的一些标准选项:

  • 值:显示解码输出值随时间变化的图表
  • XY值:显示两个解码值之间的状态空间图
  • 尖峰:显示能戈的尖峰活动。合奏
  • slider:显示允许您调整nengo.node中的值的滑块
  • 展开/折叠:显示或隐藏nengo.network的内部

一旦你有了图表,你也可以点击它们来调整它们的选项。为了 示例:

  • 设置范围:调整图形的限制
  • 显示标签/隐藏标签:是否在图表顶部显示标题
  • 删除:删除图形

这些图记录了它们以前时间步的数据。你可以展示这个 通过拖动时间轴中的透明区域来实现以前的数据 底部(播放按钮旁边)。

贡献

我们欢迎大家通过发稿和拉稿的方式向能歌贵捐款! 但是,我们需要出资人转让协议 在合并请求之前。 有关详细信息,请参阅CONTRIBUTORS.rstLICENSE.rst文件。

开发人员安装

开发人员应该像这样安装nengo gui:

git clone https://github.com/nengo/nengo-gui
cd nengo-gui
python setup.py develop --user

nengo-gui目录中文件的更改将是 反映了下次运行或导入gui时的情况。

运行单元测试

测试在Selenium的帮助下完成。 测试目前仅在Linux和Mac OS X上受支持。

要运行测试,请确保您有最新版本的firefox。 mac用户应该确保firefox在applications文件夹中。

运行单元测试需要其他依赖项。 要安装它们,请打开一个终端并导航到nengo-gui文件夹。 执行命令

pip install --user -r requirements-test.txt

如果你使用的是虚拟环境, 您可以省略--user标志。

此时应安装Selenium和Pytest, 所以你已经准备好运行测试了。

运行测试:

  1. 打开终端窗口并启动nengo服务器。
  2. 打开第二个终端窗口。
  3. 导航到nengo-gui目录。
  4. 运行py.test

控制台应该说找到了一些测试,firefox将启动并开始自己的工作。 运行所有测试可能需要几分钟。

编写新的单元测试

要创建测试,只需保存名为 test_whatever_the_test_concerns.py在^{tt10}中$ 有关测试示例,请参见nengo_gui/tests/test_example.py

以下参考资料也可能有帮助。

发布历史记录

0.4.4(2019年6月9日)

  • api更改:将后端添加到inlinegui构造函数。
  • 改进(实验):添加模拟器挂钩
  • 改进:增加了可听见的尖峰声
  • 改进(实验):节点可以访问gui键盘状态
  • 改进:支持Nengo Bio连接
  • 改进:显示对象之间的多个连接
  • 错误修复:在Nengo 3.0.0中处理新的连接转换
  • 错误修复:转义标签,使其不被视为HTML
  • 改进:重新构建网络,允许与Jupyter进行干净的集成

0.4.3(2018年6月28日)

  • 错误修复:jedi自动完成的线程安全性
  • 错误修复:连接到多个服务器时处理身份验证
  • 错误修复:绑定服务器时正常失败

0.4.2(2018年6月8日)

  • 错误修复:Nengo_SPA的云绘图。代码转换绘图不再失败

0.4.1(2018年6月5日)

  • 错误修复:文件菜单不再具有错误的高度
  • 错误修复:Nengo_Spa的SPA图现在已正确创建

0.4.0(2018年6月1日)

  • 添加了生成进度指示器
  • 添加了状态栏
  • 使用ctrl/mmb平移视图
  • 支持Nengo_Spa
  • 添加–浏览器选项
  • 添加–不安全选项
  • 修正了在滑块上不起作用的退格,搜索框
  • 向文本编辑器添加了自动完成功能
  • 增加了调节和抑制连接的视觉描述
  • 基于令牌的身份验证
  • 双堆栈IPv4/IPv6支持

0.3.1(2017年10月17日)

  • 改进了一些错误消息。
  • 修复了Safari兼容性问题。

0.3.0(2017年2月22日)

此版本与Nengo 2.1.0及更高版本兼容。

  • 增加了在光栅图中设置神经元数量的功能。
  • 增加了在价值图上调整突触过滤器的能力。
  • 重写的服务器实现,以实现健壮性和兼容性。
  • 为“如何建立大脑”书添加了教程文件。
  • 改进硒测试。
  • 去除了自动布局算法中的随机性。
  • 更好地处理消息错误。
  • 添加了失败保存的红色保存图标指示器。
  • https://forum.nengo.ai添加了“帮助”链接
  • 由于创建绘图而删除的种子更改。

0.2.0(2016年4月28日)

此版本与Nengo 2.1.0兼容。

  • 现在可以将网络图导出到svg以包含在出版物中。
  • 仿真数据现在可以导出到csv以供以后分析。
  • 默认情况下,模拟将自动减速到实时。 速度可以通过左下角的新滑块来控制。
  • 单击文件名可以将模型保存到其他文件。
  • 当浏览器关闭并重新打开时,配置现在仍然存在。
  • 值图现在可以有一个图例。
  • 增加了单元测试系统。
  • 优化了代码的几个部分,提高了速度和响应能力。
  • 许多其他的错误修复和外观和感觉改善。

0.1.5(2015年11月3日)

  • 在内置示例中添加了一组教程。
  • 在绘图上悬停时添加十字线。
  • 添加了几种新类型的绘图,包括射击模式绘图, spa网络的相似图和Compare网络的相似图。
  • 添加了实现自定义HTML绘图的功能。 请参阅内置示例basics/html.py
  • 扩展SPA覆盖功能到所有SPA网络。
  • nengo_gui.Viz已重命名为nengo_gui.GUI
  • 后端代码的主要重构。
  • 许多错误修复和外观和感觉改善。

0.1.4(2015年6月16日)

  • 刺锉现在快多了。
  • 添加了重新启动模拟的重置按钮。
  • 代码编辑器现在有了一个边框,可以更容易地调整大小。
  • 现在可以在代码编辑器中搜索(使用ctrl+f)。
  • 当模型中发生错误时,控制台将显示错误详细信息。 打印的值也会显示在这个控制台中,以便于调试。
  • 现在可以从与Nengo模型位于同一目录中的其他文件导入。
  • 只读文件是安全处理的,而不是崩溃。
  • 一些细微的美学改进和错误修复。

0.1.3(2015年6月10日)

  • 修正了另一个python 3与autolayouts的兼容性问题。
  • 修复了重新加载配置文件时可能导致崩溃的错误。

0.1.2(2015年6月9日)

  • 修复了python 3与语义指针图的兼容性问题。

0.1.1(2015年6月8日)

  • 大量的稳定性和用户体验修复。 第一次发布有点麻烦,但这应该是相当稳定的。
  • 包括更多现成的例子。

0.1.0(2015年6月5日)

嫩果桂首发! 感谢所有的贡献者让这成为可能!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在HL7中“Repeate”、“Component”和“SubComponent”是什么意思?   javaqtp到Selenium等价方法   找不到使用线程错误RequestProcessor的Java服务器   java为什么在竞争性编程平台上提交代码时会出现运行时错误?   eclipse使用java程序动态纠正java代码中的错误(源代码分析+错误删除)   java如何获取Jlist中的一个条目以与另一个Jlist中的条目协同工作?   java在排序数组上迭代并存储不同整数的计数   java循环休眠选择(onetomany/manytoone)JAXR   java递归地反转只有两个指针返回的linkedlist?   JAVA代码中的循环建议   java这个if-else语句中有什么错误吗?   Java枚举返回Int   java云网关无法通过网关访问服务,但直接访问没有问题   Java中的多线程,使用线程是否有效。空闲线程的睡眠(1)?   java将二维整数数组的行从最小到最大排序   java使用SQLite数据库修复NullPointerException   过滤器中的java映射URI模板   到字符串的资产的java路径?