个人做电商网站赚钱吗青岛建站模板厂家

news/2025/10/1 0:13:09/文章来源:
个人做电商网站赚钱吗,青岛建站模板厂家,网站首页轮播,做刀网站参考自 up主的b站链接#xff1a;霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频这位大佬的博客 Fun_机器学习,pytorch图像分类,工具箱-CSDN博客 1. GoogLeNet网络详解 GoogLeNet在2014年由Google团队提出#xff08;与VGG网络同年#xff0c;注意GoogLeNet中的L大…参考自  up主的b站链接霹雳吧啦Wz的个人空间-霹雳吧啦Wz个人主页-哔哩哔哩视频这位大佬的博客 Fun_机器学习,pytorch图像分类,工具箱-CSDN博客 1. GoogLeNet网络详解 GoogLeNet在2014年由Google团队提出与VGG网络同年注意GoogLeNet中的L大写是为了致敬LeNet斩获当年ImageNet竞赛中Classification Task (分类任务) 第一名。 原论文地址深度学习面试题20GoogLeNet(Inception V1) - 黎明程序员 - 博客园 (cnblogs.com) GoogLeNet 的创新点 1.引入了 Inception 结构融合不同尺度的特征信息 2.使用1x1的卷积核进行降维以及映射处理 虽然VGG网络中也有但该论文介绍的更详细 3.添加两个辅助分类器帮助训练 4.丢弃全连接层使用平均池化层大大减少模型参数除去两个辅助分类器网络大小只有vgg的1/20   inception 结构 传统的CNN结构如AlexNet、VggNet下图都是串联的结构即将一系列的卷积层和池化层进行串联得到的结构 这里GoogleNet提出了并联的思路 将特征矩阵同时输入到多个分支进行处理并将输出的特征矩阵按深度进行拼接得到最终输出 inception的作用增加网络深度和宽度的同时减少参数 在 inception 的基础上还可以加上降维功能的结构如下图所示在原始 inception 结构的基础上在分支234上加入了卷积核大小为1x1的卷积层目的是为了降维减小深度减少模型训练参数减少计算量。 1×1卷积核的降维功能 同样是对一个深度为512的特征矩阵使用64个大小为5x5的卷积核进行卷积不使用1x1卷积核进行降维的 话一共需要819200个参数如果使用1x1卷积核进行降维一共需要50688个参数明显少了很多。 辅助分类器Auxiliary Classifier AlexNet 和 VGG 都只有1个输出层GoogLeNet 有3个输出层其中的两个是辅助分类层。 如下图所示网络主干右边的 两个分支 就是 辅助分类器其结构一模一样。 在训练模型时将两个辅助分类器的损失乘以权重论文中是0.3加到网络的整体损失上再进行反向传播。   辅助分类器的作用 作用一可以把他看做inception网络中的一个小细节它确保了即便是隐藏单元和中间层也参与了特征计算他们也能预测图片的类别他在inception网络中起到一种调整的效果并且能防止网络发生过拟合。 作用二给定深度相对较大的网络有效传播梯度反向通过所有层的能力是一个问题。通过将辅助分类器添加到这些中间层可以期望较低阶段分类器的判别力。在训练期间它们的损失以折扣权重辅助分类器损失的权重是0.3加到网络的整个损失上。   GoogLeNet 网络参数 pytorch搭建GoogLeNet 相比于 AlexNet 和 VggNet 只有卷积层和全连接层这两种结构GoogLeNet多了 inception 和 辅助分类器Auxiliary Classifier而 inception 和 辅助分类器 也是由多个卷积层和全连接层组合的因此在定义模型时可以将 卷积、inception 、辅助分类器定义成不同的类调用时更加方便。   import torch.nn as nn import torch import torch.nn.functional as Fclass GoogLeNet(nn.Module):# 传入的参数中aux_logitsTrue表示训练过程用到辅助分类器aux_logitsFalse表示验证过程不用辅助分类器def __init__(self, num_classes1000, aux_logitsTrue, init_weightsFalse):super(GoogLeNet, self).__init__()self.aux_logits aux_logitsself.conv1 BasicConv2d(3, 64, kernel_size7, stride2, padding3)self.maxpool1 nn.MaxPool2d(3, stride2, ceil_modeTrue)self.conv2 BasicConv2d(64, 64, kernel_size1)self.conv3 BasicConv2d(64, 192, kernel_size3, padding1)self.maxpool2 nn.MaxPool2d(3, stride2, ceil_modeTrue)self.inception3a Inception(192, 64, 96, 128, 16, 32, 32)self.inception3b Inception(256, 128, 128, 192, 32, 96, 64)self.maxpool3 nn.MaxPool2d(3, stride2, ceil_modeTrue)self.inception4a Inception(480, 192, 96, 208, 16, 48, 64)self.inception4b Inception(512, 160, 112, 224, 24, 64, 64)self.inception4c Inception(512, 128, 128, 256, 24, 64, 64)self.inception4d Inception(512, 112, 144, 288, 32, 64, 64)self.inception4e Inception(528, 256, 160, 320, 32, 128, 128)self.maxpool4 nn.MaxPool2d(3, stride2, ceil_modeTrue)self.inception5a Inception(832, 256, 160, 320, 32, 128, 128)self.inception5b Inception(832, 384, 192, 384, 48, 128, 128)if self.aux_logits:self.aux1 InceptionAux(512, num_classes)self.aux2 InceptionAux(528, num_classes)self.avgpool nn.AdaptiveAvgPool2d((1, 1))self.dropout nn.Dropout(0.4)self.fc nn.Linear(1024, num_classes)if init_weights:self._initialize_weights()def forward(self, x):# N x 3 x 224 x 224x self.conv1(x)# N x 64 x 112 x 112x self.maxpool1(x)# N x 64 x 56 x 56x self.conv2(x)# N x 64 x 56 x 56x self.conv3(x)# N x 192 x 56 x 56x self.maxpool2(x)# N x 192 x 28 x 28x self.inception3a(x)# N x 256 x 28 x 28x self.inception3b(x)# N x 480 x 28 x 28x self.maxpool3(x)# N x 480 x 14 x 14x self.inception4a(x)# N x 512 x 14 x 14if self.training and self.aux_logits: # eval model lose this layeraux1 self.aux1(x)x self.inception4b(x)# N x 512 x 14 x 14x self.inception4c(x)# N x 512 x 14 x 14x self.inception4d(x)# N x 528 x 14 x 14if self.training and self.aux_logits: # eval model lose this layeraux2 self.aux2(x)x self.inception4e(x)# N x 832 x 14 x 14x self.maxpool4(x)# N x 832 x 7 x 7x self.inception5a(x)# N x 832 x 7 x 7x self.inception5b(x)# N x 1024 x 7 x 7x self.avgpool(x)# N x 1024 x 1 x 1x torch.flatten(x, 1)# N x 1024x self.dropout(x)x self.fc(x)# N x 1000 (num_classes)if self.training and self.aux_logits: # eval model lose this layerreturn x, aux2, aux1return xdef _initialize_weights(self):for m in self.modules():if isinstance(m, nn.Conv2d):nn.init.kaiming_normal_(m.weight, modefan_out, nonlinearityrelu)if m.bias is not None:nn.init.constant_(m.bias, 0)elif isinstance(m, nn.Linear):nn.init.normal_(m.weight, 0, 0.01)nn.init.constant_(m.bias, 0)# Inception结构 class Inception(nn.Module):def __init__(self, in_channels, ch1x1, ch3x3red, ch3x3, ch5x5red, ch5x5, pool_proj):super(Inception, self).__init__()self.branch1 BasicConv2d(in_channels, ch1x1, kernel_size1)self.branch2 nn.Sequential(BasicConv2d(in_channels, ch3x3red, kernel_size1),BasicConv2d(ch3x3red, ch3x3, kernel_size3, padding1) # 保证输出大小等于输入大小)self.branch3 nn.Sequential(BasicConv2d(in_channels, ch5x5red, kernel_size1),BasicConv2d(ch5x5red, ch5x5, kernel_size5, padding2) # 保证输出大小等于输入大小)self.branch4 nn.Sequential(nn.MaxPool2d(kernel_size3, stride1, padding1),BasicConv2d(in_channels, pool_proj, kernel_size1))def forward(self, x):branch1 self.branch1(x)branch2 self.branch2(x)branch3 self.branch3(x)branch4 self.branch4(x)outputs [branch1, branch2, branch3, branch4]return torch.cat(outputs, 1) # 按 channel 对四个分支拼接 # 辅助分类器 class InceptionAux(nn.Module):def __init__(self, in_channels, num_classes):super(InceptionAux, self).__init__()self.averagePool nn.AvgPool2d(kernel_size5, stride3)self.conv BasicConv2d(in_channels, 128, kernel_size1) # output[batch, 128, 4, 4]self.fc1 nn.Linear(2048, 1024)self.fc2 nn.Linear(1024, num_classes)def forward(self, x):# aux1: N x 512 x 14 x 14, aux2: N x 528 x 14 x 14x self.averagePool(x)# aux1: N x 512 x 4 x 4, aux2: N x 528 x 4 x 4x self.conv(x)# N x 128 x 4 x 4x torch.flatten(x, 1)x F.dropout(x, 0.5, trainingself.training)# N x 2048x F.relu(self.fc1(x), inplaceTrue)x F.dropout(x, 0.5, trainingself.training)# N x 1024x self.fc2(x)# N x num_classesreturn x# 基础卷积层卷积ReLU class BasicConv2d(nn.Module):def __init__(self, in_channels, out_channels, **kwargs):super(BasicConv2d, self).__init__()self.conv nn.Conv2d(in_channels, out_channels, **kwargs)self.relu nn.ReLU(inplaceTrue)def forward(self, x):x self.conv(x)x self.relu(x)return xtrain.py 实例化网络时的参数 net GoogLeNet(num_classes5, aux_logitsTrue, init_weightsTrue)GoogLeNet的网络输出 loss 有三个部分分别是主干输出loss、两个辅助分类器输出loss权重0.3 logits, aux_logits2, aux_logits1 net(images.to(device)) loss0 loss_function(logits, labels.to(device)) loss1 loss_function(aux_logits1, labels.to(device)) loss2 loss_function(aux_logits2, labels.to(device)) loss loss0 loss1 * 0.3 loss2 * 0.3predict # create model model GoogLeNet(num_classes5, aux_logitsFalse)# load model weights model_weight_path ./googleNet.pth但是在加载训练好的模型参数时由于其中是包含有辅助分类器的需要设置strictFalse missing_keys, unexpected_keys model.load_state_dict(torch.load(model_weight_path), strictFalse)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923380.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重庆市交通建设工会网站网站模板外包

