Mercurial > hg > camir-aes2014
view toolboxes/RBM/Main.m @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
line wrap: on
line source
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Main script of KRBM-Knowledge-based Restricted Boltzmann Machine % % -*-sontran2012-*- % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% loading background knowledge % bk_file = 'XOR.bk'; % w = 5; W = rand(0,0); mW = rand(0,0); % [W mW nNames] = encode_bk(bk_file,w) %%% visualize_system(W,nNames,w,100,100); %% Loading data PRO_DIR = 'C://Pros/'; % dat_file = 'XOR.dat'; % dat_file = 'DNA.dat'; % train_file = strcat(PRO_DIR,'/Data/ICDAR/digit_train_data.mat'; % train_label = strcat(PRO_DIR,'/Data/ICDAR/digit_train_label.mat'; % test_file = strcat(PRO_DIR,'/Data/ICDAR/digit_test_data.mat'; % test_label = strcat(PRO_DIR,'/Data/ICDAR/digit_test_label.mat'; %----------------------------------------------------- % train_file = strcat(PRO_DIR,'/Data/MNIST/mnist_train_data.mat'; % train_label = strcat(PRO_DIR,'/Data/MNIST/mnist_train_label.mat'; % test_file = strcat(PRO_DIR,'/Data/MNIST/mnist_test_data.mat'; % test_label = strcat(PRO_DIR,'/Data/MNIST/mnist_test_label.mat'; %----------------------------------------------------- % train_file = strcat(PRO_DIR,'/RBMLIB/train_dat.mat'); % train_label = strcat(PRO_DIR,'/RBMLIB/train_lab.mat'); % test_file = strcat(PRO_DIR,'/RBMLIB/test_dat.mat'); % test_label = strcat(PRO_DIR,'/RBMLIB/test_lab.mat'); %----------------------------------------------------- % train_file = strcat(PRO_DIR,'/RBMLIB/train_dat.mat'); data_file = strcat(PRO_DIR,'/DATA/XOR/xorall.mat'); mod_file = strcat(PRO_DIR,'/DATA/XOR/model.mat'); %% Move weights encoded from rule to right position of input if needed %% Setting parameters conf.hidNum = 4; conf.eNum = 50; % number of epoch conf.bNum = 1; % number of batches devides the data set conf.sNum = 4; % number of samples per batch conf.gNum = 1; % number of iteration for gibb sampling conf.params = [0.5 0.5 0.1 0.00002]; % [lr1 lr2 momentum cost] % lr1: learning rate in first 10 epoches % lr2: learning rate in the other epoches %% Training system % training_kbrm(conf,W,mW,dat_file); % unsupevised learning % [W visB hidB] = gen_training_kbrbm(conf,W,mW,train_file,train_label); % unsupervised learning for generative classification % dis_training_kbrm(conf,W,mW,dat_file,dat_label); % unsupervised learning for discriminative classification [W visB hidB] = training_rbm(conf,W,mW,data_file); save(mod_file,'W','mW','visB','hidB'); nNames = {'X' 'Y' 'Z'}; visualize_system(W,nNames,100,100); %% Classify (if wanted) % gen_classify(W, visB, hidB,mW,test_file,test_label); %% Generate features (if wanted) % in_f_file = '../Data/ICDAR/images.bin'; % out_f_file = '../Data/ICDAR/feature.mat'; % input_features = mnist2mat(in_f_file); % output_features = input_features*W; % save(out_f_file,'output_features'); %% Extract knowledge (if wanted) % name_file = 'names.txt'; % File contains name of input % rule_file = 'rules.txt'; % extract_knowledge(rule_file,W); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear;