图像分类迁移学习
经典分类网络的实战案例
X_Imagine
加油!!!
展开
-
EfficientNet迁移学习(一) —— 主程序(train.py)
项目背景EfficientNet系列博客与ResNet迁移学习的目标一致,均是进行二分类的迁移学习,唯一差别在于网络结构的不同。其它相关的内容,参考下面链接:ResNet迁移学习(一)—— 主程序结构,部分内容如下图所示:代码框架下面我们主要介绍train.py的程序框架和功能模块接口。程序框架是构建工程的首要步骤,而功能模块是完善框架的内容。这样在构建工程的时候,思路会比较清晰,不至于无从下手。...原创 2020-11-11 14:50:54 · 841 阅读 · 2 评论 -
EfficientNet迁移学习(二) —— 数据读取(DataLoader.py)
模块介绍数据读取部分通常包含如下功能:建立数据类,方便管理。类的功能1,解析数据文本,获取样本名字等。类的功能2,数据增强。类的功能3,数据实时处理,比如读取图像,标准化等。建立2个队列,训练集队列和验证集队列。代码框架第一步:建立数据读取类(DataLoader),类的初始化函数通常用于解析训练数据的文本,获取其中的文件名。class DataLoader: def __init__(self, file, mode): self.input = cfg.t原创 2020-11-11 15:50:38 · 758 阅读 · 0 评论 -
EfficientNet迁移学习(三) —— 网络搭建(Model.py)
基本介绍本次实验的模型是图像分类最新的模型,EfficientNet系列。该模型在ImageNet上训练,取得顶级的的准确度,并且有效的迁移学习到其它的分类数据集,相关比对结果如下图所示。论文的核心思想是提出了对网络复合缩放,通过对网络的宽度、深度和分辨率统一进行缩放,能够达到更高的精度上限,并且网络的计算量降低很多。该论文的翻译,请参考链接:EfficientNet论文翻译。本次实验采用的是EfficientNet-B7。网络结构下图是基准网络EfficientNet-B0的结构组成,根据Goog原创 2020-11-12 15:21:29 · 1802 阅读 · 0 评论 -
EfficientNet迁移学习(四) —— 损失函数解析
损失函数的解析请参考我之前写的博客:YOLO-V3代码解析系列(五) —— 损失函数(yolov3.py)ResNet迁移学习(四)—— 损失函数原创 2020-11-12 15:35:41 · 1467 阅读 · 0 评论 -
EfficientNet迁移学习(五) —— 网络预测(predict.py)
基本流程加载预测参数加载网络结构,恢复权重循环预测,输出结果评价指标完整代码import cv2import osimport shutilimport numpy as npimport tensorflow as tfimport config as cfgfrom tensorflow.contrib.slim.nets import resnet_v2from Model import *import matplotlib.pyplot as plt# from m原创 2020-11-12 15:39:02 · 618 阅读 · 2 评论 -
ResNet迁移学习(五)—— 网络预测(predict.py)
预测流程加载预测参数加载网络结构,恢复权重循环预测,输出结果评价指标代码展示以下代码是predict.pyimport cv2import osimport shutilimport numpy as npimport tensorflow as tfimport config as cfgfrom tensorflow.contrib.slim.nets import resnet_v2from Model import *class ResNetTest(objec原创 2020-11-03 15:48:04 · 1799 阅读 · 2 评论 -
ResNet迁移学习(四)—— 损失函数
分类问题中的损失函数 分类问题的损失函数通常使用交叉熵损失函数(cross-entropy),tensorflow 中可供选择的分类损失函数有4种,具体的介绍和应用,参考我在YOLO中损失函数的详细介绍,YOLO-V3代码解析系列(五) —— 损失函数(yolov3.py).为何使用交叉熵作为分类问题的损失函数?后面持续补充中。。。。参考链接为什么使用交叉熵损失,而不是均方差损失?分类问题为什么要使用交叉熵损失函数而不是均方误差?简单的交叉熵损失函数,你真的懂了吗?...原创 2020-11-03 15:15:40 · 4646 阅读 · 0 评论 -
ResNet迁移学习(三)—— 网络结构(Model.py)
基本简介 本次实验的模型是图像分类普遍使用的模型ResNet。该模型在ImageNet上训练,取得优秀的结果,并且残差思想被广泛应用于各种任务场景下的网络模型中。当然,ResNet演化出不同的结构,ResNet-V1的论文翻译和内容解析,参考链接:ResNet-V1论文翻译及解析。本次实验采用的是ResNet-V2-50,所以接下来会介绍ResNet-V2的详细结构。ResNet-V2ResNet-V2论文链接:https://arxiv.org/pdf/1603.05027.pdf。本文的核心思原创 2020-09-18 14:43:00 · 951 阅读 · 0 评论 -
ResNet迁移学习(二)—— 数据读取(DataLoader.py)
基本简介深度学习的显著特点是大量数据处理,如何充分利用CPU和GPU是影响训练时间的一个重要因素。不同的任务场景,可能数据量的大小也呈现不同的规模,比如ImageNet百万级数据,COCO万级规模,我们此次的实际场景中,数据采集较为困难,也就是千级规模。代码展示...原创 2020-09-16 17:15:59 · 781 阅读 · 0 评论 -
ResNet迁移学习(一)—— 主程序结构
项目背景原创 2020-09-11 16:57:47 · 560 阅读 · 1 评论