使用通用操作感知器实现各种算法的python包

pygop的Python项目详细描述


pygop:基于广义操作感知器(gop)算法的python库

Documentation StatusBuild Status

这个包使用Generalized Operational Perceptron实现渐进式学习算法。pygop支持使用cpu或gpu的单机和集群环境。此实现包括以下算法:

  • 渐进式操作感知器(POP
  • 异质多层广义操作感知器(HeMLGOP)及其变体
  • 快速渐进式操作感知器(POPfast
  • 带记忆的渐进式操作感知器(POPmemOPOPmemH

什么是广义操作感知器?

Generalized Operational Perceptron是一种人工神经元模型,旨在取代传统的mcculloch-pitts神经元模型。标准感知器模型只进行线性变换,然后进行非线性阈值化,gop模型封装了线性和非线性操作的多样性(以传统感知器为特例)。每个gop的特征是可学习的突触权重和一个由3种操作组成的操作集:节点操作、池操作和激活操作。gop执行的三种操作大致类似于哺乳动物生物学习系统中的神经元活动,其中每个神经元通过三种不同的操作传导电信号:

  • 树突突触连接输入信号的改变。
  • SOMA中修改的输入信号的池操作。
  • 当轴突丘的电位超过极限时发出脉冲。

通过定义一组节点算子、池算子和激活算子,每个gop可以根据手头的问题选择合适的算子。因此,学习一个基于gop的网络需要找到合适的算子以及更新突触权重。gop的作者提出了渐进式操作感知器(pop)算法来逐步学习基于gop的网络。随后,提出了Heterogeneous Multilayer Generalized Operational Perceptron (HeMLGOP)算法及其变体(homlgop、hemlrn、homlrn),利用高效的算子集搜索过程来学习gops的异构体系结构。此外,还提出了pop的快速版本,即POPfast和内存扩展POPmemOPOPmemH,它们通过合并内存路径来增强pop fast。

安装

PYPI安装

在安装pygop之前需要tensorflow。 通过pip安装tensorflow cpu版本:

pip install tensorflow

或GPU版本:

pip install tensorflow-gpu

要安装具有所需依赖项的pygop::

pip install pygop

目前,pygop只支持同时支持python 2和python 3的linux(在python2.7和python3.4、3.5、3.6、3.7上测试,cpu为tensorflow)

从源安装

要从github安装最新版本,请从项目存储库克隆源并使用setup.py::

git clone https://github.com/viebboy/PyGOP
cd PyGOP
python setup.py install --user

文档

完整的文档可以找到here

参考

如果您使用其中一种算法,请引用相应的文章:

  • S.Kiranyaz,T.Ince,A.Iosifidis和M.Gabbouj,“渐进式操作感知器”,神经计算,第224卷,第142-154页,2017年。
  • D.T.Tran、S.Kiranyaz、M.Gabbouj和A.Iosifidis,“异质多层广义操作感知器”,ARXIV预印本ARXIV:1804.0509320018。
  • D.T.Tran、S.Kiranyaz、M.Gabbouj和A.Iosifidis,“带记忆的渐进式操作感知器”,ARXIV预印本ARXIV:1808.063772018年。

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

推荐PyPI第三方库


热门话题
java在计算器程序中实现模运算符   java如何从HandlerInterceptorAdapter检索modelAttribute   正在删除java Hazelcast节点   java如何使用MouseMovementListeners链接两个项目?   java EclipseLink/JPA是否有用于修改生成的SQL的插件框架?   解析字符串XML文档时的java NoRouteToHostException   java删除对象变量的所有实例   java按钮单击不切换活动   java JsonObject按键获取值   java为Intellij Idea上的Gradle Runner和JUnit测试设置了环境变量   java在hibernate中删除用户实体时,角色也会被删除   swing Java GUI更新按钮   Java FXML TableView不显示数据   netbeans在java中没有hidapijni。图书馆路径   java如何在简单的日志分析器应用程序中识别日志消息的源   java ArrayList从类对象更简单的方式做?   JavaFX:如何实现自定义工具提示   jakarta ee使用DWR从Java调用Java脚本不更新浏览器中的输入字段   多线程java。在Java中实现ProducerConsumer时lang.IllegalMonitorStateException