N-MNIST数据集用于ANN2SNN时的预处理过程

 1.背景

传统基于视觉处理的深度学习框架的数据是image/frame

而神经形态传感器采集的数据是一系列事件(events)

导致DVS采集的数据,无法直接用于现有的深度学习框架进行训练。

2.解决方式

1.为SNN设计专门的时间驱动仿真器

2.将时间流数据转化为frame数据,然后就可以用标准的DL库

3.二者结合的方法,train on frames,Run on SNNs

结合方法的优势:

①更快的训练(可利用pytorch tensorflow)

②更低的功耗(当部署到神经形态芯片、集成电路时)

3.N-MNIST 数据集预处理,用于训练ANN

3.1 从云存储中下载原始数据

3.2 用 aermanager 预处理原始数据,并转换成适合训练和测试的的数据集,以hdf5格式存储

(1)1中下载的数据是根据移动的数字‘0’记录的事件流图片,为了更好可视化,需要将事件流分为更小的时间窗格,有两种主要方式:①以时间等长来划分数据 ②以脉冲等多来划分

推荐做法:以每个小时间窗格300个脉冲来划分,处理后的小窗格会比1更清晰,这样的图是最适合用于训练一个DL模型的

(2)保存为一个新的数据集,用于训练

3.3 最后将下载这个数据集并可视化。

这时的数据集,就是可以用于训练ANN的啦~

4.Loading spikes instead of frames

在上面的片段中,我们看到了如何加载frames,我们可以用它来训练和测试ANN。但是当我们仿真SNN时,我们最好是使用脉冲事件,而不是frame。 为此,我们现在将使用SpikeTrainDataset,而不是使用FramesDataset,并将其指向相同的预处理数据位置。

tensor变为xytp形式,就是从frame变成脉冲事件

5.总结

我希望这能让你对可用的工具有一个很好的概述,能够处理从DVS传感器记录的脉冲,以及你如何使用aermanager提供的一些便利方法对它们进行预处理。 在下一个教程中,你将看到你如何使用最终的数据集对象来训练你的模型。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值