Tensorflow2.0 YOLO篇之模型搭建与训练

基于TensorFlow2.0的YOLOV2训练过程 本文主要讲解YOLOV2的训练过程,包含数据集准备,训练集预处理,损失函数编写,模型搭建,反向传播梯度求解等,包含基于Tensorflow2.0源码。 阅读详情

Tensorflow2.0之 YOLO篇模型搭建与训练



这一篇我们就要结束yolo2的代码了,代码和相关资料的下载链接在博客的最后面,文章只是模型搭建和训练的过程,代码里面涉及到的一些函数是上几篇博客中提到的,有兴趣可以去看看。

模型搭建

YOLO的训练模型我们选择在进行优化Dartnet-19,并选择其的参数数据进行初始化
在这里插入图片描述

  • DartNet
class SpaceToDepth(layers.Layer):

    def __init__(self, block_size, **kwargs):
        self.block_size = block_size
        super(SpaceToDepth, self).__init__(**kwargs)

    def call(self, inputs):
        x = inputs
        batch, height, width, depth = K.int_shape(x)
        batch = -1
        reduced_height = height // self.block_size
        reduced_width = width // self.block_size
        y = K.reshape(x, (batch, reduced_height, self.block_size,
                          reduced_width, self.block_size, depth))
        z = K.permute_dimensions(y, (0, 1, 3, 2, 4, 5))
        t = K.reshape(z, (batch, reduced_height, reduced_width, depth * self.block_size ** 2))
        return t

    def compute_output_shape(self, input_shape):
        shape = (input_shape[0], input_shape[1] // self.block_size, input_shape[2] // self.block_size,
                 input_shape[3] * self.block_size ** 2)
        return tf.TensorShape(shape)


# 3.1
input_image = layers.Input((IMGSZ, IMGSZ, 3), dtype='float32')

# unit1
x = layers.Conv2D(32, (3, 3), strides=(1, 1), padding='same', name='conv_1', use_bias=False)(input_image)
x = layers.BatchNormalization(name='norm_1')(x)
x = layers.LeakyReLU(alpha=0.1)(x)

x = layers.MaxPooling2D(pool_size=(2, 2))(x)

# unit2
x = layers.Conv2D(64, (3, 3), strides=(1, 1), padding='same', name='conv_2', use_bias=False)(x)
x = layers.BatchNormalization(name='norm_2')(x)
x = layers.LeakyReLU(alpha=0.1)(x)
x = layers.MaxPooling2D(pool_size=(2, 2))(x)

# Layer 3
x = layers.Conv2D(128, (3, 3), strides=(1, 1), padding='same', name='conv_3', use_bias=False)(x)
x = layers.BatchNormalization(name='norm_3')(x)
x = layers.LeakyReLU(alpha=0.1)(x)

# Layer 4
x = layers.Conv2D(64, (1, 1), strides=(1, 1), padding='same', name='conv_4', use_bias=False)(x)
x = layers.BatchNormalization(name='norm_4')(x)
x = layers.LeakyReLU(alpha=0.1)(x)

