您当前的位置:首页 > 计算机 > 编程开发 > MATLAB

Matlab搭建EEGNet脑电分类神经网络

时间:03-18来源:作者:点击数:

在GitHub上搜到的大都是TF或者Pytroch的,csdn也是,但是自己习惯用Matlab,而Matlab和pytorch的语法又不一样,在神经网络的搭建上面其实主要在维度上,这里直接给出复现的代码。

在这里插入图片描述

如图,论文中的输入是C x T的原始脑电,在Matlab的预处理中,变换为C x T x 1 x num,num是脑电信号的个数,然后从norm层开始,且忽略掉tranpose层(这里便是因为torch中的num是在第一维度的,而Matlab在最后一维),网络层的代码如下:

  %% 搭建网络
    layers = [ ...
        imageInputLayer(size(x,[1 2 3]))

        batchNormalizationLayer;
%         transposeLayer;
        dropoutLayer(0.25);

        convolution2dLayer([2 32],4)
        batchNormalizationLayer;
        maxPooling2dLayer([2 4]);
        dropoutLayer(0.25);

        convolution2dLayer([8 4],4)
        batchNormalizationLayer;
        maxPooling2dLayer([2 4]);
        dropoutLayer(0.25);

        fullyConnectedLayer(2)
        softmaxLayer
        classificationLayer];
analyzeNetwork(layers);
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门