我想实现一个脚本执行sequence-to-label(响应)分类。
我有一个问题与函数trainNetwork希望输入数据打包。
我试图弄清楚如何处理XTrain或XTrainTest,让' trainNetwork '命令接受输入数据。
我收到以下错误:“使用trainNetwork错误
无效的训练数据。预测必须是数值型数组,存储或表。网络的输入序列,预测也可以是单元阵列的序列。”
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
清晰的
所有
;
关闭
所有
;
clc
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%产生一个矩阵
NewDimension = uint16 (200);
μ= 5;
std = 2.1;
一个= normrnd(μ,性病,[NewDimension 784]);
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
N_sample = 60000;
N_test = 10000;
% XTrain = 0(28日28日1,N_sample);
XTrain = 0 (1 NewDimension N_sample);
XTrainTest =细胞(N_sample, 1);
YTrain = 0 (N_sample, 1);
%请从http://yann.lecun.com/exdb/mnist/ dowload MNIST数据集
%并解压缩。
fidimg1 = fopen (
“train-images.idx3-ubyte”
,
rb的
);
fidimg2 = fopen (
“train-labels.idx1-ubyte”
,
rb的
);
[img,计数]=从文件中读(fidimg1 16);
%负责人表
[imgInd, count1] =从文件中读(fidimg2 8);
%负责人表
为
k = 1: N_sample
[我~]=从文件中读(fidimg1[28日28]);
印第安纳州=从文件中读(fidimg2, 1);
清晰的
testsave
、清晰
testmult
testsave =重塑(即时通讯,784,1);
testmult = * testsave;
XTrain (1,1: NewDimension 1 k) = ' (testmult);
XTrainTest {k} = testmult ';
% XTrainTest {k} =双(转置(testmult));
% XTrain (:,: 1 k) =我';
YTrain (k) =印第安纳州;
结束
文件关闭(fidimg1);
文件关闭(fidimg2);
YTrain =分类(YTrain);
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
XTest = 0 (1 NewDimension N_test);
% XTest = 0 (1784、1、N_test);
欧美= 0 (N_test, 1);
fidimg1 = fopen (
“t10k-images.idx3-ubyte”
,
rb的
);
fidimg2 = fopen (
“t10k-labels.idx1-ubyte”
,
rb的
);
[img,计数]=从文件中读(fidimg1 16);
[imgInd, count1] =从文件中读(fidimg2 8);
为
k = 1: N_test
[我~]=从文件中读(fidimg1[28日28]);
印第安纳州=从文件中读(fidimg2, 1);
清晰的
testsave
、清晰
testmult
testsave =重塑(即时通讯,784,1);
testmult = * testsave;
XTest (1,1: NewDimension, k) = ' (testmult);
% XTest (:,: 1 k) = im”; %训练集建筑
欧美(k) =印第安纳州;
结束
文件关闭(fidimg1);
文件关闭(fidimg2);
欧美=分类(欧美);
numHiddenUnits = 400;
numClasses = 10;
numFeatures = NewDimension;
%修改XTrain和XTest二维数组
XTrain =重塑(XTrain [NewDimension N_sample]);
% YTrain = ' (YTrain);
% XTest =重塑(XTest [NewDimension N_test]);
层= [
featureInputLayer (numFeatures)
fullyConnectedLayer (100)
%在第一隐层神经元的数量
batchNormalizationLayer
reluLayer
fullyConnectedLayer (50)
%在第二隐层神经元的数量
batchNormalizationLayer
reluLayer
fullyConnectedLayer (numClasses)
softmaxLayer
classificationLayer];
maxEpochs = 5;
miniBatchSize = 20;
选择= trainingOptions (
“亚当”
,
…
“ExecutionEnvironment”
,
“cpu”
,
…
“MaxEpochs”
maxEpochs,
…
“MiniBatchSize”
miniBatchSize,
…
“GradientThreshold”
,1
…
“详细”
假的,
…
“阴谋”
,
“训练进步”
);
网= trainNetwork (XTrainTest、YTrain层,选择);