Bindsnet是一个基于pytorch实现的用于搭建SNN的框架。
关于网络构建:
(1)首先初始化一个网络:
import torch
import matplotlib.pyplot as plt
from bindsnet.network import Network, nodes, topology, monitors
#初始化一个网络
network = Network(dt=1.0)
(2)定义层,以及层与层之间的连接(其中moitor用于记录网络运行过程中各层的电压和脉冲)
X = nodes.Input(100) #输入层
Y = nodes.LIFNodes(100) #LiF神经元层
C = topology.Connection(source=X, target=Y, w = torch.rand(X.n, Y.n)#这边的n就是X和Y的维度
(3)将上述组件添加进网络
network.add_layer(layer=X, name='X')
network.add_layer(layer=Y, name='Y')
network.add_connection(connection=C, source='X', target='Y')
network.add_monitor(monitor=M1, name='X')
network.add_monitor(monitor=M2, name='Y')
(4)构建输入,运行网络
data = 15 * torch.rand(100)#随机输入
train = encoding.poisson(datum=data, time=5000)#possion编码,时间长度为5000
inputs = {'X' : train}
network.run(inputs=inputs, time=50

最低0.47元/天 解锁文章
1520

被折叠的 条评论
为什么被折叠?



