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

做网站可能存在的问题网络规划设计师报名入口

做网站可能存在的问题,网络规划设计师报名入口,更新服务 wordpress,用vps和wordpress这里写目录标题 生成数据函数定义数据集定义loader加载数据定义神经网络模型测试输出是否为2个输入数据#xff0c;输出结果 训练模型函数计算正确率 训练数据并保存模型测试模型准备数据加载模型预测对比结果 生成数据函数 import randomdef get_rectangle():widthrandom.ra… 这里写目录标题 生成数据函数定义数据集定义loader加载数据定义神经网络模型测试输出是否为2个输入数据输出结果 训练模型函数计算正确率 训练数据并保存模型测试模型准备数据加载模型预测对比结果 生成数据函数 import randomdef get_rectangle():widthrandom.random()heightrandom.random()# 如果width大于height就是1否则就是0fatint(widthheight)return width,height,fatget_rectangle() (0.19267437580138802, 0.645061020860627, 0)fatint(0.80.9) fat0定义数据集 import torchclass Dataset(torch.utils.data.Dataset):def __init__(self):passdef __len__(self):return 1000def __getitem__(self,i):width,height,fatget_rectangle()# 这里注意width和height列表形式再转为tensor,另外是floattensorxtorch.FloatTensor([width,height])yfatreturn x,ydatasetDataset()# 这里没执行一次都要变有什么意义 len(dataset),dataset[999](1000, (tensor([0.4756, 0.1713]), 1))定义loader加载数据 # 定义了数据集然后使用loader去加载需要记住batch_size,shuffle,drop_last这个三个常用的 loadertorch.utils.data.DataLoader(datasetdataset,batch_size9,shuffleTrue,drop_lastTrue)# 加载完了以后就可以使用next去遍历了 len(loader),next(iter(loader))(111,[tensor([[0.1897, 0.6766],[0.2460, 0.2725],[0.5871, 0.7739],[0.3035, 0.9607],[0.7006, 0.7421],[0.4279, 0.9501],[0.6750, 0.1704],[0.5777, 0.1154],[0.5512, 0.3933]]),tensor([0, 0, 0, 0, 0, 0, 1, 1, 1])])# 输出结果 # (111, # [tensor([[0.3577, 0.3401], # [0.0156, 0.7550], # [0.0435, 0.4984], # [0.1329, 0.5488], # [0.4330, 0.5362], # [0.1070, 0.8500], # [0.1073, 0.2496], # [0.1733, 0.0226], # [0.6790, 0.2119]]), # tensor([1, 0, 0, 0, 0, 0, 0, 1, 1])]) 这里是torch自动将y组合成了一个tensor定义神经网络模型 class Model(torch.nn.Module):def __init__(self):super().__init__()# 定义神经网络结构self.fbtorch.nn.Sequential(# 第一层输入两个输出32个torch.nn.Linear(in_features2,out_features32),# 激活层的意思是小于0的数字变为0,即负数归零操作torch.nn.ReLU(),# 第二层输入是32个输出也是32个torch.nn.Linear(in_features32,out_features32),# 激活torch.nn.ReLU(),# 第三次输入32个输出2个torch.nn.Linear(in_features32,out_features2),# 激活生成的两个数字相加等于1torch.nn.Softmax(dim1))# 定义网络计算过程def forward(self,x):return self.fb(x)modelModel()测试输出是否为2个 # 测试 8行2列的数据让模型测试看是否最后输出是否也是8行一列model(torch.rand(8,2)).shapetorch.Size([8, 2])输入数据输出结果 model(torch.tensor([[0.3577, 0.3401]]))tensor([[0.5228, 0.4772]], grad_fnSoftmaxBackward)训练模型函数 def train():#定义优化器,le-4表示0.0004,10的负四次方opitimizertorch.optim.Adam(model.parameters(),lr1e-4)#定义损失函数 一般回归使用mseloss分类使用celossloss_fntorch.nn.CrossEntropyLoss()#然后trainmodel.train()# 全量数据遍历100轮for epoch in range(100):# 遍历loader的数据,循环一次取9条数据这里注意unpack时x就是【widthheight】for i,(x,y) in enumerate(loader):outmodel(x)# 计算损失lossloss_fn(out,y)# 计算损失的梯度loss.backward()# 优化参数opitimizer.step()# 梯度清零opitimizer.zero_grad()# 第二十轮的时候打印一下数据if epoch % 20 0:# 正确率# out.argmax(dim1) 表示哪个值大就说明偏移哪一类dim1暂时可以看做是固定的# (out.argmax(dim1)y).sum() 表示的true的个数acc(out.argmax(dim1)y).sum().item()/len(y)print(epoch,loss.item(),acc)torch.save(model,4.model) 计算正确率 执行的命令 print(out,“”,y,“”,(out.argmax(dim1)y).sum().item()) print(out.argmax(dim1),“------------”,(out.argmax(dim1)y),“~~~~~~~~~~~”,(out.argmax(dim1)y).sum()) 输出的结果 tensor([[9.9999e-01, 1.4671e-05], [4.6179e-14, 1.0000e00], [3.2289e-02, 9.6771e-01], [1.1237e-22, 1.0000e00],[9.9993e-01, 7.0015e-05],[8.6740e-02, 9.1326e-01],[1.1458e-18, 1.0000e00],[5.2558e-01, 4.7442e-01],[9.7923e-01, 2.0772e-02]], grad_fnSoftmaxBackward) tensor([0, 1, 1, 1, 0, 1, 1, 1, 0]) 8tensor([0, 1, 1, 1, 0, 1, 1, 0, 0]) ------------ tensor([ True, True, True, True, True, True, True, False, True]) ~~~~~~~~~~~ tensor(8) 解释 out.argmax(dim1) 表示哪个值大就说明偏移哪一类dim1暂时可以看做是固定的 (out.argmax(dim1)y).sum() 表示的true的个数 a torch.tensor([[1,2,3],[4,7,6]])d a.argmax(dim1) print(d)tensor([2, 1])训练数据并保存模型 train()80 0.3329530954360962 1.0 80 0.31511250138282776 1.0 80 0.33394935727119446 1.0 80 0.3242819309234619 1.0 80 0.3188716471195221 1.0 80 0.3405844569206238 1.0 80 0.32696405053138733 1.0 80 0.3540787696838379 1.0 80 0.3390745222568512 1.0 80 0.3645476996898651 0.8888888888888888 80 0.3371085822582245 1.0 80 0.31789034605026245 1.0 80 0.31553390622138977 1.0 80 0.3162603974342346 1.0 80 0.35249051451683044 1.0 80 0.3582523465156555 1.0 80 0.3162645995616913 1.0 80 0.37988030910491943 1.0 80 0.34384390711784363 1.0 80 0.31773826479911804 1.0 80 0.3145104646682739 1.0 80 0.31753242015838623 1.0 80 0.3222736120223999 1.0 80 0.38612237572669983 1.0 80 0.35490038990974426 1.0 80 0.34469687938690186 1.0 80 0.34534531831741333 1.0 80 0.31800928711891174 1.0 80 0.34892910718917847 1.0 80 0.33424195647239685 1.0 80 0.37350085377693176 1.0 80 0.3298128843307495 1.0 80 0.3715909719467163 1.0 80 0.3507140874862671 1.0 80 0.33337005972862244 1.0 80 0.3134789764881134 1.0 80 0.35244104266166687 1.0 80 0.3148314654827118 1.0 80 0.3376845419406891 1.0 80 0.3315282464027405 1.0 80 0.3450225591659546 1.0 80 0.3139556646347046 1.0 80 0.34932857751846313 1.0 80 0.3512738049030304 1.0 80 0.3258627951145172 1.0 80 0.3197799324989319 1.0 80 0.358166366815567 0.8888888888888888 80 0.3716268837451935 1.0 80 0.31426626443862915 1.0 80 0.32130196690559387 1.0 80 0.3207002282142639 1.0 80 0.3891155421733856 1.0 80 0.35045987367630005 1.0 80 0.32332736253738403 1.0 80 0.31951677799224854 1.0 80 0.3184094727039337 1.0 80 0.3341224491596222 1.0 80 0.3408585786819458 1.0 80 0.3139263093471527 1.0 80 0.33058592677116394 1.0 80 0.3134475648403168 1.0 80 0.3281571567058563 1.0 80 0.33370518684387207 1.0 80 0.33172252774238586 1.0 80 0.32849007844924927 1.0 80 0.3604048788547516 1.0 80 0.3651810884475708 1.0测试模型 准备数据 # 准备数据 x,fatnext(iter(loader)) x,fat(tensor([[0.6733, 0.4044],[0.6503, 0.0303],[0.9353, 0.9518],[0.4145, 0.6948],[0.9560, 0.8009],[0.6331, 0.0852],[0.5510, 0.8283],[0.1402, 0.2726],[0.3257, 0.8351]]),tensor([1, 1, 0, 0, 1, 1, 0, 0, 0]))加载模型预测 # 加载模型 modelltorch.load(4.model) # 使用模型 outmodell(x) outtensor([[1.5850e-04, 9.9984e-01],[1.4121e-06, 1.0000e00],[7.1068e-01, 2.8932e-01],[9.9994e-01, 5.5789e-05],[4.1401e-03, 9.9586e-01],[3.3441e-06, 1.0000e00],[9.9995e-01, 4.7039e-05],[9.9111e-01, 8.8864e-03],[1.0000e00, 1.5224e-06]], grad_fnSoftmaxBackward)out.argmax(dim1)tensor([1, 1, 0, 0, 1, 1, 0, 0, 0])对比结果 fattensor([1, 1, 0, 0, 1, 1, 0, 0, 0])查看上面out的结果和fat的结论一致不错
http://www.w-s-a.com/news/439933/

相关文章:

  • 怎么做网站后缀识别符号才不会变什么是电子商务网站建设
  • 中山 五金 骏域网站建设专家专门用来制作网页的软件是什么
  • 怎么做刷东西的网站数据分析软件工具有哪些
  • 官方购物网站正品交易网站域名
  • lol网站建设seo 网站太小
  • 网站建设销售职责手机网站制作软件
  • 福州百度企业网站seo如何在电脑上登录wordpress
  • 开发区全力做好网站建设网络广告营销成功案例
  • 114网站建设高并发系统架构
  • php网站打开一片空白wordpress中文广告插件下载
  • 怎样建自己的网站免费的百度关键词排名点击
  • 医院网站建设的特点怎么查看网站百度快照
  • 网站 如何备案一般网站开发公司
  • 做网站的公司 贵阳郑州新像素ui设计培训收费
  • 温州网站建设公司电话给个免费的网址
  • 个人做电子商务网站备案软考高级
  • 淘宝客需要自己做网站吗四川遂宁做网站的公司
  • 编写网站策划书缘魁上海网站建设
  • 梧州外贸网站推广设计wordpress 上传 七牛
  • 增加网站备案千灯做网站
  • 深圳做网站的公php做简易网站
  • 徐州哪家做网站好商业空间设计效果图
  • 重庆建网站cqiezscom大学毕业做网站插画师好吗
  • 在门户网站做产品seo怎么样做网站管理员
  • 动画做视频在线观看网站字体安装+wordpress
  • vs2015网站开发做珠宝建个网站推广怎么样
  • 大桥外语官方网站星做宝贝佛山微信网站开发
  • 河南建设网站公司哪家好怎样做一家网站
  • 安阳市哪里做网站建设网站流量怎么赚钱
  • 网站开发与优化课程总结软件班级网站建设