Python代码实现一个简单的循环神经网络RNN

发布时间:2026/9/28 16:11:31

Python代码实现一个简单的循环神经网络RNN 循环神经网络Recurrent Neural NetworkRNN是一种能够处理序列数据的神经网络模型常用于自然语言处理、时间序列分析等任务。使用Python和PyTorch库实现一个简单的循环神经网络并演示如何在一个简单的时间序列预测任务中使用该模型。importtorchimporttorch.nnasnn# 示例数据一个简单的时间序列data[10,20,30,40,50,60,70,80,90]# 定义时间窗口大小使用前3个时间步预测第4个时间步window_size3# 将时间序列转换为输入数据和目标数据inputs[]targets[]#例如inputs[10,20,30],targets[40];inputs[20,30,40],targets[50]foriinrange(len(data)-window_size):inputs.append(data[i:iwindow_size])targets.append(data[iwindow_size])print(finputs:{inputs})print(fttargets:{targets})# 将输入数据和目标数据转换为张量, inputs:[6,3,1]; targets:[6,1]inputstorch.tensor(inputs).float().unsqueeze(2)targetstorch.tensor(targets).float().unsqueeze(1)print(finputs:{inputs})print(fttargets:{targets})classSimpleRNN(nn.Module):def__init__(self,input_size,hidden_size,output_size):super(SimpleRNN,self).__init__()self.hidden_sizehidden_size# 隐藏层层数默认为1self.rnnnn.RNN(input_size,hidden_size,1,batch_firstTrue)self.fcnn.Linear(hidden_size,output_size)defforward(self,x):out,_self.rnn(x)outself.fc(out[:,-1,:])returnout# 定义模型参数input_size1# 输入特征维度时间序列数据维度hidden_size64# RNN隐层单元数量output_size1# 输出维度预测的时间序列维度# 创建模型实例modelSimpleRNN(input_size,hidden_size,output_size)# 定义损失函数和优化器criterionnn.MSELoss()optimizertorch.optim.Adam(model.parameters(),lr0.001)# 训练模型epochs5000forepochinrange(epochs):optimizer.zero_grad()outputsmodel(inputs)losscriterion(outputs,targets)loss.backward()optimizer.step()if(epoch1)%1000:print(fEpoch [{epoch1}/{epochs}], Loss:{loss.item():.4f})# 使用模型进行预测# 示例使用模型进行预测test_inputtorch.tensor([[70,80,90]]).float().unsqueeze(2)# 输入最后3个时间步predicted_outputmodel(test_input)print(f预测结果:{predicted_output.item()})
延伸阅读

更多相关文章

2026/9/28 16:11:24

Kimi K3 API 实战:长文本摘要生成与成本效益分析

在实际 AI 应用开发和技术选型中,面对众多大语言模型 API,如何选择一个既满足性能需求又具备成本效益的方案,是每个团队都会面临的挑战。近期,Kimi 智能助手推出的 K3 模型因其在长上下文处理上的突出表现而备受关注,但…

2026/9/20 4:10:26

绝区零自动化助手:5分钟解放双手的智能游戏管家

绝区零自动化助手:5分钟解放双手的智能游戏管家 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 还在为《绝区零…

2026/9/28 16:08:28

RK3588平台Facenet人脸识别模型部署实战全流程

1. 项目概述与整体技术方案1.1 这个项目到底在做什么最近在搞一个边缘端的人脸识别项目,硬件选型时纠结了很久,最后敲定了RK3588。原因很简单:这颗芯片的NPU算力有6 TOPS,带6个CPU核心(4个A764个A55)&#…

2026/9/28 16:08:28

前端全链路实战:HTML/CSS、Vue、Ajax与ElementPlus核心串联

这两年带了不少刚入行的前端新人,发现一个很普遍的现象:语法都看得懂,一写就废。问起来HTML标签能列一大堆,CSS属性也见过不少,Vue的指令背得溜熟,可真拿到一个页面需求,或者遇到一个线上bug&am…

2026/9/28 16:08:28

ARTEMIS:基于多模态大模型的AI原生移动端自动化框架实战

1. 项目缘起与核心定位移动端自动化测试和操作,一直是个让人又爱又恨的领域。爱的是它能把人从重复的点击、滑动、输入中解放出来;恨的是,传统方案要么依赖脆弱的坐标定位,要么需要深入系统底层的各种权限,维护成本高得…

2026/9/28 16:08:28

AI日报自动化工作流:Agent辅助抓取与LLM知识库实战

1. 从一份日报说起:AI 圈的信息密度正在失控每天早上打开订阅列表,我都有种被信息洪流拍在沙滩上的感觉。2026 年 9 月 18 日这一天尤其典型——Claude 生态又更新了工具链,Agent 框架冒出来三四个新面孔,LLM 知识库方案从学术圈一…

2026/9/28 16:08:26

Mars嵌入式时序数据库:工业边缘实时采集与SQL分析实战

简介:这是一份面向C#开发者与数据库系统学习者的实时数据库开源项目源码,聚焦数据采集、存储与分析三大核心场景,适用于工业物联网、传感器数据平台及.NET生态下的高性能数据服务开发。压缩包共1222个文件,以705个C#源文件&#x…

2026/9/28 3:03:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/28 6:05:15

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/28 6:07:41

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/28 0:02:03

广州外贸网站建设推广:从零搭建全流程拆解与真实报价避坑

广州外贸网站建设推广:从零搭建全流程拆解与真实报价避坑 改个需求建站公司拖一周,后台改个文案还得再交一笔“技术维护费”。这种憋屈事儿,做外贸的朋友太熟悉了。很多老板在找广州外贸网站建设推广服务商时,光盯着首页好不好看,却忽略了从零搭建一个能…

2026/9/28 0:02:04

搞懂百度竞价推广价格,网站性能优化别掉链子

搞懂百度竞价推广价格,网站性能优化别掉链子 网站突然打不开,浏览器弹出红色警告“此网站存在安全风险”,后台一看全是乱码代码和奇怪的跳转链接。这种网站被黑挂马的绝望感,很多刚转行做网站的朋友都经历过,尤其是那些为了省几百块钱服务器费用的新手。…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/26 19:58:38

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/28 1:59:25

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