使用matlab出现的错误(版本:R2021a破解版本)
经常遇到一些报错问题然后无从下手,以下只是小白解决方案,有更好的解决方法希望大家伸出援手。
1、freezeweights
使用官方代码:官方文档
使用官方说明:官方教程
结果就是一运行就报这个错误。
但是打开官方例子,直接运行又是好的,就不会报错。更神奇的是,当我运行其他项目的时候再切换回来,或者我新建一个空项目把官方代码完全复制过去之后再运行,还是会报错。
解决办法:所以我就在官方本来的例子上修改代码运行。
迷惑:求解答。
**
解答:是因为自己的项目里面没有相应的.m文件。把官方教程的那个项目的freezeWeights.m文档复制到自己项目底下就可以了。这才意识到有时候自己的项目会报错但是没有语法上的错误,只是运行不起来的例子,很多时候都是缺少相应的文档(自以为有内置函数就不管不顾了),只要添加上相应的文档就可以了。
2、关于报错:内存不足或者什么cuda不匹配
**
解决办法:最根本的办法:修改MiniBatchSize
的参数值。我自己的电脑单GPU,如果数据量不是很大,设置为8(如"MaxEpochs",5, ... "MiniBatchSize",8, )...
是完全没问题的
如果不行,在命令窗口输入以下代码
clc; %清空命令行 clear all; %清除工作空间所有变量 close all; %关闭所有图形窗口
如果还是不行,就重启matlab。
如果还是不行,就重启电脑。
迷惑:求解答。
3、subplot 索引超出子图数目以及索引超出
修改subplot(x,y,z)满足z<=x*y即可。
load('Bnet.mat');
idx = randperm(numel(testds.Files),4);
figure
for i = 1:4
subplot(2,2,i)%哇!!!subplot(x,y,z); 只有满足:z <= x*y
I = readimage(testds,idx(i));
imshow(I)
label = YPred(idx(i));
title(string(label) + ", " + num2str(100*max(probs(idx(i),:)),3) + "%");
end
其实出错提示将鼠标放在出错的位置,会显示在哪一步出错,