# Layer 5
x = layers.Conv2D(128, (3, 3
YOLOv4+tensorflow2.0训练自己的数据 YOLOv4+tensorflow2.0训练自己的数据一、环境配置1.1 实验源码1.2 环境要求二、环境测试2.1 下载权重文件2.2 权重文件转换2.3 测试三、使用自己的数据训练3.1 数据集制作3.2 在data/dataset文件夹下生成数据的描述文件3.3 修改其他文件3.3.1 修改voc_names3.3.2 修改配置文件3.4 训练3.4.1 从头开始训练3.4.2 从yolov4.weight进行迁移学习训练四、使用自己的数据集测试4.1 利用darknet训练出来的模型进行测试4.1. 阅读详情

相关推荐

【YOLO】使用VOC数据集训练自己的YOLOv3模型(Keras/TensorFlow)

使用自己制作的VOC数据集训练YOLOv3模型,后台基于Keras和TensorFlow,详细记录了从数据集准备到训练模型和验证的整个流程。同时提出一些改进意见。

チン昶的博客 3万+

TensorFlow 2.0 快速入门——保姆级别学会训练模型, test ok

入门就是这么个如法,之后我在继续的研究,入门容易坚持难,看我是否可以成功的坚持下来吧,其实最近的事情还是挺多的,唉,加油吧。

小硕算法工程师 1534

Tensorflow YOLO代码解析(1)

YOLO (You Only Look Once:Unified,Real-Time Object Detection) 提出了一种实时端到端的目标检测算法,之前写过一份关于YOLO论文的解读,可供参考。本篇通过一个Tensorflow的例子对YOLO的实现源代码进行解析。下面所涉及到的相关完整代码放在github:YOLO代码解析完整代码。 本例的源代码来自github,对作者的开源分享表示感谢...

JerryZhang__的博客 2501

YOLO实践应用之搭建开发环境(Windows系统、Python 3.8、TensorFlow2.3版本)

前言 基于YOLO3进行物体检测、对象识别,先和大家分享如何搭建开发环境,会分为CPU版本、GPU版本的两种开发环境,本文会分别详细地介绍搭建环境的过程。 主要使用TensorFlow2.3、opencv-python4.4.0、Pillow、matplotlib等依赖库。 搭建环境参数 系统:Windows 编程语言:Python 3.8 深度学习框架:TensorFlow 2.3 整合开发环境:Anaconda ...

黎国溥 2万+

YOLOv1-TF2:使用TensorFlow2实现YOLOv1

带有Tensorflow 2的YOLOv1 为了易于实现,我没有实现与纸张完全相同的实现。 下面介绍的内容与本文的实现方式有所不同。 骨干网。 (我使用Xception代替了本文中提到的网络。) 学习率表(我使用了tf.keras.optimizers.schedules.ExponentialDecay ) 超级参数 数据扩充 等等 。 。 。 预览 即将更新。 。 。 使用Docker构建环境 构建Docker映像 $ docker build -t ${NAME} : ${TAG} . 创建一个容器 $ docker run -d -it --gpus all --shm-size= ${PROPER_VALUE} ${NAME} : ${TAG} /bin/bash Pascal VOC数据集() 带有Pascal VOC数据集 图片数量 火车 验证 测试 帕斯卡VOC

如何使用superpowers

"这个 bug 帮我修一下" → 我会自动走 systematic-debugging → TDD → verify 流程。- "帮我添加一个登录功能" → 我会自动走 brainstorming → plan → TDD → verify 流程。只要任务有 1% 的可能性适用某个技能,我就会先调用它再行动。→ TDD(测试驱动开发)→ verification(验证)→ code review(代码审查)提出需求 → brainstorming(头脑风暴)→ writing-plans(编写计划)

xiaojingjianqiang的博客 610

活用QueryWrapper与@Select注解,构建MybatisPlus动态多表查询方案

本文深入探讨了如何结合MybatisPlus的QueryWrapper与@Select注解,构建高效灵活的动态多表关联查询方案。通过解析${ew.customSqlSegment}占位符机制,并设计通用的Service层封装,解决了复杂条件下多表查询的SQL拼接难题,显著提升了后台管理系统列表查询的开发效率与可维护性。

weixin_29291069的博客 271

DDR内存设计必看:DFI接口协议详解与实战避坑指南(附时序图解析)

本文深入解析了DDR内存设计中连接内存控制器与物理层的DFI接口协议,聚焦于DDR4/DDR5设计的实际痛点。文章详细阐述了协议版本兼容性、时钟架构(匹配频率与频率比系统)、PCB信号完整性设计以及上电初始化与调试等关键环节,为硬件工程师提供了一套从理论到实战的完整避坑指南,并附有时序图解析以助理解。

weixin_29256771的博客 330

网络变压器等效电路及网络变压器中间抽头作用详解

       华强盛电子导读:要详细了解网络变压器周边EMC管控及网络变压器BOB-SMITH电路的连接原理,首先我们对网络变压器的认识及其电路各参数影响都要有个简要的认识,本文,对非理想网络变压器等效电路做一个详细的分析,其中重点讨论一下网络变压器中间抽头的作用其影响                          网络变压器等效电路及                        ...

网络变压器专业资料 6005

基于ROS下的安卓手机图像和IMU跑ORB-SLAM3

接之前文章继续,手上没有现成的单目+IMU硬件,但是安卓手机几乎人人都有。因此,本文讲下如何用手机跑ORB-SLAM3的Mono和Mono_Inertial。 1. 手机与PC通信 基于ROS下的信息发布和订阅,手机和PC在一个局域网下进行信息(image和IMU)传输。 手机APK参考了github上的2个开源Android_Camera-IMU和android_ros_sensors,基于ros_java生成安卓APP,下载安装任一个APP到安卓手机,界面分别是这样: 手机和PC连一个无

h_372101的博客 1万+

人工智能面试总结-Python

B站:啥都会一点的研究生 公众号试读:啥都会一点的研究生 目录说说Python程序运行过程?说说Python的作用域?说说Python的数据结构?说说Python中可变与不可变类型?说说进程与线程?说说Python中的多线程?说说Python中的多进程?说说Python互斥锁与死锁?说说Lambda?说说Python的深拷贝与浅拷贝?说说Python多线程是否能用多个CPU,为什么?说说Python垃圾回收机制?说说Python里的生成器?说说迭代器与生成器的区别?说说Python 列表的 del,rem.

啥都生的博客 1万+

山羚羊优化算法(MGO)详解:从自然智慧到优化引擎

山羚羊优化算法(MGO)是一种新型元启发式算法,灵感来源于山羚羊的社会行为和等级制度。该算法模拟了四种核心行为:领地独居雄性(局部开发)、母系山瞪羚群(群体协作)、单身雄性山瞪羚(全局探索)和迁徙觅食(动态扰动)。MGO通过数学建模将这些生物行为转化为优化机制,在探索与开发间实现平衡。算法已成功应用于函数优化、无人机路径规划和支持向量机优化等领域,展现出优异的性能。未来研究将聚焦于参数自适应调整、混合算法设计等方向,以进一步提升算法性能。

qq_42212808的博客 203

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: Tensorflow2.0 YOLO篇之YOLO1论文
下一篇: 爬虫【9】建立自己的IP池
AndSonder
博客等级 码龄7年 364粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值