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

网站建设管理工作自查报告ppt图标网站链接怎么做

网站建设管理工作自查报告,ppt图标网站链接怎么做,一个网站一年多少钱,wordpress打不开仪表盘写在前面 从本次开始#xff0c;接触一些上层应用。 本次通过经典的模型#xff0c;开始本次任务。这里开始学习resnet50网络模型#xff0c;应该也会有resnet18#xff0c;估计18的模型速度会更快一些。 resnet 通过对论文的结论进行展示#xff0c;说明了模型的功能接触一些上层应用。 本次通过经典的模型开始本次任务。这里开始学习resnet50网络模型应该也会有resnet18估计18的模型速度会更快一些。 resnet 通过对论文的结论进行展示说明了模型的功能解决了卷积网络层数加大后模型的退化问题。20层和56层相比层数越大模型效果越差因此resnet主要解决这种问题。hekaiming是真的强呀。 基本流程 整理模型数据构建模型网络核心逻辑ResidualBlockBase/ResidualBlock创建模型一层 构建网络的代码 from typing import Type, Union, List, Optional import mindspore.nn as nn from mindspore.common.initializer import Normal# 初始化卷积层与BatchNorm的参数 weight_init Normal(mean0, sigma0.02) gamma_init Normal(mean1, sigma0.02)class ResidualBlockBase(nn.Cell):expansion: int 1 # 最后一个卷积核数量与第一个卷积核数量相等def __init__(self, in_channel: int, out_channel: int,stride: int 1, norm: Optional[nn.Cell] None,down_sample: Optional[nn.Cell] None) - None:super(ResidualBlockBase, self).__init__()if not norm:self.norm nn.BatchNorm2d(out_channel)else:self.norm normself.conv1 nn.Conv2d(in_channel, out_channel,kernel_size3, stridestride,weight_initweight_init)self.conv2 nn.Conv2d(in_channel, out_channel,kernel_size3, weight_initweight_init)self.relu nn.ReLU()self.down_sample down_sampledef construct(self, x):ResidualBlockBase construct.identity x # shortcuts分支out self.conv1(x) # 主分支第一层3*3卷积层out self.norm(out)out self.relu(out)out self.conv2(out) # 主分支第二层3*3卷积层out self.norm(out)if self.down_sample is not None:identity self.down_sample(x)out identity # 输出为主分支与shortcuts之和out self.relu(out)return out创建模型一层 def make_layer(last_out_channel, block: Type[Union[ResidualBlockBase, ResidualBlock]],channel: int, block_nums: int, stride: int 1):down_sample None # shortcuts分支if stride ! 1 or last_out_channel ! channel * block.expansion:down_sample nn.SequentialCell([nn.Conv2d(last_out_channel, channel * block.expansion,kernel_size1, stridestride, weight_initweight_init),nn.BatchNorm2d(channel * block.expansion, gamma_initgamma_init)])layers []layers.append(block(last_out_channel, channel, stridestride, down_sampledown_sample))in_channel channel * block.expansion# 堆叠残差网络for _ in range(1, block_nums):layers.append(block(in_channel, channel))return nn.SequentialCell(layers)创建模型 搭建一个4层的网络。 from mindspore import load_checkpoint, load_param_into_netclass ResNet(nn.Cell):def __init__(self, block: Type[Union[ResidualBlockBase, ResidualBlock]],layer_nums: List[int], num_classes: int, input_channel: int) - None:super(ResNet, self).__init__()self.relu nn.ReLU()# 第一个卷积层输入channel为3彩色图像输出channel为64self.conv1 nn.Conv2d(3, 64, kernel_size7, stride2, weight_initweight_init)self.norm nn.BatchNorm2d(64)# 最大池化层缩小图片的尺寸self.max_pool nn.MaxPool2d(kernel_size3, stride2, pad_modesame)# 各个残差网络结构块定义self.layer1 make_layer(64, block, 64, layer_nums[0])self.layer2 make_layer(64 * block.expansion, block, 128, layer_nums[1], stride2)self.layer3 make_layer(128 * block.expansion, block, 256, layer_nums[2], stride2)self.layer4 make_layer(256 * block.expansion, block, 512, layer_nums[3], stride2)# 平均池化层self.avg_pool nn.AvgPool2d()# flattern层self.flatten nn.Flatten()# 全连接层self.fc nn.Dense(in_channelsinput_channel, out_channelsnum_classes)def construct(self, x):x self.conv1(x)x self.norm(x)x self.relu(x)x self.max_pool(x)x self.layer1(x)x self.layer2(x)x self.layer3(x)x self.layer4(x)x self.avg_pool(x)x self.flatten(x)x self.fc(x)return x 接下来连接数据和模型网络开始构建容易使用的网络。在这里设置了模型残差的方法和每个block。 def _resnet(model_url: str, block: Type[Union[ResidualBlockBase, ResidualBlock]],layers: List[int], num_classes: int, pretrained: bool, pretrained_ckpt: str,input_channel: int):model ResNet(block, layers, num_classes, input_channel)if pretrained:# 加载预训练模型download(urlmodel_url, pathpretrained_ckpt, replaceTrue)param_dict load_checkpoint(pretrained_ckpt)load_param_into_net(model, param_dict)return modeldef resnet50(num_classes: int 1000, pretrained: bool False):ResNet50模型resnet50_url https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/models/application/resnet50_224_new.ckptresnet50_ckpt ./LoadPretrainedModel/resnet50_224_new.ckptreturn _resnet(resnet50_url, ResidualBlock, [3, 4, 6, 3], num_classes,pretrained, resnet50_ckpt, 2048) 模型训练和评估 并没有完全训练使用了预训练的方法下载了预训练的模型。 # 定义ResNet50网络 network resnet50(pretrainedTrue)# 全连接层输入层的大小 in_channel network.fc.in_channels fc nn.Dense(in_channelsin_channel, out_channels10) # 重置全连接层 network.fc fc有了模型网络接下来需要进行模型训练。训练的过程要设置学习率、优化器和损失函数。 # 设置学习率 num_epochs 1 lr nn.cosine_decay_lr(min_lr0.00001, max_lr0.001, total_stepstep_size_train * num_epochs,step_per_epochstep_size_train, decay_epochnum_epochs) # 定义优化器和损失函数 opt nn.Momentum(paramsnetwork.trainable_params(), learning_ratelr, momentum0.9) loss_fn nn.SoftmaxCrossEntropyWithLogits(sparseTrue, reductionmean)def forward_fn(inputs, targets):logits network(inputs)loss loss_fn(logits, targets)return lossgrad_fn ms.value_and_grad(forward_fn, None, opt.parameters)def train_step(inputs, targets):loss, grads grad_fn(inputs, targets)opt(grads)return loss之后进行多个epoch的迭代实现模型训练的目标。 import mindspore.ops as opsdef train(data_loader, epoch):模型训练losses []network.set_train(True)for i, (images, labels) in enumerate(data_loader):loss train_step(images, labels)if i % 100 0 or i step_size_train - 1:print(Epoch: [%3d/%3d], Steps: [%3d/%3d], Train Loss: [%5.3f] %(epoch 1, num_epochs, i 1, step_size_train, loss))losses.append(loss)return sum(losses) / len(losses)def evaluate(data_loader):模型验证network.set_train(False)correct_num 0.0 # 预测正确个数total_num 0.0 # 预测总数for images, labels in data_loader:logits network(images)pred logits.argmax(axis1) # 预测结果correct ops.equal(pred, labels).reshape((-1, ))correct_num correct.sum().asnumpy()total_num correct.shape[0]acc correct_num / total_num # 准确率return acc# 开始循环训练 print(Start Training Loop ...)for epoch in range(num_epochs):curr_loss train(data_loader_train, epoch)curr_acc evaluate(data_loader_val)print(- * 50)print(Epoch: [%3d/%3d], Average Train Loss: [%5.3f], Accuracy: [%5.3f] % (epoch1, num_epochs, curr_loss, curr_acc))print(- * 50)# 保存当前预测准确率最高的模型if curr_acc best_acc:best_acc curr_accms.save_checkpoint(network, best_ckpt_path)print( * 80) print(fEnd of validation the best Accuracy is: {best_acc: 5.3f}, fsave the best ckpt file in {best_ckpt_path}, flushTrue) 进行多轮训练之后达到训练的目的模型开始进行收敛并且能够获取到最终的结果。 最后进行评估这个并不复杂。 打开
http://www.w-s-a.com/news/112293/

