爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 15393|回复: 9

[程序设计] 有关于基于卷积神经网络的降水数据预测的一点问题

[复制链接]

新浪微博达人勋

发表于 2019-9-8 12:42:37 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 东水兽 于 2019-9-8 12:49 编辑

最近在用卷积神经网络做降水预报,但是在使用MATLAB自带的函数进行编程时遇到了点问题。
在运行程序的时候,程序总是报错,说我验证集输入维数与训练集不一致,这我就不理解了
求大佬帮助

附录一:源代码
%% 导入处理好的数据
load factor.mat
load precip.mat
%% 输入训练数据
% 训练数据--变量值
P=factor_avage;
% 训练变量--结果值
T=precip_yangtze_all_avage;
%% 随机产生训练集和测试集数据
% temp=randperm(size(P,1));
temp=[37,19,20,47,22,35,13,8,23,24,57,49,48,9,4,60,17,67,31,64,5,51,54,39,58,18,11,65,3,28,56,34,66,21,62,25,30,63,16,15,61,33,10,53,2,26,14,41,40,45,7,43,42,12,27,59,6,46,32,1,52,44,55,50,36,29,38];
% 训练集60个样本
P_train=P(temp(1:60),:)';
T_train=T(temp(1:60),:)';
% 测试集7个样本
P_test=P(temp(61:end),:)';
T_test=T(temp(61:end),:)';
N = size(P_test,2);
%% 数据归一化
[p_train, ps_input]=mapminmax(P_train,0,1); % 训练集输入变量的归一化
p_test=mapminmax('apply',P_test,ps_input); % 测试集输入变量的归一化
[t_train,ps_output]=mapminmax(T_train,0,1); % 训练集输入结果的归一化
t_test=mapminmax('apply',T_test,ps_output); % 测试集输入结果的归一化
%% CNN模型的构建
% 创建网络层
layers = [
    imageInputLayer([60 111 1])
    convolution2dLayer(3,8,'Padding','same')
    batchNormalizationLayer
    reluLayer
   
    averagePooling2dLayer(2,'Stride',2)
    convolution2dLayer(3,16,'Padding','same')
    batchNormalizationLayer
    reluLayer
   
    averagePooling2dLayer(2,'Stride',2)
  
    convolution2dLayer(3,32,'Padding','same')
    batchNormalizationLayer
    reluLayer
   
    convolution2dLayer(3,32,'Padding','same')
    batchNormalizationLayer
    reluLayer
   
    dropoutLayer(0.2)
    fullyConnectedLayer(60)
    regressionLayer];
% 训练网络
miniBatchSize=20;
validationFrequency=floor(numel(t_train)/miniBatchSize); % 验证频率的定义
% 参数设置
options = trainingOptions('sgdm', ...
    'MiniBatchSize',miniBatchSize, ...
    'MaxEpochs',500, ... % 训练次数
    'InitialLearnRate',1e-3, ... % 初始学习率
    'LearnRateSchedule','piecewise', ...
    'LearnRateDropFactor',0.1, ...
    'LearnRateDropPeriod',20, ... % 在20轮后降低学习率
    'Shuffle','every-epoch', ...
    'ValidationData',{p_test',t_test}, ... % 测试集数据
    'ValidationFrequency',validationFrequency, ...
    'Plots','training-progress', ...
    'Verbose',false);
cnnnet=trainNetwork(p_train',t_train,layers,options);
layers(1,1).InputSize(1,1)=7;
t_sim=predict(cnnnet,p_test);

附录二
源程序与数据 我放在网盘了,不消耗大家的积分了(我居然没有权限放ulr链接(尴尬))
http(删除)s://pan.baidu.com(删除)/s/15s_FnLo(删除)GVdPImq(删除)3wvG0eSQ


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-10-11 16:06:10 | 显示全部楼层
可以向你学习一下吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-3-10 16:22:55 | 显示全部楼层
涛涛?                  
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-4-3 15:01:23 | 显示全部楼层

嘿嘿肖老师
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-4-3 18:21:12 | 显示全部楼层
啊哦,你来晚了,分享的文件已经被删除了,下次要早点哟。{:5_275:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-18 22:35:33 | 显示全部楼层
可以向你们学习一下吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-18 22:38:00 | 显示全部楼层
麻烦能留个QQ或者微信的联系方式吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-19 11:47:41 | 显示全部楼层
但是我有些急,下学期10月底的样子就要开题,导师只是觉得这个题热,然后就让我做,基本就是自学,如果有空还是希望能提供一些帮助,在气象家园上看关于神经网络的帖子还挺少的
谢谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-27 20:10:30 | 显示全部楼层
你好,能再分享一下你的源程序吗?我也刚学这一块,希望有空能提供一些帮助,感谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-4-17 23:48:16 | 显示全部楼层
老师,能不能留个QQ,我也是做这方面的,有个问题想向您请教一下。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表