训练CNN进行二进制分类时出错

阿迪

您好,为了熟悉CNN,我为二进制分类飞机(760图像)或非飞机(750)准备了代码。

这是我的MATLAB代码

Npos =  numel(possitive_regions);
Nneg =  numel(negative_regions);

Npos_train = floor(0.25* Npos); 
Npos_val = floor(0.25*Npos);
Npos_test = floor(0.50*Npos);

Nneg_train = floor(0.25*Nneg); 
Nneg_val = floor(0.25*Nneg);
Nneg_test = floor(0.50*Nneg);

for i=1:Npos
    im= imresize (single(possitive_regions{i,:}),[50,50]);
    imdb.images.data(:,:,:, i) = im;
    imdb.images.labels(i) = 1;

        if i <= Npos_train
            imdb.images.set(i) = 1;
        elseif i <= Npos_train+Npos_val
            imdb.images.set(i) = 2;
        else
            imdb.images.set(i) = 3;
        end
end

% for negative samples
for i=1:Nneg
    im= imresize (single(negative_regions{i,:}),[50,50]);
    imdb.images.data(:,:,:, i+Npos) = im;
    imdb.images.labels(i+Npos) = 0;

        if i <= Nneg_train
            imdb.images.set(Npos+i) = 1;
        elseif i <= Nneg_train+Nneg_val
              imdb.images.set(Npos+i) = 2;
        else
              imdb.images.set(Npos+i) = 3;                       
        end
end
imdb.meta.sets = {'train', 'val', 'test'} ;
%% Network
opts.inputSize = [50 50 3] ;
opts.train.batchSize = 50;
opts.train.numEpochs = 10;
opts.train.continue = true;
% opts.train.useGpu = false;
opts.train.learningRate = 0.01;
% opts = vl_argparse(opts, []);
f = 0.01;

f=1/100 ;
net.layers = {} ;
net.layers{end+1} = struct('type', 'conv','weights', {{f*randn(5,5,3,20, 'single'), zeros(1, 20, 'single')}},'stride', 1,'pad', 0);
net.layers{end+1} = struct('type', 'pool','method', 'max', 'pool', [2 2], 'stride', 2, 'pad', 0) ;
net.layers{end+1} = struct('type', 'conv', 'weights', {{f*randn(5,5,20,50, 'single'),zeros(1,50,'single')}}, 'stride', 1, 'pad', 0) ;
net.layers{end+1} = struct('type', 'pool', 'method', 'max', 'pool', [2 2], 'stride', 2, 'pad', 0) ;
net.layers{end+1} = struct('type', 'conv', 'weights', {{f*randn(4,4,50,500, 'single'),  zeros(1,500,'single')}}, 'stride', 1, 'pad', 0) ;
net.layers{end+1} = struct('type', 'relu') ;
net.layers{end+1} = struct('type', 'conv', 'weights', {{f*randn(1,1,500,10, 'single'), zeros(1,10,'single')}}, 'stride', 1, 'pad', 0) ;
net.layers{end+1} = struct('type', 'softmaxloss') ;
disp( 'Net is Ok.' );
% [net, info] = trainfn(net, imdb, getBatch(opts), 'expDir', opts.expDir, net.meta.trainOpts,  opts.train, 'val', find(imdb.images.set == 3)) ;

[net, info] = cnn_train( net, imdb, @getBatch, opts.train, 'val', find( imdb.images.set == 2 ) ) ;

网络部分是我从MINST示例中获得的。我已经将此文件和getBatch函数保存在MatConvNet示例文件夹中。当我运行时,cnn_train我得到此输出和错误。

在此处输入图片说明有人,请帮助我解决此错误。另外,我已经搜索了此错误,发现我需要检查mex文件并使用vl_compilenn('verbose',1)进行编译。在编译时也出现错误:

使用mex时出错

链接:致命错误LNK1104:无法打开文件'C:\ Users \ z5085693 \ Downloads \ matconvnet-1.0-beta23 \ matconvnet-1.0-beta23 \ matlab \ mex \ vl_nnconv.mexw64'

vl_compilenn> mex_link中的错误(第547行)mex(mopts {:});

vl_compilenn(第498行)中的错误mex_link(opts,objs,mex_dir,flags.mexlink);

