基于神经工程框架的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。awt。颜色>java。木卫一。InvalidClassException   java禁用多个日期范围jDateChooser   java为什么我的特例apper会被扔进泽西/灰熊?   JavaIntelliJ比较两个覆盖率数据   java什么是servletsdefault。你怎么办?   单击几下libgdx后java按钮没有响应   使用java将字符串转换为JSONArray   文件系统在java中刷新fileSystemViewer   java如何在hibernate中避免脏检查   java奇怪的问题,带有分号和“无法解决…”   java将值从子面板传递到父面板   HTML JTextPane CSS的Java FontSizeAction   java文件代码神秘地变成了一堆(0000)