سلام
من برای ساختن یک فایل imdb
از یک سری دیتای تصویر برنامه ای نوشتم
یک خط از برنامه به صورت زیر هست :
images.data=zeros(128,128,1,80000,'single')
برنامه erorr زیر رو میده :
Error using zeros
Out of memory. Type HELP MEMORY for your options.
میشه راهنمایی کنید برای رفع این مشکل پیکار کنم .
آخه تعداد عکس هام زیاده
ممنونم
من یک سری عکس ماموگرافی دارم که شامل تصاویر نرمال و تصاویر شامل توده خوش خیم و تصاویر شامل توده سرطانیه . در واقع 3 تا کلاس دارم . البته پیش پردازش روی تصاویر انجام شده . تصاویرم رو به ریز تصاویر 128*128 تقسیم کردم و درکل تصاویر حدود 82000 تا عکس هست کل برنامه به صورت زیر هست :
run('vlfeat-0.9.20/toolbox/vl_setup')
addpath('./matconvnet-1.0-beta24/matlab')
mex -setup
vl_compilenn
vl_setupnn
%%%%%%%%%%%%%%%55
function imdb=creatIMDB_RAM('E:\Project\matlab files)
imdb=struct()
Normal=dir(['E:\Project\database\Normal\*.jpg'])
Benign=dir(['E:\Project\database\BB\*.jpg'])
Malignant=dir(['E:\Project\database\MM\*.jpg'])
imref=imread(['E:\Project\database\Normal\',Normal(1).name])
[H W CH]=size(imref)
%number of images%
NN=numel(Normal)
NB=numel(Benign)
NM=numel(Malignant)
N=NN+NB+NM
%%%%%%%%%%%%%%
meta.sets={'train','val'}
meta.classes={'Normal','Benign','Malignant'}
%imges go here%
images.data=zeros(H,W,CH,N,'single')
%this will contain the mean of the training set%
images.data_mean=zeros(H,W,CH,'single')
%a lable per image%
images.lables=zeros(1,N)
%vector indicating to which set an image belong , training , validation, etc%
images.set=zeros(1,N)
numimgstrain=0
%loading Normal samples%
for i=1:numel(Normal)
im=single(imread(['E:\Project\database\Normal\',Normal(i).name]))
images.data(:,:,:,i)=im
images.lables(i)=1
%in this case we select the set(train/val)randomly%
if (randi(10,1)>6)
images.set(i)=1
images.data_mean= images.data_mean + im
numimgstrain = numimgstrain + 1
else
images.set(i)=2
end
end
%loading Benign samples%
for i=1:numel(Benign)
im=single(imread(['E:\Project\database\BB\',Benign(i).name]))
images.data(:,:,:,NN+i)=im
images.lables(NN+i)=1
%in this case we select the set(train/val)randomly%
if (randi(10,1)>6)
images.set(NN+i)=1
images.data_mean= images.data_mean + im
numimgstrain = numimgstrain + 1
else
images.set(NN+i)=2
end
end
%loading Malignant samples%
for i=1:numel(Malignant)
im=single(imread(['E:\Project\database\MM\',Malignant(i).name]))
images.data(:,:,:,NN+NB+i)=im
images.lables(NN+NB+i)=1
%in this case we select the set(train/val)randomly%
if (randi(10,1)>6)
images.set(NN+NB+i)=1
images.data_mean= images.data_mean + im
numimgstrain = numimgstrain + 1
else
images.set(NN+NB+i)=2
end
end
%lets finish to compute the mean%
images.data_mean= images.data_mean ./ numimgstrain
%now lets add som randomization%
indices=randperm(N)
images.data(:,:,:,:)=images.data(:,:,:,indices)
images.lables(:)= images.lables(indices)
images.set(:)=images.set(indices)
imdb.meta=meta
imdb.images=images