前言 【pytorch|使用循环神经网络(RNN, LSTM或GRU)实现气象数据预测pytorch】使用循环神经网络(RNN, LSTM或GRU)实现气象数据预测:
数据集:
tq.csv记录了某地每隔1小时的气象数据:
Date Time:时间(日期是 日月年 的格式)
p (mbar):大气压
T (degC):气温
rh (%):湿度
使用循环神经网络(RNN/LSTM/GRU之一)完成下列功能:输入最近n个小时的气象数据,预测之后24小时的气象数据
生成训练集和测试集:
以2014年及以前的数据为训练集
2015年及以后的数据为测试集
1.引入库 代码如下(示例):
import numpy as np
import pandas as pd
from torch.utils import data as datafrom sklearn.preprocessing import StandardScaler
from config import *
2.读入数据 代码如下(示例):
# 数据读取&dataloaderdata_path = cwd + 'data/tq.csv'train_data = https://www.it610.com/article/np.array(pd.read_csv(data_path, header=None).iloc[1:52622,1:]).astype('float32')
test_data = https://www.it610.com/article/np.array(pd.read_csv(data_path, header=None).iloc[52622:,1:]).astype('float32')scaler = StandardScaler()
train_data = https://www.it610.com/article/scaler.fit_transform(train_data)
test_data = scaler.transform(test_data)def split_Xy(data,n,steps=24):
data_X = []
data_y = []
num_Xy = (len(data) - (n + steps)) + 1
for i in range(num_Xy):
X = data[i:i+n, :]
data_X.append(X)
y = data[i+n:i+n+steps, :]
data_y.append(y)
return torch.from_numpy(np.array(data_X)).type(dtype=torch.float32), torch.from_numpy(np.array(data_y)).type(dtype=torch.float32)train_X,train_y = split_Xy(train_data,24)
test_X,test_y = split_Xy(test_data,24)train_dataset = data.TensorDataset(train_X,train_y)
test_dataset = data.TensorDataset(test_X,test_y)trainloader = data.DataLoader(train_dataset,
batch_size=128,
shuffle=True,drop_last=True, num_workers=0)
testloader = data.DataLoader(test_dataset,
batch_size=1024,drop_last=True, num_workers=0)
#完整代码:
https://download.csdn.net/download/weixin_47707533/85269806?spm=1001.2014.3001.5503
推荐阅读
- 语义分割|【语义分割项目实战】制作语义分割数据集,并使用U-Net进行实战检测
- 经典卷积网络|GoogLeNet网络结构详解
- pytorch|No module named ‘cv2‘ 解决方法
- 深度学习|RTX3080+Ubuntu18.04+cuda11.1+cudnn8.0.4+TensorFlow1.15.4+PyTorch1.7.0环境配置
- 安装教程|GeForce RTX 3060 + CUDA Toolkit + cuDNN + TensorFlow + PyTorch + Keras
- ubuntu|win10 rtx3060 安装ubuntu18.04双系统并配置深度学习环境
- 人工智能|人工智能-深度学习-手写数字识别
- pytorch|图像上采样方法 - 插值 反卷积 反池化
- 语义分割|上采样、反卷积、上池化的区别