首页 > 其他分享 >12/13每日总结

12/13每日总结

时间:2023-12-13 18:03:17浏览次数:35  
标签:总结 13 12 nn 拓扑 torch train hidden size

拓扑排序

简介

拓扑排序就是找到做事的先后顺序

每个AOV网可能有一个或者多个拓扑排序

实现

①从AOV网中选择一个没有前驱(入度为0)的顶点并输出。 ②从网中删除该顶点和所有以它为起点的有向边。 ③重复①和②直到当前的AOV网为空或当前网中不存在无前驱的顶点为止。

使用三个数组进行实现

分别是 记录当前顶点入度的数组indegree 记录拓扑序列的数组print 保存度为零的顶点栈s

逆拓扑排序

将拓扑排序中的入度更换成出度即可,使用邻接表不适合实现逆拓扑排序,应该使用逆邻接表或者邻接矩阵

看完李沐的视频后,希望将所有练习竞赛进行一遍

波士顿房价预测

首先进行数据预处理

数据预处理先将训练集测试集合并,主要进行正规化,处理缺失值,将str转化为独热编码,然后将训练集的target进行单独保存

确定loss

nn库,例如nn.MSEloss()

搭建net

使用nn.Sequential作为容器开始搭建,同样使用nn

构建train函数

传入参数 输入 标签 测试输入
传入超参learning_rate,epochs, batch_size,weight_decay
使用迭代器
传入后构建优化器,optimizer
torch.clamp的作用是将值限制在一定范围内
import torch
 from torch import nn
 # x_train = x_train.drop('Id',axis=1)
 input_size  = x_train.shape[1]
 hidden_size = 10
 output_size = 1
 batch_size = 128
 neu = nn.Sequential(
     nn.Linear(input_size,hidden_size),
     nn.ReLU(),
     nn.Linear(hidden_size,hidden_size),
     nn.ReLU(),
     nn.Linear(hidden_size,output_size)
 )
 loss = nn.MSELoss()
 optimizer = torch.optim.Adam(neu.parameters(),lr=0.001)
 losses = []
 loss_a = []
 y_train = train_data['Sold Price']
 for i in range(0,len(x_train),batch_size):
     x = torch.tensor(x_train[i:i+batch_size].values,dtype=torch.float32)
     y = torch.tensor(y_train[i:i+batch_size].values,dtype=torch.float32).view(-1,1)
     y_pred = neu(x)
     l = loss(y_pred,y)
     losses.append(l.item())
     optimizer.zero_grad()
     l.backward()
     optimizer.step()
     if i % 1000 == 0:
         print(i)
         loss_a.append(sum(losses)/len(losses))
         losses = []
 import matplotlib.pyplot as plt
 plt.plot(loss_a)
 plt.show()
 

再简单不过的一次练习就完成了

标签:总结,13,12,nn,拓扑,torch,train,hidden,size
From: https://blog.51cto.com/u_16196891/8804805

相关文章

  • 12/13每日总结
    拓扑排序简介拓扑排序就是找到做事的先后顺序每个AOV网可能有一个或者多个拓扑排序实现①从AOV网中选择一个没有前驱(入度为0)的顶点并输出。②从网中删除该顶点和所有以它为起点的有向边。③重复①和②直到当前的AOV网为空或当前网中不存在无前驱的顶点为止。使用三个数组进行实现......
  • 2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条, 首先将字母a
    2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条,首先将字母a到z编号为0到25编号,纸条上共有n个整数ai,其中a1表示密码里第一个字母的编号,若i>1的话就表示第i个字母和第i-1个字母编号的差值,例如,a2就代表密码中第1个字母和第2个字母编号的差值,若密码是acb,那么纸......
  • 2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条, 首先将字母a
    2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条,首先将字母a到z编号为0到25编号,纸条上共有n个整数ai,其中a1表示密码里第一个字母的编号,若i>1的话就表示第i个字母和第i-1个字母编号的差值,例如,a2就代表密码中第1个字母和第2个字母编号的差值,若密码是acb,......
  • 网络流小总结
    \[\Huge\color{lightblue}\text{网络流启动}\]概念网络边带权的有向图,只存在一个原点\(s\)和汇点\(t\)。边\(<u,v>\)的权值\(c(u,v)\)表示这个点的容量。流\(f(u,v)\)满足:流量限制,即\(f(u,v)\leqc(u,v)\)。流量守恒,即对\(u\nes,u\net\),\(\sumf(u,v)=\sumf......
  • 2023.12.13日报
    最近事情比较多,写日报也有点怠惰了,主要是偶尔会忘记,简单总结一下这两天的工作首先是使用jfinal做大作业,实话说这玩意一开始我觉得并不好用,因为页面也很简陋,后端也有点看不懂但是在实际体验并且调用百度翻译和图像处理的api后,感觉用起来还可以,其实和springboot有点类似现在是已......
  • Codeforces Round 812 (Div. 2)
    基本情况第一次赛时做出div2的ABC。然而B题是秒的最快的?A题卡了一段时间经典+4,C题代码实现卡了一段时间。A.TravelingSalesmanProblemProblem-A-Codeforces卡题分析主要原因在少了特判,没有自己多构造几个特殊情况数据。这是一开始的代码voidsolve(){ intn,......
  • 4412 设备树 没有eth0 没有加载 dm9621 驱动。
    问题: 在4412的板卡上烧写完,设备树的镜像之后,系统启动之后,发现没有网络。 这种情况,在从新烧写一遍镜像就可以了,具体原因不清楚,可能跟设备树的uboot的烧写命令有关。  总结:4412 8G以及16Gemmc的核心板在设备树的镜像上网络上都是可以的,主要就是需要多烧......
  • Solution Set 2023.12.13
    CF1736ESwapandTake设在第\(i\)次操作后产生贡献的值为初始序列的\(a_{p_i}\),可以发现产生的贡献的指针移动方式为每次向后移动\(1\),而通过交换数字最多可以使得某个数字每次向后移动\(1\),由此可以得出每次产生贡献的位置单调不减,即\(p_1\lep_2\le\cdots\lep_n\)......
  • 【2023-12-12】家庭分工
    20:00人们说得好,在耕种多年的田地里,一年又一年长出新的谷子;完全可以相信“从读过的旧书里”人们也一定能学到新的知识。                                                ......
  • 1211 | 和PAI一起,每周玩转AI,活动开始了
    【和PAI一起,每周玩转AI】系列活动上线了!人工智能平台PAI提供近万元免费云上资源,助力开发者们体验AIGC能力。参与每周AIGC主题活动,有机会赢取小米手环8、小米充电宝等多重好礼!加入AIGC活动钉群,及时了解每周最新AI活动!......