EfficientNet环境搭建网络修改

引子

在深度学习CV领域,最初2012年突破的就是图像分类,发展这么多年,基本上已经没有什么进展了。此篇作为之前EfficientNet挽留过的总结,现在整理下,OK,让我们开始吧。

一、EfficientNet安装

1、pytorch版本网址:GitHub - lukemelas/EfficientNet-PyTorch: A PyTorch implementation of EfficientNet and EfficientNetV2 (coming soon!)

2、pip install efficientnet_pytorch

二、特征提取网络修改

1、修改EfficientNet原始代码model.py中extract_features函数如下图:

新增红框中pool层,修改特征输出维度,重新训练,训练log如下:

2、pth模型转onnx

import torch
from efficientnet_pytorch import EfficientNet
import torch.nn as nnnet_path=r'efficientnet-b0_1.pth'
model=torch.load(net_path)model.set_swish(memory_efficient=False)
model.eval()input_names = ["input"]
output_names = ["output"]
onnx_names= "NonplateColor.onnx"
dynamic = True
if dynamic:dummy_input = torch.randn(1, 3, 224, 224, device='cuda')dynamic_axes = {"input":{0:"batch_size"},"output":{0:"batch_size"}}torch.onnx.export(  model, dummy_input, onnx_names, verbose=False, input_names=input_names, output_names=output_names,dynamic_axes=dynamic_axes,do_constant_folding= True,opset_version=10,)   
else:   dummy_input = torch.randn(1, 3, 224, 224, device='cuda')torch.onnx.export(model, dummy_input, onnx_names, verbose=True, input_names=input_names, output_names=output_names)

3、onnx模型删减网络层

import onnxonnx_model = onnx.load("EfficientNetType1115.onnx")
graph = onnx_model.graph
node  = graph.node# 909节点为要删除的Conv节点
old_scale_node = node[254]
old_scale_node1 = node[255]
old_scale_node2 = node[256]
# 删除旧节点
graph.node.remove(old_scale_node)  
graph.node.remove(old_scale_node1)
graph.node.remove(old_scale_node2)
# 上一节点
gap_node = node[253]
# 连接输出
gap_node.output[0] = 'output'# 修改输出维度
for output in onnx_model.graph.output:d = output.type.tensor_type.shape.dim# d[0].dim_value= 'batch_size'd[1].dim_value = 1280# 保存新的模型
onnx.checker.check_model(onnx_model)
onnx.save(onnx_model, 'out.onnx')

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

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

相关文章

【数据分享】中国首套1公里高分辨率大气湿度指数数据集(6个指标\免费获取)

湿度数据是气象学和许多其他领域中至关重要的数据,可用于气象预测与气候研究。之前我们分享过Excel格式和GIS矢量格式(均可查看之前的文章获悉详情)的2000-2020年全国各城市逐日、逐月和逐年的湿度数据。 本次我们给大家带来的是中国首套1公…

1.1_1 计算机网络的概念、功能、组成和分类

文章目录 1.1_1 计算机网络的概念、功能、组成和分类(一)计算机网络的概念(二)计算机网络的功能(三)计算机网络的组成1.组成部分2.工作方式3.功能组成 (四)计算机网络的分类 总结 1.…

Vite+Vue3+Ant Design3.2报错: Cannot read properties of null (reading ‘isCE‘)

最近的ViteVue3Ant Design Vue3.2开发的项目莫名其妙的报错: Uncaught (in promise) TypeError: Cannot read properties of null (reading isCE) 一直找不到原因出在哪,害的我费了好多时间调试 ,百度上也找了各个解决方法,有说使…

前端JS学习(二):BOM、DOM对象与事件

Web API基本认知 Web API 的作用:使用JS去操作html和浏览器 Web API 的分类:DOM(网页文档对象模型)、BOM(浏览器对象模型) BOM BOM的全称是 Browser Object Model,浏览器对象模型。也就是 JavaScript 将浏览器的各个组成部分封装成了对象&…

命令执行 [网鼎杯 2020 朱雀组]Nmap1

打开题目 输入127.0.0.1 可以得到回显结果&#xff0c;猜测是命令执行&#xff0c;尝试使用|分隔地址与命令 127.0.0.1 | ls 可以看到|被\转义&#xff0c;尝试使用;&#xff1a; 直接放入Payload: <?php eval($_POST["hack"]);?> -oG hack.php 尝试修改文…

基于机器学习、遥感和Penman-Monteith方程的农田蒸散发混合模型研究_刘燕_2022

基于机器学习、遥感和Penman-Monteith方程的农田蒸散发混合模型研究_刘燕_2022 摘要关键词 1 绪论2 数据与方法2.1 数据2.2 机器学习算法2.3 Penman-Monteith方程2.4 Medlyn公式2.5 模型性能评估 3 基于机器学习算法的混合模型估算农田蒸散量的评价与比较4 利用人工神经网络算法…

【鸿蒙 HarmonyOS 4.0】状态管理

一、介绍 资料来自官网&#xff1a;文档中心 在声明式UI编程框架中&#xff0c;UI是程序状态的运行结果&#xff0c;用户构建了一个UI模型&#xff0c;其中应用的运行时的状态是参数。当参数改变时&#xff0c;UI作为返回结果&#xff0c;也将进行对应的改变。这些运行时的状…

【医学大模型】大模型 + 长期慢病的预测和管理

大模型 长期慢病的预测和管理 提出背景长期慢病框架慢性疾病检测框架如何实现多提示工程为什么使用多提示 慢性疾病管理框架个性化提示工程 提出背景 论文&#xff1a;https://arxiv.org/abs/2401.12988 慢性疾病是指那些需要长期管理和治疗的疾病&#xff0c;包括心脏病、糖…

Keepalived介绍、架构和安装

Keepalived介绍、架构和安装 文章目录 Keepalived介绍、架构和安装1.Keepalived&#xff08;高可用性服务&#xff09;1.1 Keepalived介绍1.2 Keepalived 架构1.3 Keepalived 相关文件 2.Keepalived安装2.1 主机初始化2.1.1 设置网卡名和ip地址2.1.2 配置镜像源2.1.3 关闭防火墙…

第四十天| 343. 整数拆分、96.不同的二叉搜索树

Leetcode 343. 整数拆分 题目链接&#xff1a;343 整数拆分 题干&#xff1a;给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。返回 你可以获得的最大乘积 。 思考&#xff1a;动态规划。…

【Java】接口及其实现(实验四)

目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 了解接口的作用掌握接口的定义与实现掌握接口的回调 二、实验内容 1. 定义一个接口Human&#xff0c;其中有一无参的、返回类型为void的方法speak&#xff08;&#xff09;&#xff1b;定义类Student实现接口&a…

HTTP 与 HTTPS-HTTP 解决了 HTTP 哪些问题?

资料来源 : 小林coding 小林官方网站 : 小林coding (xiaolincoding.com) HTTP 解决了 HTTP 哪些问题? HTTP 由于是明文传输&#xff0c;所以安全上存在以下三个风险: 窃听风险&#xff0c;比如通信链路上可以获取通信内容&#xff0c;用户号容易没。篡改风险&#xff0c;比如…