【问题标题】:MatConvNet MNIST network for two classes两个类的 MatConvNet MNIST 网络
【发布时间】:2016-09-02 22:02:30
【问题描述】:

是否可以使 matconvnet 中的 MNIST 示例适用于两个类而不是 10 个?我将 cnn_mnist_init.m 文件更改为以下内容以生成两个类的特征向量:

net.layers{end+1} = struct('type', 'conv', ...
                   'weights', {{f*randn(1,1,500,2, 'single'), zeros(1,2,'single')}}, ...
                   'stride', 1, ...
                   'pad', 0) ;

但是当我运行 cnn_train 时出现以下错误:

Error in cnn_train>error_multiclass (line 222)
err(2,1) = sum(sum(sum(min(error(:,:,1:5,:),[],3)))) ;

Error in cnn_train>process_epoch (line 302)
error = sum([error, [...

Error in cnn_train (line 153)
[net, stats.train] = process_epoch(opts, getBatch, epoch, train, learningRate, imdb, net) ;

Error in original_image (line 40)
[net, info] = cnn_train(fold, net, imdb, @getBatch, ...

Error in main_original (line 13)
[imdb, net, info] = original_image(fold);

我做错了什么?

【问题讨论】:

    标签: matlab deep-learning mnist


    【解决方案1】:

    您在 err(2,1) 中遇到的错误可能是因为您的错误向量具有错误的维度。 err(2,1) 是错误分类 5 类的错误,您只有两个类。检查您输入到 softmax 的张量的大小,它的维度应该是 [1,1,2=类数,批量大小]

    【讨论】:

      猜你喜欢
      • 2018-03-21
      • 1970-01-01
      • 2017-04-21
      • 1970-01-01
      • 2017-09-28
      • 2019-08-29
      • 1970-01-01
      • 1970-01-01
      • 2020-04-29
      相关资源
      最近更新 更多