当前位置: 首页 > news >正文

企业微网站哪家好东莞专业的单位网站建设

企业微网站哪家好,东莞专业的单位网站建设,网站开发开票交税额,建设银行英文网站#x1f368; 本文为#x1f517;365天深度学习训练营中的学习记录博客#x1f356; 原作者#xff1a;K同学啊 任务#xff1a; 数据集中提供了火灾温度#xff08;Tem1#xff09;、一氧化碳浓度#xff08;CO 1#xff09;烟雾浓度#xff08;Soot 1#xff09;… 本文为365天深度学习训练营中的学习记录博客 原作者K同学啊 任务 数据集中提供了火灾温度Tem1、一氧化碳浓度CO 1烟雾浓度Soot 1。随着时间变化数据需要根据这些数据对未来某一时刻的火灾温度做出预测。 要求 1.了解LSTM是什么并使用其构建一个完整的程序 2.R2达到0.83 拔高 使用第1-8个时刻的数据预测第9-10个时刻的温度数据 一、理论知识基础 1.LSTM原理 LSTM---RNN进阶版 如果RNN的最大限度是理解一句话则LSTM的最大限度是理解一段话。 具体 LSTM长短期记忆网络Long Short Term Memory networks,一种特有的RNN能够学习到长期依赖关系。 所有的循环神经网络都有着重复的神经网络模块形成链的形式。在普通的RNN中、重复模块结构非常简单其结构如下 LSTM避免了长期以来的问题、可以记住长期信息 LSTM内部有较为复杂的结构能通过门控状态来选择调整传输的信息需要长时间记忆的信息忘记不重要的信息。 2.LSTM的数据处理流程 将时序数据LSTM输入数据以可视化形式呈现。 根据输入的数据结构、预测输出、程序可以分为以下六类 3.代码实现 1.前期准备 1.1导入数据 import torch.nn.functional as F import numpy as np import pandas as pd import torch from torch import nn数据训练营提供 data pd.read_csv(/PythonProject/woodpine2.csv)print(data) 结果输出 因为过年台式机不在身边尝试在线代码平台。 问题Module Not FoundErrorNo module named ‘torch’ 这个在线平台与平常学习环境很类似比较好上手但还没有找到如何安装torch的正确方法。 显示已经装好torch但实际上没有办法继续使用还在寻找更合适的方法。 1.2数据集可视化 import matplotlib.pyplot as plt import seaborn as snsplt.rcParams[savefig.dpi] 500 #图片像素 plt.rcParams[figure.dpi] 500 #分辨率fig, ax plt.subplots(1,3,constrained_layoutTrue, figsize(14, 3))sns.lineplot(datadata[Tem1], axax[0]) sns.lineplot(datadata[CO 1], axax[1]) sns.lineplot(datadata[Soot 1], axax[2]) plt.show()结果输出 dataFrame data.iloc[:,1:] print(dataFrame)2.构建数据集 2.1数据集预处理 from sklearn.preprocessing import MinMaxScaler dataFrame data.iloc[:,1:].copy() sc MinMaxScaler(feature_range(0, 1)) #将数据归一化范围是0到1for i in [CO 1, Soot 1, Tem1]:dataFrame[i] sc.fit_transform(dataFrame[i].values.reshape(-1, 1))print(dataFrame.shape)2.2设置x、y width_X 8 width_y 1X [] y []in_start 0for _, _ in data.iterrows():in_end in_start width_Xout_end in_end width_yif out_end len(dataFrame):X_ np.array(dataFrame.iloc[in_start:in_end , ])y_ np.array(dataFrame.iloc[in_end :out_end, 0])X.append(X_)y.append(y_)in_start 1X np.array(X) y np.array(y).reshape(-1,1,1)print(X.shape, y.shape)结果输出 2.3划分数据集 X_train torch.tensor(np.array(X[:5000]), dtypetorch.float32) y_train torch.tensor(np.array(y[:5000]), dtypetorch.float32)X_test torch.tensor(np.array(X[5000:]), dtypetorch.float32) y_test torch.tensor(np.array(y[5000:]), dtypetorch.float32)print(X_train.shape, y_train.shape)结果输出 from torch.utils.data import TensorDataset, DataLoadertrain_dl DataLoader(TensorDataset(X_train, y_train),batch_size64, shuffleFalse)test_dl DataLoader(TensorDataset(X_test, y_test),batch_size64, shuffleFalse)3.模型训练 3.1构建LSTM模型 # 构建模型 class model_lstm(nn.Module): classmodel_lstmclassmodel_lstm def __init__(self): super(model_lstm, self).__init__() self.lstm0 nn.LSTM(input_size3 ,hidden_size320, num_layers1, batch_firstTrue) self.lstm1 nn.LSTM(input_size320 ,hidden_size320,num_layers1, batch_firstTrue) self.fc0 nn.Linear(320, 1) def forward(self, x): Defforwardselfx out, hidden1 self.lstm0(x) out, _ self.lstm1(out, hidden1) out self.fc0(out) return out[:, -1:, :] #取2个预测值,否则经过lstm会得到8*2个预测 model model_lstm() print(model model模型) 修改后得到 model(torch.rand(30,8,3)).shape   3.2定义训练/测试函数 # 定义训练函数 import copy def train(train_dl, model, loss_fn, opt, lr_schedulerNone):size len(train_dl.dataset) num_batches len(train_dl) train_loss 0 # 初始化训练损失和正确率for x, y in train_dl: x, y x.to(device), y.to(device)# 计算预测误差pred model(x) # 网络输出loss loss_fn(pred, y) # 计算网络输出和真实值之间的差距# 反向传播opt.zero_grad() # grad属性归零loss.backward() # 反向传播opt.step() # 每一步自动更新# 记录losstrain_loss loss.item()if lr_scheduler is not None:lr_scheduler.step()print(learning rate {:.5f}.format(opt.param_groups[0][lr]), end )train_loss / num_batchesreturn train_loss# 定义测试函数 def test (dataloader, model, loss_fn): size len(dataloader.dataset) # 测试集的大小 num_batches len(dataloader) # 批次数目 test_loss 0 # 当不进行训练时停止梯度更新节省计算内存消耗 with torch.no_grad(): for x, y in dataloader: x, y x.to(device), y.to(device) # 计算loss y_pred model(x) loss loss_fn(y_pred, y) test_loss loss.item() test_loss / num_batches return test_loss 3.3正式训练 #设置GPU训练 devicetorch.device(cuda if torch.cuda.is_available() else cpu) deviceX_test X_test.to(device)#训练模型 model model_lstm() model model.to(device) loss_fn nn.MSELoss() # 创建损失函数 learn_rate 1e-1 # 学习率 opt torch.optim.SGD(model.parameters(),lrlearn_rate,weight_decay1e-4) epochs 50 train_loss [] test_loss [] lr_scheduler torch.optim.lr_scheduler.CosineAnnealingLR(opt,epochs, last_epoch-1) for epoch in range(epochs):model.train()epoch_train_loss train(train_dl, model, loss_fn, opt, lr_scheduler)model.eval()epoch_test_loss test(test_dl, model, loss_fn)train_loss.append(epoch_train_loss)test_loss.append(epoch_test_loss)template (Epoch:{:2d}, Train_loss:{:.5f}, Test_loss:{:.5f})print(template.format(epoch1, epoch_train_loss, epoch_test_loss))print(*20, Done, *20)让同学帮忙跑了代码得到部分结果 4.模型评估 4.1 LOSS图 import matplotlib.pyplot as plt importmatplotlib.pyplotaspltplt.figure(figsize(5, 3),dpi120) 图图大小5.3dpi120 plt.plot(train_loss , labelLSTM Training Loss) plt.plottrain_lossLabel LSTM训练损失 plt.plot(test_loss, labelLSTM Validation Loss) plt.plottest_losstag LSTM验证丢失 plt.title(Training and Validation Loss) plt.title“培训和验证损失” plt.legend() legend plt.show() plt.show搜索结果 4.2调用模型进行预测 # 测试集输入模型进行预测 # predicted_y_lstm sc.inverse_transform(model(X_test).detach().numpy().reshape(-1,1)) predicted_y_lstm sc.inverse_transform(model(X_test).detach().cpu().numpy().reshape(-1,1)) y_test_1 sc.inverse_transform(y_test.reshape(-1,1)) y_test_one [i[0] for i in y_test_1] predicted_y_lstm_one [i[0] for i in predicted_y_lstm]plt.figure(figsize(5, 3),dpi120) # 画出真实数据和预测数据的对比曲线 plt.plot(y_test_one[:2000], colorred, labelreal_temp) plt.plot(predicted_y_lstm_one[:2000], colorblue, labelprediction)plt.title(Title) plt.xlabel(X) plt.ylabel(Y) plt.legend() plt.show()4.3R2值评估 from sklearn import metricsRMSE 均方根误差 ----- 对均方误差开方 R2 决定系数可以简单理解为反映模型拟合优度的重要的统计量RMSE_lstm metrics.mean_squared_error(predicted_y_lstm_one, y_test_1)**0.5 R2_lstm metrics.r2_score(predicted_y_lstm_one, y_test_1)print(均方根误差: %.5f % RMSE_lstm) print(R2: %.5f % R2_lstm)二、总结 这周真的很混乱身边没有台式机在线平台也没有想象中好用可能是我没有找到方式。LSTM学习掌握的很一般明天就能有台式机。重新修改学习记录。文字知识已大致掌握还需要代码加强。 LSTM的优点 1.解决梯度消失问题传统的RNN在处理长序列时容易出现梯度消失的问题导致难以训练。 2.捕捉长期依赖关系相比传统的RNNLSTM有更好的记忆性能可以在处理序列数据时保留较远的上下文信息。 3.可以学习到时序特征LSTM具有对时间的敏感性能够学习到时序数据中的模式和特征。这使得LSTM在时间序列预测、信号处理等任务中具有优势。 LSTM的缺点 1.计算优化 2.模型简化 3.数据增强和迁移学习 这周真是失败的一次学习打卡。。。困难多多
http://www.sczhlp.com/news/260711/

