移植matlab训练好的神经网络

1.加载数据集

% 加载数据集
images = loadMNISTImages('minist_dataset/train-images.idx3-ubyte');
labels = loadMNISTLabels('minist_dataset/train-labels.idx1-ubyte');

numTrain = 100;
% 训练集
data_Xtrain = images(:,1:numTrain);     
data_Ytrain = labels(1:numTrain,1)';   
% 测试集
data_Xtest = images(:,numTrain+1:end);   
data_Ytest = labels(numTrain+1:end,1)';   
clear images labels %清除变量,节省内存

%由于系统会优化掉整行全是0的维度,所以对整行全是0的维度首列添加一个趋近于0的数,避免优化
data_Xtrain(~any(data_Xtrain,2),1) = 0.0000001;
data_Xtest(~any(data_Xtest,2),1) = 0.0000001;

2.构建神经网络并训练测试

% 开始构建BP网络
net = feedforwardnet([3, 4]);          %两个隐含层,分别有3个和4个神经元

net.trainParam.epochs = 1000;          % 最大迭代次数
net.trainParam.lr = 0.0001;            % 学习率
net.trainParam.goal = 0.0001;          %训练目标最小误差
net.layers{1}.transferFcn='tansig'

你可能感兴趣的:(matlab,移植matlab训练的神经网络,matlab生成C/C++代码,神经网络,matlab)