vgg16网络搭建可运行代码

news2024/11/27 5:31:23

目录

1.我搭建的是这一个

2.方法一,用一个sequential配置

2 方法二,用cfg进行配置


1.我搭建的是这一个

2.方法一,用一个sequential配置

import torch
from torch import nn
from torchinfo import summary

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        self.layer=nn.Sequential(
            nn.Conv2d(3,64,3,1,1),
            nn.Conv2d(64,64,3,1,1),
            nn.MaxPool2d(2),
            nn.Conv2d(64,128,3,1,1),
            nn.Conv2d(128,128,3,1,1),
            nn.MaxPool2d(2),
            nn.Conv2d(128,256,3,1,1),
            nn.Conv2d(256,256,3,1,1),
            nn.Conv2d(256,256,3,1,1),
            nn.MaxPool2d(2),
            nn.Conv2d(256,512,3,1,1),
            nn.Conv2d(512,512,3,1,1),
            nn.Conv2d(512,512,3,1,1),
            nn.MaxPool2d(2),
            nn.Conv2d(512, 512, 3, 1, 1),
            nn.Conv2d(512, 512, 3, 1, 1),
            nn.Conv2d(512, 512, 3, 1, 1),
            nn.MaxPool2d(2),

        )
        self.linear=nn.Sequential(
            nn.Flatten(1),
            nn.Linear(512 * 7 * 7, 4096),
            nn.Linear(4096, 4096),
            nn.Linear(4096, 1000),
            nn.Softmax(dim=1)
        )
    def forward(self,x):
        x=self.layer(x)
        x=self.linear(x)
        return x
if __name__ == '__main__':
    x=torch.randn(1,3,224,224)
    net=Net()
    out=net(x)
    print(out.shape)
    summary(net,(1,3,224,224))

summary是打印网络结构信息

2 方法二,用cfg进行配置


import cv2
import torch
from torch import nn
from torchinfo import summary
cfg={
    'vgg':[
        64,64,'M',
        128,128,'M',
        256,256,256,'M',
        512,512,512,'M',
        512,512,512,'M'
    ]
}
class Net(nn.Module):
    def __init__(self):
        super().__init__()
        layer=[]
        out_ch=3
        for in_ch in cfg['vgg']:
            if in_ch=='M':
                layer+=[nn.MaxPool2d(2)]
            else:
                layer+=[nn.Conv2d(out_ch,in_ch,3,1,1)]
                out_ch=in_ch#容易出错
        self.layer=nn.Sequential(*layer)
        self.linear=nn.Sequential(
            nn.Flatten(),
            nn.Linear(512*7*7,4096),
            nn.Linear(4096,4096),
            nn.Linear(4096,1000)
        )
    def forward(self,x):
        x=self.layer(x)
        x=self.linear(x)
        return x
if __name__ == '__main__':
    x=torch.randn(1,3,224,224)
    net=Net()
    out=net(x)
    print(out.shape)

 

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

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

相关文章

el-table固定指定的行

这个整个表格数据都是后台返回的,并不是合并表格的那种,所以需要手动对表格进行样式处理! <el-table :data"tableData" border height"calc(400px - 0.52rem)" max-height"calc(400px - 0.52rem)" :row-class-name"TableRowClassNa…

如何降低光伏项目的初始投资成本?

高昂的初始投资成本一直是制约光伏项目发展的主要因素之一。本文将从多个方面探讨如何有效降低光伏项目的初始投资成本。 一、优化系统设计 1.合理规划组件布局 光伏项目的系统设计是降低成本的关键。合理的组件布局可以最大化利用光照资源&#xff0c;提高发电效率。根据安装…

Word怎么转换成PDF?介绍三种转换小妙招

Word怎么转换成PDF&#xff1f;在日常工作和学习中&#xff0c;Microsoft Word文档&#xff08;.docx&#xff09;因其强大的编辑功能而广受欢迎。然而&#xff0c;在需要将文档发送给不同用户或进行长期存档时&#xff0c;PDF格式&#xff08;.pdf&#xff09;因其跨平台兼容性…

Hyper-v下Linux虚拟机的FTP传输资源解决办法

由于linux环境下全新安装测试的需要&#xff0c;决定使用虚拟机来解决&#xff0c;正好win10 pro自带了Hyper-v 虚拟机&#xff0c;然后主机bios里开启虚拟指令支持&#xff0c;关闭hyper-v的uefi安全启动项&#xff0c;选择一个本地的ubuntu 20.04.6.iso当安装镜像&#xff0c…

数据结构与算法 - AVL树

一、概述 1. 历史 AVL树是一种自平衡二叉搜索树&#xff0c;由托尔哈斯特罗姆在1960年提出并在1962年发表。它的名字来源于发明者的名字&#xff1a;Adelson-Velsky和Landis&#xff0c;他们是苏联数学家&#xff0c;于1962年发表了一篇论文&#xff0c;详细介绍了AVL树的概念…

插画用什么软件?11款不可低估的绘图工具推荐

现如今插画已经成为设计师的必备武器&#xff0c;而你是否被插画困住过设计进度呢&#xff1f;今天。即时设计设计师就来给大家来个“投机取巧”的好方法&#xff0c;特意为大家整理了11款绘制插画软件&#xff0c;尤其是第一款更是拥有3000插画素材&#xff0c;不仅省时省力&a…