相关文章:

  • 沭阳奥体小区做网站的wordpress 中文 图片不显示
  • python flask做网站网站月流量5g
  • 网站开发有哪些术语吉林省 网站建设
  • 网站专题页面策划青岛快速网站排名
  • 西安网站微信开发免费域名申请 freenom最新
  • 网站常见问题是什么民治营销型网站费用
  • 做网站需要什么团队拓展游戏
  • 毕业设计做视频网站设计加强文明网站内容建设
  • 培训机构一般在什么网站做推广海口注册公司流程及费用
  • net网站开发net网站开发黄金网站软件app视频
  • 社交网站备案wordpress文章摘要
  • 建设银行网站查询房贷信息查询免费网站建设找云狄
  • 鞍山网站开发公司seo优化是什么职业
  • 男女做那事是什 网站快速搭建外贸网站
  • 推广型网站建设电话wordpress 作者昵称
  • 网站备案专员湛江市seo网站设计联系方式
  • 建设银行网站电脑上不去英语网站开发
  • 怎样用自己的服务器建设网站wordpress标签数量
  • 做网站的图片素材编程的网站
  • 掌网站开发的基本流程海宏集团网站建设方案
  • 企业手机网站cms系统岗顶网站开发
  • 手机网站设计规格本地搭建网站
  • 新东方英语写作基础
  • 软件在照明产品DFMEA中的特殊性与应用
  • 流线型的网站建设企业网站建设怎么样
  • 网站建设小江网页设计郑州陆港开发建设有限公司网站
  • 光辉网络 石家庄网站建设logo注册
  • 做经营网站怎么赚钱吗山东省建设厅官方网站怎么样
  • 专业网站建html网页期末作业模板
  • 云南旅游网站设计平顶山市城乡建设职工培训网站