• 大小: 10.97MB
    文件类型: .gz
    金币: 1
    下载: 0 次
    发布日期: 2023-10-13
  • 语言: Matlab
  • 标签: 多层ELM  

资源简介

多层ELM进行MNIST手写字符分类MATLAB代码,直接运行.m程序,如果现实内存溢出,请改小隐藏节点个数。

资源截图

代码片段和文件信息

function [h array] = display_network(A opt_normalize opt_graycolor cols opt_colmajor)
% This function visualizes filters in matrix A. Each column of A is a
% filter. We will reshape each column into a square image and visualizes
% on each cell of the visualization panel. 
% All other parameters are optional usually you do not need to worry
% about it.
% opt_normalize: whether we need to normalize the filter so that all of
% them can have similar contrast. Default value is true.
% opt_graycolor: whether we use gray as the heat map. Default is true.
% cols: how many columns are there in the display. Default value is the
% squareroot of the number of columns in A.
% opt_colmajor: you can switch convention to row major for A. In that
% case each row of A is a filter. Default value is false.
warning off all

if ~exist(‘opt_normalize‘ ‘var‘) || isempty(opt_normalize)
    opt_normalize= true;
end

if ~exist(‘opt_graycolor‘ ‘var‘) || isempty(opt_graycolor)
    opt_graycolor= true;
end

if ~exist(‘opt_colmajor‘ ‘var‘) || isempty(opt_colmajor)
    opt_colmajor = false;
end

% rescale
A = A - mean(A(:));

if opt_graycolor colormap(gray); end

% compute rows cols
[L M]=size(A);
sz=sqrt(L);
buf=1;
if ~exist(‘cols‘ ‘var‘)
    if floor(sqrt(M))^2 ~= M
        n=ceil(sqrt(M));
        while mod(M n)~=0 && n<1.2*sqrt(M) n=n+1; end
        m=ceil(M/n);
    else
        n=sqrt(M);
        m=n;
    end
else
    n = cols;
    m = ceil(M/n);
end

array=-ones(buf+m*(sz+buf)buf+n*(sz+buf));

if ~opt_graycolor
    array = 0.1.* array;
end


if ~opt_colmajor
    k=1;
    for i=1:m
        for j=1:n
            if k>M 
                continue; 
            end
            clim=max(abs(A(:k)));
            if opt_normalize
                array(buf+(i-1)*(sz+buf)+(1:sz)buf+(j-1)*(sz+buf)+(1:sz))=reshape(A(:k)szsz)/clim;
            else
                array(buf+(i-1)*(sz+buf)+(1:sz)buf+(j-1)*(sz+buf)+(1:sz))=reshape(A(:k)szsz)/max(abs(A(:)));
            end
            k=k+1;
        end
    end
else
    k=1;
    for j=1:n
        for i=1:m
            if k>M 
                continue; 
            end
            clim=max(abs(A(:k)));
            if opt_normalize
                array(buf+(i-1)*(sz+buf)+(1:sz)buf+(j-1)*(sz+buf)+(1:sz))=reshape(A(:k)szsz)/clim;
            else
                array(buf+(i-1)*(sz+buf)+(1:sz)buf+(j-1)*(sz+buf)+(1:sz))=reshape(A(:k)szsz);
            end
            k=k+1;
        end
    end
end

if opt_graycolor
    h=imagesc(array‘EraseMode‘‘none‘[-1 1]);
else
    h=imagesc(array‘EraseMode‘‘none‘[-1 1]);
end
axis image off

drawnow;

warning on all

评论

共有 条评论

相关资源