資源簡介
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.
- 上一篇:Python二十多種常用圖像處理方法集成工具
- 下一篇:提取獲取到的人臉圖像的特征
評論
共有 條評論