相关文章:

  • 网站建设费用怎么做分录做校园网站代码
  • 网站改版做重定向福州网站建设思企
  • 网站建设全流程企业形象网站开发业务范畴
  • wordpress无法查看站点西安优秀高端网站建设服务商
  • 固始网站制作熟悉免费的网络营销方式
  • 做网站到a5卖站赚钱搜索引擎优化代理
  • 沈阳网站建设包括win10优化
  • 做百度手机网站点击软网站seo优化徐州百度网络
  • 徐州专业网站制作标志设计作业
  • 自己可以做网站空间吗海天建设集团有限公司网站
  • 教学督导网站建设报告aspcms网站图片不显示
  • 网站开发公司成本是什么门户网站宣传方案
  • 上海 企业网站建设网站怎么开通微信支付
  • 饮料网站建设wordpress主题猫
  • 网站建设需要编码不有没有专门的网站做品牌授权的
  • 做爰在线网站免费空间列表
  • 网站外链建设工作总结郑州网站建设扌汉狮网络
  • 建设企业网站的需要多长时间网站使用说明书模板
  • 建网站首页图片哪里找263企业邮箱网页版登录
  • 盐城网站建设电话高端定制网站
  • 成都网站seo技术施工企业样板先行制度
  • 高端网站建设电话河北建筑工程信息网站
  • 亲 怎么给一个网站做备份财务系统有哪些软件
  • wordpress重新手机优化专家下载
  • 怎样把网站做成软件设计工作室怎么接单
  • html网站设计实例代码重庆多个区划定风险区
  • 推广方案设计同一个网站可以同时做竞价和优化
  • 论坛网站开发 go电商扶贫网站建设
  • 个人建站教程优秀的定制网站建设
  • 农村建设集团有限公司网站下载百度极速版