w466635010 2021-04-29 18:16
浏览 327
已结题

关于用MATLAB深度学习解决回归问题中训练集生成报错的问题

想用matlab来实现一个回归问题,首先尝试了图片到图片的回归,我最想用mat文件实现,因为mat文件对于图片到图片还是图片到向量都是很方便的。首先,我的思路是将输入和输出得mat文件用datastore 函数读进去,然后再进行combine,生成一个训练pair,最后用于训练,训练集和验证机放在不同的文件夹里面,代码里指定即可。 下面是我的代码,

inputData=fileDatastore(fullfile('A:\wtl\New\CNN3\1\'),'ReadFcn',...
    @load,'FileExtensions','.mat');
targetData=fileDatastore(fullfile('A:\wtl\New\CNN3\2\'),'ReadFcn',...
    @load,'FileExtensions','.mat');

trainData=combine(inputData,targetData);  %%训练数据



% validation data
inputDatat=fileDatastore(fullfile('A:\wtl\New\CNN3\3\'),'ReadFcn',...
    @load,'FileExtensions','.mat');
targetDatat=fileDatastore(fullfile('A:\wtl\New\CNN3\4\'),'ReadFcn',...
    @load,'FileExtensions','.mat');

valData=combine(inputDatat,targetDatat);%%验证数据


%% 训练参数
Minibatchsize=4;
options = trainingOptions('adam', ...
'MaxEpochs',10, ...
'MiniBatchSize',Minibatchsize, ...
'ValidationData',valData, ...
'Plots','training-progress', ...
'Verbose',false);

net = trainNetwork(trainData,layers_1,options); %%训练网络

然后在我开始训练网络的时候 遇到了一个问题,就是说我的训练数据里面有NaN数据,可是我所有的mat文件都没有NaN,我的数据和官网中给的例子不同的是:我的输入和输出不能通过transform函数得到,两组数据都是独立采集的,但是又存在一些联系。

Error using trainNetwork (line 183)
Invalid training data. For regression tasks, responses must be a vector, a matrix,
or a 4-D array of numeric responses. Responses must not contain NaNs.


 
然后我又尝试了在保存mat文件的时候用isnan函数再处理一下即将要保存的数据,还是同样的问题。
最后,我又尝试了自己生成矩阵,然后保存为mat文件,矩阵很简单就是[1 2 3; 4 5 6], 所有的数据集都是这个。 但是还是存在同样的错误。 所以有没有大神遇到过同样的问题? 求解决,解决了星巴克 奶茶 现金都可以。

我有一个思路是自己写一个transform函数 函数里面说就是isnan函数,但是我尝试了自己写的transform函数 老报错。 做过的大佬帮忙解决一下,谢谢!

  • 写回答

2条回答 默认 最新

  • w466635010 2021-04-30 15:05
    关注

    解决了……

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog