function rct(g)
% pour lancer featrain par cpu de 50, 20 cpu, 3h donc
% H.Glotin  
% Tiny Conv Net of Dyni for bird 2015
% Lauron 8 mai 2015

chemin = '/NAS3/SABIOD/public_data/DIENS_DYNI/NEW_CHALLENGE_2015/CMTfinalspectro_CHECKED/';

for train = g:g+50
clear spectre maxcnn 
clear facette

eval(['! ls ' chemin '/TRAIN' num2str(train) '/*.jpg > listetrainA' num2str(train) '.txt']);
eval(['! wc listetrainA' num2str(train) '.txt | cut -f 1 > N' num2str(train).txt']);
eval(['! cut -f 1 -d ''l'' N' num2str(train) '.txt > N' num2str(train) 'b.txt'])

% cube conv train intra espece
% a faire aussi en inter espece
% puis PCA dessus
% => multi modele multi classe

eval[('N = load(''N' num2str(train) 'b.txt''])
for i=1:N(1)
eval(['k = lire_ligne(''listetrainA' num2str(train) '.txt'',i);']);
eval(['facette.s' num2str(i) ' = imread(k) ;'])

% SIM F : 
eval(['spectre(i,:) = sum(facette.s' num2str(i) '([1:70]),2);']) ; % coupure suffit 
% max pooling intra = modele intra %
% pour dkl ? cosine ? L2 ? L1 ?
end % i

% SIM TF : 
for i= 1:N(1)
for j= 1:N(1)
for c= [1:70] % cut 
% max pooling intra = modele intra,  attention ce poolmax casse la synchro donc bruite les formes, il faudrait une seconde couche etc...: CNN
% spectre(cnn) ?
eval(['maxcnn(i,j,c) = max(conv(facette.s' num2str(i) '(c,:), facette.s' num2str(j) '(c,:) ));']) ;
 
% max pooling intra = modele intra %
% pour sim directement ? mean min max = simi ? std ?
% ou simplement LS dkl cos entre maxcnn intra et maxcnn (train, test) ( 7K * 22K ) a lancer ce soir
% mean sur les sample de train, conorm entre espece i et j ~ i
% **  vote majoriatire sur dkl de dist des max cnn entre cube intratrain et cube testtrain 7K*20K cube
% norme par max correlation intratrain ? 
end % canal
end % j
end % i 

eval(['save trainstat_TRAIN_' num2str(train) ])

end % train

% entropy n'apporte pas je pense
% possible en deux couche avec conv de conv ?
% PCA sur cette base ?
% permet de noter quel canal à conserver
% relancer tout à 1024 ?
% co norm / tnorm ?

end % fun
