【发布时间】:2021-07-04 14:19:19
【问题描述】:
我正在尝试实现“通用空间模式 (CSP)”作为特征提取方法。 但是大多数可用的 CSP 实现是二进制或多类的(输入:最低要求二类)。那么,如果我想在实时应用程序中使用它,我该如何实现呢? (那时,我们将放置一个包含单个类的单一观察用于测试目的)。 如果有人帮助理解实时应用程序中 CSP 的逻辑,我将不胜感激。
【问题讨论】:
我正在尝试实现“通用空间模式 (CSP)”作为特征提取方法。 但是大多数可用的 CSP 实现是二进制或多类的(输入:最低要求二类)。那么,如果我想在实时应用程序中使用它,我该如何实现呢? (那时,我们将放置一个包含单个类的单一观察用于测试目的)。 如果有人帮助理解实时应用程序中 CSP 的逻辑,我将不胜感激。
【问题讨论】:
首先,使用mne.decoding.CSP 测量 CSP 的时间是个好主意。最后,如果您有任何速度问题,具体取决于您的采样率和窗口策略,您可以执行一些常用策略来达到实时(考虑到 c 和 c++ 是许多在线应用程序和线性代数库中使用的核心语言) ):
1-增加窗口大小并减小重叠大小。它可能会解决在线问题,以及multi-threaded pipeline 技术!
2- 首先,为CSP 实现你自己的代码(或找到一个开源代码)。其次,实现一个multi-threaded pipeline,每个线程执行一个CSP算法的步骤。话虽如此,管道启动时会有轻微的延迟,但如果有足够的资源可用,它可以以实时速率继续。我想提一下CSP算法的主要部分是特征分解,在CPU上都有很好的实现,基于@ 987654325@ 和Eigen,或基于Cuda CuSolver 的GPU。
【讨论】: