栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

单通道图像读入,单通道训练(MobileNetV2)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

单通道图像读入,单通道训练(MobileNetV2)

目的:看了一篇论文,作者对X射线单通道图像(灰度图像)进行训练,通常mobilenet网络模型用来对RGB(三通道)彩色图像分类。因此想尝试对单通道图像读入并用单通道网络训练。

步骤:

第一步:修改网络模型

在搭建的模型文件中,修改mobilenet v2的第一层卷积层输入通道改为1

features.append(ConvBNReLU(1, input_channel, stride=2))

第二步:修改读取数据方式

在训练和预测脚本中,不管是tensorflow还是pytorch读取单通道数据时,imread或ImageFolder函数会自动将单通道图像转换为三通道图像(BGR三通道格式),如果不对其处理,就会报错。因此在定义图像预处理操作时要加上一句对通道处理的操作,添加transforms.Grayscale(1)。还需要对之前三通道图的标准化处理做修改,去掉后两个通道的值。

data_transform = {
        "train": transforms.Compose([transforms.Grayscale(1),
                                     transforms.RandomResizedCrop(224),
                                     transforms.RandomHorizontalFlip(),
                                     transforms.ToTensor(),
                                     transforms.Normalize([0.485,], [0.229, ])]),
        "val": transforms.Compose([transforms.Grayscale(1),
                                   transforms.Resize(256),
                                   transforms.CenterCrop(224),
                                   transforms.ToTensor(),
                                   transforms.Normalize([0.485, ], [0.229, ])])}

第三步:不采用迁移学习训练方法(注释掉加载权重代码)

第四步:训练和预测

代码运行结果:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/883032.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号