卷积神经网络CNN的MATLAB程序的报错,程序是老师给的经典的CNN的code,但是运行的时候有报错,我本人是学化学的,所以也不知怎么修改,大神们帮帮忙! 运行的程序如下: clear;clc;close all load mnist_uint8; train_x = double(reshape(train_x',28,28,60000))/255; test_x = double(reshape(test_x',28,28,10000))/255; train_y = double(train_y'); test_y = double(test_y'); rng(0) cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer }; cnn = cnnsetup(cnn, train_x, train_y); opts.alpha = 1; opts.batchsize = 120; opts.numepochs = 1; cnn = cnntrain(cnn, train_x, train_y, opts); [er, bad] = cnntest(cnn, test_x, test_y); error=er; result=1-er; R=num2str(result); msgbox({'准确率' R}); %plot mean squared error figure; plot(cnn.rL); assert(er<0.12, 'Too big error'); 运行报错如下: epoch 1/1 未定义函数或变量 'sigm'。 出错 cnnff (line 18) net.layers{l}.a{j} = sigm(z + net.layers{l}.b{j}); 出错 cnntrain (line 17) net = cnnff(net, batch_x); 出错 main_CNNclassifier_mnist_uint8 (line 24) cnn = cnntrain(cnn, train_x, train_y, opts); 当前文件夹中相关函数文件放在附件里。 求助:我应该怎么修改程序才能正常运行?(我看到有帖子说是因为当前文件夹中还缺了一些函数文件,但是没有说具体缺什么,请问是这样的吗?) |
845 Bytes, 下载次数: 1
193 Bytes, 下载次数: 1
1.72 KB, 下载次数: 1
3.51 KB, 下载次数: 1
1.73 KB, 下载次数: 1
2.09 KB, 下载次数: 1
575 Bytes, 下载次数: 1
最佳答案
3 条回复