首页 > 解决方案 > Matlab trainNetwork 的问题。格式化观察的正确方法是什么?

问题描述

我正在尝试在 Matlab 中使用深度神经网络。但是,我收到错误:使用 trainNetwork 时出错(第 165 行)X 和 Y 中的观察数不一致。

以下是我当前的实现:

size(XX) % ans = 120000 36
size(YY) % ans = 120000 24


%% Train a Deep Neural Network
layers = [
    imageInputLayer([1 36]); % Input is an "Image" 1x36 floating point vector
    fullyConnectedLayer(200);
    reluLayer();
    fullyConnectedLayer(100);
    reluLayer();
    fullyConnectedLayer(50);
    reluLayer();
    fullyConnectedLayer(24);
    regressionLayer();
];

if ~exist(checkpoint_directory_name,'dir')
    mkdir(checkpoint_directory_name)
end

options = trainingOptions('sgdm', ...
    'MaxEpochs', num_epochs, ... 
    'InitialLearnRate', 0.0001, ...
    'CheckpointPath', checkpoint_directory_name, ...
    'MiniBatchSize', batch_size ...
);

t = tic;
[net, info] = trainNetwork(XX, YY, layers, options);
fprintf('Trained in in %.02f seconds\n', toc(t));

我能做些什么来解决这个错误?

标签: matlabdeep-learning

解决方案


我还不是深度学习工具箱方面的专家,但是,我的感觉是大小应该是:

size(XX) % answer = 36 120000;
size(YY) % answer = 24 120000;

这有帮助吗?


推荐阅读