테스트 데이터의 하위 집합에서 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);
근무 뭔가? 인터넷 검색처럼? 아니면 다른 것? – Nunser
물론, 문제는 해결하지 못했습니다 .... 이미지의 각 픽셀을 18 개의 이미지로 분류해야합니다. 내 훈련 세트에는 약 900.000 개의 행이 있으며 각 행에는 5 개의 double이 있습니다. 5 초 후 svmclassify 함수가이 예외를 throw합니다 ... –