前端day3-表格

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>day3-表格</title> </head> <body&g…

社交媒体分享预览图片和内容修改

在facebook发帖分享链接时&#xff0c;设置预览图片和内容 设置预览图片和内容 <head> <meta name"description" content"我是内容" /> </head> <body><img src"./1.jpg" alt"SEO Image" style"dis…

MapStruct丝滑替换BeanUtils.copyProperties

文章目录 1 工具应用场景2 使用效果3 使用方法3.1 引入jar包3.2 指定lombok与MapStruct执行顺序3.3 定义Mapper接口3.4 重新打包 4 练习手段 1 工具应用场景 BeanUtils.copyProperties拷贝对象同名属性&#xff0c;利用反射原理&#xff0c;耗时长&#xff0c;在对性能要求高的…

SEO专家教你玩转谷歌外链!

​要想玩转谷歌外链&#xff0c;你得了解并掌握以下三种主流的外链策略。每种策略在不同情况下都有独到之处&#xff0c;具体怎么做&#xff0c;我来详细说说。 1.GPB独立站外链。这种方式主要是在数量较少的独立域名上发布全是dofollow的链接。关键在于确保链接的高质量和持久…

清洁能源时代,ARMxy智慧网关为风电行业保驾护航

在全球能源转型的背景下&#xff0c;清洁能源的发展成为了各国关注的焦点。风电作为一种可再生能源&#xff0c;具有巨大的发展潜力。而 ARMxy 工控机作为工业自动化领域的重要设备&#xff0c;在风电行业中发挥着至关重要的作用&#xff0c;为清洁能源的发展提供了有力的支持。…

角色模块开发

文章目录 &#x1f31e; Sun Frame&#xff1a;SpringBoot 的轻量级开发框架&#xff08;个人开源项目推荐&#xff09;&#x1f31f; 亮点功能&#x1f4e6; spring cloud模块概览常用工具 &#x1f517; 更多信息1.easycode生成基础代码1.配置2.将dao层代码剪切到mapper层3.A…

设计师的救星,效率插件大合集!有了它设计效率翻倍

作为一名设计师&#xff0c;我相信大家都有这样的痛苦经历&#xff1a;为了完成一个设计项目&#xff0c;得下载一堆工具&#xff0c;像 snipaste、pureref、eagle 等&#xff0c;每个都要单独下载、单独打开使用。还有一些效率工具&#xff0c;比如 utools 或 hapigo&#xff…

OpenCV图像滤波(6)高斯滤波函数GaussianBlur()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 函数使用高斯滤波器对图像进行模糊处理。 该函数使用指定的高斯核对源图像进行卷积。支持原位过滤。 高斯模糊是一种有效的图像平滑技术&#xf…

实验23.硬盘分区,并编写硬盘驱动程序

已完成实验 已完成实验链接 简介 实验 23. 硬盘分区&#xff0c;并编写硬盘驱动程序 总结 创建硬盘并分区 加载硬盘分区 实现 printk 使能硬盘中断 interrupt.c idel 线程,主线程阻塞后此线程保底 thread.c sleep 函数 timer.c 加载分区信息 ide.c 创建硬盘 fdisk …

[Web服务器] 简易静态Web服务器的搭建

什么是Web服务器 可以为发出请求的浏览器提供静态文档的程序。 平时我们浏览百度新闻数据的时候&#xff0c;每天的新闻数据都会发生变化&#xff0c;那访问的这个页面就是动态的&#xff0c;而我们开发的是静态的&#xff0c;每天访问我们自己的静态web服务器&#xff0c;页面…

宠物托运网站如何搭建?5步帮你吸引70%顾客!

引言 随着人们生活水平的提高和宠物文化的普及&#xff0c;越来越多的宠物主人开始选择带着自己的宠物一同旅行或搬迁至新的城市。这一趋势催生了宠物托运服务行业的快速发展&#xff0c;而一个专业、高效的宠物托运网站则成为了连接宠物主人与托运服务提供商之间不可或缺的桥…

七夕情人节送什么礼物?四款好物分享,情侣必看!

在浪漫的七夕情人节&#xff0c;为心爱的人挑选一份特别的礼物是每对情侣表达爱意的重要方式。市场上琳琅满目的选择让人眼花缭乱&#xff0c;究竟什么样的礼物能触动TA的心弦&#xff1f;本篇分享将为您精选四款既实用又充满情意的好物&#xff0c;无论是甜蜜的开始还是长久的…

【区块链+医疗健康】医链 - 区块链医疗信息管理系统 | FISCO BCOS应用案例

根据《“十四五”规划和 2035 远景目标纲要》&#xff0c;我国在“十四五”时期将全面推进医疗信息化建设。工信部等部 门联合发布《关于加快推动区块链技术应用和产业发展的指导意见》&#xff0c;促进区块链在医疗健康等公共服务领域开 展应用&#xff0c;促进业务协同办理。…

1. dact-admin 中如何发布一个表并添加到导航栏

1.页面脚手架中根据自己需求选择生成的文件例如模型、控制器、翻译文件、数据库迁移文件等 访问 http://【你的域名】/admin/helpers/scaffold 例如&#xff1a; http://localhost:8000/admin/helpers/scaffold 2. 新建好之后来到路由文件 路径随便写&#xff0c;当然按照惯…