锁 概述 保证并发访问数据库数据的一致性和有效性等。 全局锁-库锁 ​ 加锁后,整个数据库实例就处于只读状态,后续的DML语句,DDL语句,以及更新操作的事务提交语句都将会被阻塞。 典型使用场景: ​ 对全库做逻辑备…

四川省建设厅的注册中心网站南京比较好的软件公司

边界上有一只蚂蚁&#xff0c;它有时向 左 走&#xff0c;有时向 右 走。 给你一个 非零 整数数组 nums 。蚂蚁会按顺序读取 nums 中的元素&#xff0c;从第一个元素开始直到结束。每一步&#xff0c;蚂蚁会根据当前元素的值移动&#xff1a; 如果 nums[i] < 0 &#xff0…

【Rust GUI开发入门】编写一个本地音乐播放器(13. 实现按键绑定) - Jordan

本系列教程对应的代码已开源在 Github zeedle 本篇文章介绍Slint UI如何为播放器页面添加按键绑定,核心思路是当窗口聚焦时,扫描用户按键输入,命中指定按键时,自动调用相关回调函数。Slint UI支持FocusScope来处理…

C++ GUI 选型记

若干年前,我入门了 C++,写了一个控制台贪吃蛇,觉得自己逐渐理解一切……“我想创建 GUI!” 于是漫长的选型过程开始了。前言 若干年前,我入门了 C++,写了一个控制台贪吃蛇,觉得自己逐渐理解一切…… “我想创建…

