📄 excute.m
字号:
ff = fopen(FileName,'w');
if(ff ~= -1)
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
fclose(ff);
else
qqq = str2mat(qqq1,qqq2,qqq4,qqq5);
display_message(qqq);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'save_wts'
qqq1 = 'Weights :';
qqq2 = 'Will be saved after the number of ';
qqq3 = 'iterations defined in the parameters';
qqq4 = sprintf('to file ( %s )',Weights_File_Name);
qqq5 = ' ';
qqq6 = 'The current parameters are loaded from';
qqq7 = sprintf('the file ( %s )',Weights_File_Name);
qqq8 = 'Will not be saved to ';
qqq9 = sprintf('( %s ) but it will be',Weights_File_Name);
qqq10 = sprintf('saved temporarily to ( %s )',Temp_Weights_File_Name);
qqq11 = ' ';
qqq12 = 'The current parameters are loaded from';
qqq13 = sprintf('the file ( %s )',Net_File_Name);
box_value = get(Checkbox1Hndl,'Value');
if(box_value == 0)
ff = check_net_file(Net_File_Name);
if(ff == 1)
FileName1 = extract_name(Net_File_Name);
eval(FileName1);
end
Save_Weights = 0;
Save_Weights_On = 0;
set(SaveIterEdTHndl,'String','None');
set(SaveIterEdTHndl,'Enable','off');
set(WeightsFileNameEdTHndl,'String','');
set(HiddenNodesEdTHndl,'Enable','on');
set(LoadedIterEdTHndl,'String','0');
set(LoadedMSEEdTHndl,'String','None');
set(InitialWeightsRangeSliHndl,'Enable','on');
set(InitialWeightsRangeEdTHndl,'Enable','on');
set(NetFileNameEdTHndl,'Enable','on','String',Net_File_Name);
set(TrainFileNameEdTHndl,'Enable','off','String',Train_File_Name);
set(TestFileNameEdTHndl,'Enable','off','String',Test_File_Name);
set(LogFileNameEdTHndl,'Enable','on','String',Log_File_Name);
set(Checkbox1Hndl,'Enable','on');
set(InputNodesEdTHndl,'String',num2str(N_Input));
set(HiddenNodesEdTHndl,'Enable','on','String',num2str(N_Hidden));
set(OutputNodesEdTHndl,'Enable','off','String',num2str(N_Output));
set(LearningRateEdTHndl,'Enable','on','String',num2str(Eta));
set(OutputRateEdTHndl,'Enable','on','String',num2str(R_Out));
set(StopIterationEdTHndl,'Enable','on','String',num2str(N_Iterations));
set(StopMSEEdTHndl,'Enable','on','String',num2str(Mse_Threshold));
set(InitialWeightsRangeEdTHndl,'Enable','on','String',num2str(RAND_RANGE));
set(InitialWeightsRangeSliHndl,'Enable','on','Value',RAND_RANGE);
set(InputNodesEdTHndl,'Enable','off');
set(HiddenNodesEdTHndl,'Enable','on');
WTS_FLAG_OLD = 0;
WTS_FLAG_NEW = 1;
qqq = str2mat(qqq1,qqq8,qqq9,qqq10,qqq11,qqq12,qqq13);
display_message(qqq);
end
if(box_value == 1)
Save_Weights = 1;
Save_Weights_On = 1;
set(SaveIterEdTHndl,'Enable','on');
set(SaveIterEdTHndl,'String',num2str(N_Saved_Iterations));
set(WeightsFileNameEdTHndl,'String',Weights_File_Name);
set(HiddenNodesEdTHndl,'Enable','off');
set(OutputNodesEdTHndl,'Enable','off');
set(InitialWeightsRangeSliHndl,'Enable','off');
set(InitialWeightsRangeEdTHndl,'Enable','off');
excute wts_file;
qqq = str2mat(qqq1,qqq2,qqq3,qqq4,qqq5,qqq6,qqq7);
display_message(qqq);
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'Hidden_Nodes'
qqq1 = 'Hidden nodes :';
qqq2 = ' Number of Hidden Nodes in the Neural Network';
str = get(HiddenNodesEdTHndl,'String');
num = str2num(str);
if(isempty(num) ~=1)
if(num > 0)
if(mod(num,1) == 0)
N_Hidden = num;
qqq3 = sprintf('( %s ) Hidden Nodes ------> O.K',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Hidden_Nodes_FLAG = 1;
else
qqq3 = sprintf('( %s ) is fractional number of Hidden Nodes ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Hidden_Nodes_FLAG = 0;
end
else
qqq3 = sprintf('( %s ) is negative number of Hidden Nodes ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Hidden_Nodes_FLAG = 0;
end
else
qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Hidden_Nodes_FLAG = 0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'Learning_Rate'
qqq1 = 'Learning Rate ( Eta ) :';
qqq2 = ' Learning Rate ( Eta ) of the Learning Algorithm ( 0.0 - 1.0)';
str = get(LearningRateEdTHndl,'String');
num = str2num(str);
if(isempty(num) ~=1)
if(num > 0 & num <= 1)
Eta = num;
qqq3 = sprintf('( %s ) Learning Rate ------> O.K',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Learning_Rate_FLAG = 1;
else
qqq3 = sprintf(' %s ( Eta should be between 0.0 and 1.0 ) ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Learning_Rate_FLAG = 0;
end
if(num < 0 )
qqq3 = sprintf('( %s ) is negative Learning Rate ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Learning_Rate_FLAG = 0;
end
else
qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Learning_Rate_FLAG = 0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'Output_Rate'
qqq1 = 'Output Rate :';
qqq2 = ' Firing Rate of the output Nodes ';
str = get(OutputRateEdTHndl,'String');
num = str2num(str);
if(isempty(num) ~=1)
if(num > 0 & num <= 3)
R_Out = num;
qqq3 = sprintf('( %s ) Output Firing Rate ------> O.K',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Output_Rate_FLAG = 1;
else
qqq3 = sprintf(' %s ( Allowed Range 0.0 3.0 ) ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Output_Rate_FLAG = 0;
end
if(num < 0 )
qqq3 = sprintf('( %s ) is negative Firing Rate ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Output_Rate_FLAG = 0;
end
else
qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Output_Rate_FLAG = 0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'Stop_Iteration'
qqq1 = 'Stop Iteration :';
qqq2 = ' Number of Iterations After which Learning will stop';
str = get(StopIterationEdTHndl,'String');
num = str2num(str);
if(isempty(num) ~=1)
if(num > 0)
if(mod(num,1) == 0)
N_Iterations = num;
qqq3 = sprintf('( %s ) Iterations ------> O.K',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Stop_Iteration_FLAG = 1;
else
qqq3 = sprintf('( %s ) is fractional number of Iterations ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Stop_Iteration_FLAG = 0;
end
else
qqq3 = sprintf('( %s ) is negative number of Iterations ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Stop_Iteration_FLAG = 0;
end
else
qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Stop_Iteration_FLAG = 0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'Stop_MSE'
qqq1 = 'Stop MSE :';
qqq2 = ' Mean Squared Error below which the training will stop';
str = get(StopMSEEdTHndl,'String');
num = str2num(str);
if(isempty(num) ~=1)
if(num > 0 & num <= 1)
Mse_Threshold = num;
qqq3 = sprintf('( %s ) Stop MSE ------> O.K',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Stop_MSE_FLAG = 1;
else
qqq3 = sprintf(' %s ( Stop MSE should be between 0.0 and 1.0 ) ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Stop_MSE_FLAG = 0;
end
if(num < 0 )
qqq3 = sprintf('( %s ) is negative Stop MSE ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Stop_MSE_FLAG = 0;
end
else
qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Stop_MSE_FLAG = 0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'Save_Iter'
qqq1 = 'Save Iter. :';
qqq2 = ' Number of Iterations After which Weights Will be Saved (Auto Save flag should be checked on)';
if(Save_Weights == 1)
str = get(SaveIterEdTHndl,'String');
num = str2num(str);
if(isempty(num) ~=1)
if(num > 0)
if(mod(num,1) == 0)
N_Saved_Iterations = num;
qqq3 = sprintf('( %s ) Iterations ------> O.K',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Save_Iter_FLAG = 1;
else
qqq3 = sprintf('( %s ) is fractional number of Iterations ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Save_Iter_FLAG = 0;
end
else
qqq3 = sprintf('( %s ) is negative number of Iterations ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Save_Iter_FLAG = 0;
end
else
qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Save_Iter_FLAG = 0;
end
else
qqq3 = 'Auto Save flag is not checked on ';
qqq = str2mat(qqq1,qqq2,qqq3);
display_message(qqq);
Save_Iter_FLAG = 0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
case 'Initial_Weights_Range_EdT'
qqq1 = 'Initial Weight Rage :';
qqq2 = 'Initial Random Weights will be generted between 0.0 and - Initial Weight Rage)';
str = get(InitialWeightsRangeEdTHndl,'String');
num = str2num(str);
set(InitialWeightsRangeSliHndl,'value',num);
if(isempty(num) ~=1)
if(num > 0 & num <= 1)
RAND_RANGE = num;
qqq3 = spri
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -