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

做网站app优惠活动的新手如何自己做网站

做网站app优惠活动的,新手如何自己做网站,企业首次建设网站的策划方案,自己做免费网站ResNet (Residual Network) 是由微软研究院的何凯明等人在2015年提出的一种深度卷积神经网络结构。ResNet的设计目标是解决深层网络训练中的梯度消失和梯度爆炸问题,进一步提高网络的表现。下面是一个ResNet模型实现,使用PyTorch框架来展示如何实现基本的…

        ResNet (Residual Network) 是由微软研究院的何凯明等人在2015年提出的一种深度卷积神经网络结构。ResNet的设计目标是解决深层网络训练中的梯度消失和梯度爆炸问题,进一步提高网络的表现。下面是一个ResNet模型实现,使用PyTorch框架来展示如何实现基本的ResNet结构。这个例子包括了一个基本的残差块(Residual Block)以及ResNet-18的实现,代码结构分为model.py(模型文件)和train.py(训练文件)。

model.py 

      首先,我们导入所需要的包 

import torch
from torch import nn
from torch.nn import functional as F

        然后,定义Resnet Block(ResBlk)类。

class ResBlk(nn.Module):def __init__(self):super(ResBlk, self).__init__()self.conv1 = nn.Conv2d(ch_in, ch_out, kernel_size=3, stride=1, padding=1)self.bn1 = nn.BatchNorm2d(ch_out)self.conv2 = nn.Conv2d(ch_out, ch_out, kernel_size=3, stride=1, padding=1)self.bn2 = nn.BatchNorm2d(ch_out)self.extra = nn.Sequential()if ch_out != ch_inself.extra = nn.Sequential(nn.Conv2d(ch_in, ch_out, kernel_size=3, stride=1)nn.BatchNorm2d(ch_out))def forward(self, x):out = F.relu(self.bn1(self.conv1(x)))out = F.relu(self.bn2(self.conv2(x)))out = self.extra(x) + outreturn out

        最后,根据ResNet18的结构对ResNet Block进行堆叠。

class Resnet18(nn.Module):def __init__(self):super(Resnet18, self).__init__()self.conv1 = nn.Sequential(nn.Conv2d(3, 64, kernel_size=3, stride=1, padding=1)nn.BatchNorm2d(64))self.blk1 = ResBlk(64, 128)self.blk2 = ResBlk(128, 256)self.blk3 = ResBlk(256, 512)self.blk4 = ResBlk(512, 1024)self.outlayer = nn.Linear(512, 10)def forward(self, x):x = F.relu(self.conv1(x))x = self.blk1(x)x = self.blk2(x)x = self.blk3(x)x = self.blk4(x)# print('after conv1:', x.shape)x = F.adaptive_avg_pool2d(x, [1,1])x = x.view(x.size(0), -1)x = self.outlayer(x)return x

        其中,在网络结构搭建过程中,需要用到中间阶段的图片参数,用下述测试过程求得。

def main():tmp = torch.randn(2, 3, 32, 32)out = blk(tmp)print('block', out.shape)x = torch.randn(2, 3, 32, 32)model = ResNet18()out = model(x)print('resnet:', out.shape)

train.py

        首先,导入所需要的包

import torch
from torchvision import datasets
from torchvision import transforms
from torch import nn, optimizer

        然后,定义main()函数

def main():batchsz = 32cifar_train = datasets.CIFAR10('cifar', True, transform=transforms.Compose([transforms.Resize((32, 32)),transforms.ToTensor()]), download=True)cifar_train = DataLoader(cifar_train, batch_size=batchsz, shuffle=True)cifar_test = datasets.CIFAR10('cifar', False, transform=transforms.Compose([transforms.Resize((32, 32)),transforms.ToTensor()]), download=True)cifar_test = DataLoader(cifar_test, batch_size=batchsz, shuffle=True)x, label = iter(cifar_train).next()print('x:', x.shape, 'label:', label.shape)device = torch.device('cuda')model = ResNet18().to(device)criteon = nn.CrossEntropyLoss()optimizer = optim.Adam(model.parameters(), lr=1e-3)print(model)for epoch in range(100):for batchidx, (x, label) in enumerate(cifar_train):x, label = x.to(device), label.to(device)logits = model(x)loss = criteon(logitsm label)optimizer.zero_grad()loss.backward()optimizer.step()print(loss.item())with torch.no_grad():total_correct = 0total_num = 0for x, label in cifar_test:x, label = x.to(device), label.to(device)logits = model(x)pred = logits.argmax(dim=1)total_correct += torch.eq(pred, label).floot().sum().item()total_num += x.size(0)acc = total_correct / total_numprint(epoch, acc)

http://www.dinnco.com/news/11848.html

相关文章:

  • 最好网站建站公司网站seo关键词优化技巧
  • 有没有可以做翻译的网站吗营销网站
  • 网站建设推广怎么做有哪些免费推广网站
  • iis默认网站在哪里网站seo站长工具
  • 沈阳城市建设学院官方网站全网营销国际系统
  • 课程网站开发开题报告怎样设计一个网页
  • 专门做节日预购网站有哪些it培训机构排行榜
  • 述职报告ppt免费模板下载北京做网络优化的公司
  • java网站开发免费的推广引流软件
  • 江岸区建设局网站奇零seo赚钱培训
  • 建论坛网站杭州云优化信息技术有限公司
  • wordpress读取文件内容企业整站seo
  • 集团网站建设 中企动力百度首页登录
  • 二手商标网青岛百度快速优化排名
  • 怎样用云服务器做网站在百度怎么发布作品
  • 怎么在百度建设网站seo平台优化
  • 网站建设的完整流程包括哪些淘宝seo搜索优化工具
  • 怎么做网站管理系统坚持
  • 柳市网站制作百度百家号注册
  • 南宁营销型网站建设小程序seo
  • 什么网站做执法仪百度导航
  • qq浏览器在线网页seo赚钱项目
  • 本地网站构建百度站长工具链接提交
  • 做网站学习百度代理查询系统
  • asp.net学校网站整站系统源码百度统计代码安装位置
  • 营销网站搭建百度指数搜索热度大学
  • 广州市恒嘉建设有限公司网站百度搜索引擎
  • asp网站建设教程产品推广方式及推广计划
  • 公司注册流程及资料安徽网站seo
  • 好的兼职做调查网站爱站网挖掘关键词