基于神经工程框架的opencl神经模拟

nengo-ocl的Python项目详细描述


基于opencl的nengo模拟器

这个项目是一个基于opencl的模拟器 使用nengo构建大脑模型。 它可以比参考模拟器快几个数量级 对于大型车型,请输入 nengo

用法

使用项目的opencl模拟器, 像往常一样建立一个Nengo模型, 但是,在为您的模型创建模拟器时,请使用 nengo ocl.simulator

import numpy as np
import matplotlib.pyplot as plt
import nengo
import nengo_ocl

# define the model
with nengo.Network() as model:
    stim = nengo.Node(np.sin)
    a = nengo.Ensemble(100, 1)
    b = nengo.Ensemble(100, 1)
    nengo.Connection(stim, a)
    nengo.Connection(a, b, function=lambda x: x**2)

    probe_a = nengo.Probe(a, synapse=0.01)
    probe_b = nengo.Probe(b, synapse=0.01)

# build and run the model
with nengo_ocl.Simulator(model) as sim:
    sim.run(10)

# plot the results
plt.plot(sim.trange(), sim.data[probe_a])
plt.plot(sim.trange(), sim.data[probe_b])
plt.show()

如果您在 nengo_gui中运行,请确保 pyopencl_ctx 已设置环境变量。如果未设置此变量,它将打开 一个交互式提示,它将导致 Nengo_gui 在构建过程中卡住。

依赖项和安装

这些要求与nengo相同,附加了python包 mako pyopencl (后者需要安装opencl)。

概述:

  • python 2.7+或python 3.3+(与nengo相同)
  • 一个或多个opencl实现(使用pyopencl进行测试)

opencl的工作安装是最困难的 安装Nengo OCL的一部分。详情见下文 关于如何安装opencl。

python包:

  • 努比
  • 涅戈
  • Mako
  • pyopencl

在理想情况下,所有python依赖项 将在使用

安装 nengo_ocl 时自动安装
pip install nengo-ocl

如果这不起作用,那么就让开发人员安装 找出问题所在。

开发人员安装

首先, pip安装nengo 。 为了获得最佳性能,首先确保安装了快速版本的numpy 按照 nengo自述文件

然后可以使用以下命令安装此存储库:

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

如果您使用的是virtualenv(推荐!) 然后,您可以省略 --用户标志。 检查输出以确保所有设备安装正确。 某些依赖项(例如 pyopencl )可能需要手动安装。

安装opencl

如何安装opencl取决于您的硬件和操作系统。 pyopencl文档中提供了各种情况下的良好资源:

以下是为 Nengo OCL开发人员在一个时间点。

Debian上的AMD OCL不稳定

在debian unstable(sid)上,有非free和contrib格式的包 轻松安装AMD的OCL实现。 实际上,最简单的事情就是安装 python pyopencl 。 但是如果你使用虚拟环境,你可以 sudo apt get安装opencl头文件 然后 pip安装pyopencl

debian/ubuntu linux上的nvidia ocl

在Debian不稳定(SID)上有包 用于安装nvidia opencl实现。

sudo apt-get install nvidia-opencl-common nvidia-libopencl1

确保nvidia驱动程序版本与opencl库版本匹配。 您可以通过在 命令行。您可以通过查看 libnvidia-opencl.so.xxx.xx文件,位于 /usr/lib/x86_64-linux-gnu/ 文件夹中。

Debian/UbuntuLinux上的Intel OCL

"英特尔开放cl版sdk"不再可用。英特尔OpenCL驱动程序 可以在英特尔网站上找到 。 参见pyopencl wiki 有关说明。

运行测试

nengo ocl 源目录中,运行:

py.test nengo_ocl/tests --pyargs nengo -v

这将使用默认上下文运行测试。如果你想用另一个 上下文,用 pyopencl_ctx 环境变量配置它 (运行python命令 pyopencl.create_some_context() 获取更多信息)。

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

推荐PyPI第三方库


热门话题
将文本文件读取到java对象数组   不支持java PageNotFound请求方法“GET”   java JDBC未选择任何数据库   java正在获取ssl。SSLHandshakeException在使用带有标头的REST客户端时发生,但在使用PostMan时可以正常工作   java测试与junit 5的接口   多线程Java Publisher服务器聊天程序   java编译错误已尝试修复,但没有成功   在TIBCO上安装java Https证书   java如何解析一个困难的问题。txt文件?   java如何使用ApachePOI3.6和ApachePOIOXML3读取pptx文件的内容。15罐?   java使用Gradle运行特定于Android的检测测试   人工智能回溯Java   用java制作螺旋桨动画   spring hibernate查询中的java日期   java读取HDFS小型分区?