基于pytorch使用一维卷积网络CNN的单特征的风速预测项目实战(适用于单特征预测问题)

本文主要是介绍基于pytorch使用一维卷积网络CNN的单特征的风速预测项目实战(适用于单特征预测问题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、项目简介

本项目基于Pytorch使用一维卷积网络(CNN)实现时间序列(风速)的预测,只使用风速一个特征来预测风速,适用于单特征序列的预测问题,适用于初学预测的小伙伴。大部分代码参考多个网络上的代码,本人主要对整个项目分解到各个py文件中形成一个完整项目的基本框架,其他类似项目可以用这个框架进行修改,此外本人还对部分细节进行了修改,例如增加和修改了loss计算和相应的绘图,还增加了对pth文件的使用。

二、数据集

采用的是wind_dataset.csv,数据集时间、风速、降雨量等等参数,本项目只采用风速特征来预测未来一天的风速,即WIND这一列。数据展示如下

 三、我的实验环境

平台:window11
语言:python3.9
编译器:Pycharm
Pytorch:1.13.1+cu116

四、实验内容及文件说明

1、model.py

model.py定义了项目用到的网络模型,本项目用到的模型是三层的一维卷积网络,使用relu激活,全连接层输出预测结果。

 2、Config.py

 Config.py文件定义了项目所需要用到的所有参数,把这些参数统一整合到一个文件中,实现参数的统一管理。

 3、train.py

train.py是项目训练过程的通用代码,其他项目也可以在它的基础上修改后使用。

 4、DataSplit.py 数据划分

DataSplit.py 是实现数据划分的函数,通过滑动窗口,将每个timestep大小的数据作为训练数据,将其后面一个数据作为预测结果,再进行划分训练数据和标签,最后分成训练集和验证集

5、test_wind_CNN.py 训练文件

该py文件实现整体训练流程并做绘图操作。依次实现加载数据、数据标准化、取出WIND数据、划分训练集测试集、数据转化为Tensor、形成数据更迭器、载入模型、定义损失、定义优化器、开始训练、损失可视化、显示预测结果。

五、实验结果

以下实验结果展示的是epochs=80的训练过程,使用进度条展示训练过程

​训练完成后输出损失对比如图所示。


 选取200个点进行预测展示,其中蓝色是预测的数据,红色的实际的,第一张图是训练数据的预测效果,第二张图是测试集的训练效果。可以看出来,一些极端值的预测效果不太好。

六、总结及资源

此篇作为毕设笔记记录下来,若有朋友需要源码,可以关注OurTwenty公众号,回复【风速预测cnn】,即可获得。

这篇关于基于pytorch使用一维卷积网络CNN的单特征的风速预测项目实战(适用于单特征预测问题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/205358

相关文章

python使用库爬取m3u8文件的示例

《python使用库爬取m3u8文件的示例》本文主要介绍了python使用库爬取m3u8文件的示例,可以使用requests、m3u8、ffmpeg等库,实现获取、解析、下载视频片段并合并等步骤,具有... 目录一、准备工作二、获取m3u8文件内容三、解析m3u8文件四、下载视频片段五、合并视频片段六、错误

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

Windows下C++使用SQLitede的操作过程

《Windows下C++使用SQLitede的操作过程》本文介绍了Windows下C++使用SQLite的安装配置、CppSQLite库封装优势、核心功能(如数据库连接、事务管理)、跨平台支持及性能优... 目录Windows下C++使用SQLite1、安装2、代码示例CppSQLite:C++轻松操作SQ

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安