• 大小: 2KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Python
  • 标签: 神经网络  

资源简介

snn脉冲神经网络,大家可以看看,转载(侵权联系必删)五十字

资源截图

代码片段和文件信息

import numpy as np
import math

def epsilon(time_delta):
alpha0=5.0  #
alpha1=1.25 #
E=math.exp(-time_delta/alpha0)-math.exp(-time_delta/alpha1)
H=1 if time_delta >= 0.0 else 0
return E*H

def window(time_delta):
alpha=2.0
return math.exp(-time_delta/alpha) if time_delta>=0.0 else 0.0

    
def training(weights input_spikes output_spikes):

#input_spikes=[abc...]
#output_spikes=[[ab][abc]...]
input_node_num=len(weights[0])
output_node_num=len(weights)

max_epoch=100
fire_voltage=10
min_voltage=0.001
threshold=0.001

#for each output spike node do training  шонч╗Г
for outnd in range(output_node_num):
outspks=output_spikes[outnd]
wts=weights[outnd]
for epoch in range(max_epoch):
#for each output spike of this output spike node
#training
for outspk in outspks:
# compute voltage
voltage=0.0
for i in range(input_node_num):
voltage+=wts[i]*epsilon(outspk-input_spikes[i])
if abs(voltage-fire_voltage)>threshold:
# filtering
f=[]
for i in range(input_node_num):
if epsilon(outspk-input_spikes[i])>=min_voltage:
f.append(i)
# adjust weight
denom=0.

评论

共有 条评论