Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误SVM将MATLAB从内存中分类_Matlab_Classification_Svm - Fatal编程技术网

错误SVM将MATLAB从内存中分类

错误SVM将MATLAB从内存中分类,matlab,classification,svm,Matlab,Classification,Svm,我用Matlab编写了这个脚本 结构=SVM培训(特征列车、等级列车、最终列车) svmclassify(结构、特征和测试) 但是,5秒钟后会出现以下消息 ???在117处使用==>svmclassify时出错 分类过程中遇到错误。 内存不足。为您的选项键入帮助记忆 请帮助我,谢谢。此错误意味着您的机器上没有足够的内存来执行分类 首先,尝试使用新启动的MATLAB重复这些命令,不要创建任何超出需要的变量,也不要运行其他应用程序 如果这不起作用,那么基本上您需要使用较小的数据集,或者为您的机器获取

我用Matlab编写了这个脚本

结构=SVM培训(特征列车、等级列车、最终列车)

svmclassify(结构、特征和测试)

但是,5秒钟后会出现以下消息

???在117处使用==>svmclassify时出错 分类过程中遇到错误。 内存不足。为您的选项键入帮助记忆


请帮助我,谢谢。

此错误意味着您的机器上没有足够的内存来执行分类

首先,尝试使用新启动的MATLAB重复这些命令,不要创建任何超出需要的变量,也不要运行其他应用程序


如果这不起作用,那么基本上您需要使用较小的数据集,或者为您的机器获取更多内存。

我能够通过对测试数据的连续子集调用svmclassify()函数为自己解决同样的问题。出于某种原因,如果给它一个大的测试数据数组,它需要大量的内存

这是对我有用的东西

numExemplars = size(testData,1);
chunkSize = 1000;
j=1:chunkSize:numExemplars;
classifications = zeros(numExemplars,1);  %initialize
for i=1:length(j)-1;
    index1 = j(i);
    index2 = j(i+1)-1;
    fprintf('classifying exemplars %d to %d\n', index1, index2 );
    chunk = testData(index1:index2,:);
    classifications(index1:index2) = svmclassify(SVM_struct,chunk);
end
% last bit of data
chunk = testData(j(end):numExemplars,:);
classifications(j(end):numExemplars) = svmclassify(SVM_struct,chunk);

你至少试过解决这个问题吗?比如谷歌搜索?或者别的什么?当然,但我没有解决问题。。。。我必须从18幅图像中对图像的每个像素进行分类。我的训练集大约有90万行,每行有5个双行。svmclassify函数在5秒后抛出此异常…我已经这样做了,但问题仍然存在。有解决方案吗?我的训练集大约有200000行。谢谢。如果您的内存只是有点不足,那么您可以找到一些技巧将问题压缩到内存中,但真正的解决方案可能是使用较小的数据集,或者为您的机器获取更多内存。