艾哈迈德(Ahmet Gokhan)Poyraz

请检查您的网络,因为您的网络有10个输出,但是您想获得2个输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫进行二进制分类

来自分类Dev

如何使用高斯过程进行二进制分类?

来自分类Dev

使用PyTorch进行二进制分类

来自分类Dev

执行二进制文件时出错

来自分类Dev

创建符号二进制链接时出错

来自分类Dev

R caret:使用qrf进行训练时的“二进制运算符的非数字参数”

来自分类Dev

TensorFlow用于二进制分类

来自分类Dev

在进行二进制分类时,如何解决predict()中的错误:R中的下标超出范围?

来自分类Dev

用于二进制分类CNN的Tensor Flow Conv1D

来自分类Dev

进行二进制长除法时对位的操作

来自分类Dev

sklearn使用prob_a进行逻辑二进制分类

来自分类Dev

Sklearn:如何对两个二进制分类器进行合奏?

来自分类Dev

重塑y_train以在Tensorflow中进行二进制文本分类

来自分类Dev

使用PyTorch进行二进制分类的目标和输出形状/类型

来自分类Dev

如何对熊猫中的多值分类变量进行二进制编码?

来自分类Dev

如何在Sklearn中获得Roc Auc进行二进制分类

来自分类Dev

使用xgboost进行二进制分类,得到10000x2的yhat

来自分类Dev

使用PyTorch进行二进制分类的目标和输出形状/类型

来自分类Dev

使用具有单个功能的径向基内核SVM进行二进制分类

来自分类Dev

存储文本数据集以进行二进制分类

来自分类Dev

Tensorflow二进制分类训练的损失不会减少,准确性会保持在50%左右

来自分类Dev

将字符串中的十进制转换为二进制时出错

来自分类Dev

右移二进制进行除法

来自分类Dev

使用RMSE的插入符二进制分类

来自分类Dev

MATLAB中二进制分类器的ROC曲线

来自分类Dev

从分类数组枢轴转换为二进制矩阵

来自分类Dev

传感器数据的二进制分类

来自分类Dev

关于Caffe中的二进制分类

来自分类Dev

具有附加维度的二进制分类(子类)

Related 相关文章

  1. 1

    熊猫进行二进制分类

  2. 2

    如何使用高斯过程进行二进制分类?

  3. 3

    使用PyTorch进行二进制分类

  4. 4

    执行二进制文件时出错

  5. 5

    创建符号二进制链接时出错

  6. 6

    R caret:使用qrf进行训练时的“二进制运算符的非数字参数”

  7. 7

    TensorFlow用于二进制分类

  8. 8

    在进行二进制分类时,如何解决predict()中的错误:R中的下标超出范围?

  9. 9

    用于二进制分类CNN的Tensor Flow Conv1D

  10. 10

    进行二进制长除法时对位的操作

  11. 11

    sklearn使用prob_a进行逻辑二进制分类

  12. 12

    Sklearn:如何对两个二进制分类器进行合奏?

  13. 13

    重塑y_train以在Tensorflow中进行二进制文本分类

  14. 14

    使用PyTorch进行二进制分类的目标和输出形状/类型

  15. 15

    如何对熊猫中的多值分类变量进行二进制编码?

  16. 16

    如何在Sklearn中获得Roc Auc进行二进制分类

  17. 17

    使用xgboost进行二进制分类,得到10000x2的yhat

  18. 18

    使用PyTorch进行二进制分类的目标和输出形状/类型

  19. 19

    使用具有单个功能的径向基内核SVM进行二进制分类

  20. 20

    存储文本数据集以进行二进制分类

  21. 21

    Tensorflow二进制分类训练的损失不会减少,准确性会保持在50%左右

  22. 22

    将字符串中的十进制转换为二进制时出错

  23. 23

    右移二进制进行除法

  24. 24

    使用RMSE的插入符二进制分类

  25. 25

    MATLAB中二进制分类器的ROC曲线

  26. 26

    从分类数组枢轴转换为二进制矩阵

  27. 27

    传感器数据的二进制分类

  28. 28

    关于Caffe中的二进制分类

  29. 29

    具有附加维度的二进制分类(子类)

热门标签

归档