mem reduct 没有托盘图标

我电脑内存不是很大,又不想一直挂个任务管理器,就装了个mem reduct,结果最近发现他的图标不显示了,我要的不就是这个吗?于是重新装了一遍它,还是不行……得,开始搜寻解决方法 最后在GitHub中和mem reduct毫不相…

python把图片合并成gif图

from PIL import Image import osimages = [Image.open(f) for f in sorted(os.listdir(J:\\PytorchProject\\jpg3\\)) if f.endswith(.jpg)] images[0].save(output2.gif, save_all=True, append_images=images[1:], …

TypeScript 泛型 T 详细解释

什么是泛型 T 是一个类型变量,代表"某种类型"举个例子loadMore: (page: number) => Promise<T[]>; 相当于说:这个函数返回一个Promise,Promise解析的结果是T类型的数组实际使用时的具体化 // 当…

网站建设夬金手指花总wordpress 国际支付宝

需求实现支付宝类似的效果&#xff1a; 思路&#xff1a; 1.首先建立展开收起按钮&#xff0c;这里使用的是uview里面的icon图标。 2.其次建立展开菜单内容&#xff0c;这里只演示了文本信息&#xff0c;后期引入首页应用。 3.最后写js逻辑&#xff0c;展开收起时改变盒子高度和…

【Rust GUI开发入门】编写一个本地音乐播放器(12. 国际化应用-多语言支持) - Jordan

本系列教程对应的代码已开源在 Github zeedle 本篇文章介绍Slint UI如何为播放器页面添加多语言支持,让你的应用走向国际!Translations | Slint Docs1. 使用@tr修饰.slint中的字面量 就像这样:2. 提取要翻译的字符串…

网站建设企业开发公司跨境进口网站怎么做

axios本身是没有同步请求的&#xff0c;要实现同步请求&#xff0c;用到的是ES7的async和await ES7的异步特性async / await async用于声明一个函数是异步的&#xff0c;await用于声明在一个异步函数中等待语句执行完毕。也就是说await只能在async函数中使用。简单示例如下&a…

网上销售 网站建设2020网页游戏

1.简介 Fiddler是一款强大的HTTP抓包工具&#xff0c;它能记录所有客户端和服务器的http和https请求&#xff0c;允许你监视&#xff0c;设置断点&#xff0c;甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说&#xff0c;都有很大的帮助。Fiddler提供的功能基本上能…

2025秋_6

今天学习了java

程序语言杂谈:C/C++

谈谈 C/C++ 的优劣C C++问世时间、创始公司 1972,Bell Laboratory 1979,Bell LaboratoryOOP 能力 不支持 强大,但复杂类型系统 强类型 强类型运行模式 原生编译 原生编译跨平台能力 一般 一般性能 极高 极高关键词 …

2025秋_7

今天学习了java

PEP8 规范

PEP8 是 Python 官方推荐的代码风格指南,旨在提高代码的可读性和一致性。 官方文档:https://legacy.python.org/dev/peps/pep-0008/ 中文翻译文档:https://blog.csdn.net/ratsniper/article/details/78954852 缩进与…

Pycharm 设置

使用新老 UI修改注释样式Block comment:修改多行注释的字体颜色 Doc Comment –> Text:修改文档注释的字体颜色 Line comment:修改单行注释的字体颜色

9.9网站怎么做wordpress文件上传函数

大家好,今日继续给大家讲解VBA数据库解决方案的第21讲,如何利用VBA代码在已有的数据表中删除&#xff0c;添加&#xff0c;修改字段。这个内容是操作数据库的一项必修的内容&#xff0c;还望大家在实际工作中多利用&#xff0c;所以这节的知识&#xff0c;对于读者提高自己的数…

[NOIP 2016 提高组] 组合数问题

我们先考虑暴力,暴力枚举每一个\(i,j\)暴力算\(\binom{i}{j}\) 时间复杂度为\(O(T*N^3)\),显然超时 然后我们发现\(N,M \le2000\) 我们考虑使用组合数的递推公式预处理\(\binom{0}{0}\)到\(\binom{2000}{2000}\)。 这…

学校网站建设需求分析做响应式网站最大宽度

实现: 1) cImage:抽象类; cImageReal:派生类, 不可直接实例化; cImageProxy:派生代理类, 可直接实例化用来代理cImageReal; NOTICE:派生代理类用来简化对特定派生类的使用. 使用: 实例化代理类, 然后使用. 1) 设计框架 /*image.hpp*/ #pragma once #…

网站后台上传文章用php做网站后台

一只小猴子一天摘了许多桃子&#xff0c;第一天吃了一半&#xff0c;然后忍不住又吃了一个&#xff1b;第二天又吃了一半&#xff0c;再加上一个&#xff1b;后面每天都是这样吃。到第10天的时候&#xff0c;小猴子发现只有一个桃子了。问小猴子第一天共摘了多少个桃子。 实例…