OOD分类项目训练

一、项目地址

GitHub - LooKing9218/UIOS

二、label制作

      将训练、验证、测试数据的分类信息转换入.csv文件中,运行如下脚本即可:

import os
import csv#要读取的训练、验证、测试文件的目录,该文件下保存着以各个类别命名的文件夹和对应的分类图片
root_path=r'/media/*********************/train' 
#类别种类
classes=['cls1','cls2']def get_Write_file_infos(path):# 文件信息列表file_infos_list=[]typeclothes=os.listdir(path)for ii in typeclothes:everyfile=os.path.join(path , ii)for root, dirnames, filenames in os.walk(everyfile):for filename in filenames:file_infos = {}dirname=root#根据自己的需求更改路径地址filename1 ='train/'+ii+'/'+ filename#.split('.jpg')[0]flag = filename1[-1]file_infos["ImageId"] = filename1file_infos["Flag"] = classes.index(ii)#将数据追加字典到列表中file_infos_list.append(file_infos)return file_infos_list#写入csv文件
def write_csv(file_infos_list):with open('train_label.csv','a+',newline='') as csv_file_train:csv_writer = csv.DictWriter(csv_file_train,fieldnames=['ImageId','Flag'])csv_writer.writeheader()for each in file_infos_list:print(each)csv_writer.writerow(each)def main():file_infos_list =get_Write_file_infos(root_path)write_csv(file_infos_list)if __name__ == '__main__':main()print('The End!')

生成情况如下:

三、运行程序

     (1)修改参数文件 utils/config.py

# -*- coding: utf-8 -*-
class DefaultConfig(object):net_work = 'ResUnNet50'num_classes = 2num_epochs = 100batch_size = 256validation_step = 1root = "/media/code/"train_file = "train_label.csv"val_file = "val_label.csv"test_file = "test_label.csv"lr = 1e-4lr_mode = 'poly'momentum = 0.9weight_decay = 1e-4save_model_path = './Model_Saved'.format(net_work,lr)log_dirs = './Logs_Adam_0304'pretrained =True# Falsepretrained_model_path ='/media/code/UIOS-master/Trained/archive/data/99843712' #Nonecuda = 0num_workers = 4use_gpu = Truetrained_model_path = ''predict_fold = 'predict_mask'

(2)运行

   命令:

python train.py

(3)运行界面

四、踩坑记录

问题原因:ValueError: Only one class present in y_true. ROC AUC score is not defined in that case.

解决方法:

     (1)网上看了很多:

              方法1:添加 try-except

        try:epoch_train_auc = metrics.roc_auc_score(labels, outputs)writer.add_scalar('Train/train_auc', float(epoch_train_auc),epoch)print('loss for train : {},{}'.format(loss_train_mean,round(epoch_train_auc,6)))except ValueError:pass

        方法2:DataLoader的参数设置shuffle=True

   train_loader = DataLoader(DatasetCFP(root=args.root,mode='train',data_file=args.train_file,),batch_size=args.batch_size, shuffle=True, pin_memory=True)val_loader = DataLoader(DatasetCFP(root=args.root,mode='val',data_file=args.val_file,),batch_size=args.batch_size, shuffle=True, pin_memory=True)test_loader = DataLoader(DatasetCFP(root=args.root,mode='test',data_file=args.test_file,),batch_size=args.batch_size, shuffle=True, pin_memory=True)

    方法3:增大batch_size

    (2)我的方法:

        其实是我马虎大意

       修改好config.py中的num_classes参数就行了,

       见谅(不好意思~( ̄▽ ̄)~*)

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

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

相关文章

【网站项目】035家居商城系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

加推科技,华为云上生长的营销革新

编辑:阿冒 设计:沐由 “我是个很幸运的人。”几天前的一次采访中,彭超——加推科技创始人、CEO,如此扼要简洁地总结自己的职业历程,完全不是我想象中那种前顶级Sales的口若悬河。 加推科技创始人、CEO 彭超 没错&…

ZigBee学习——在官方例程上实现串口通信

Z-Stack版本为3.0.2 IAR版本为10.10.1 文章目录 一、添加头文件二、定义接收缓冲区三、编写Uart初始化函数四、编写串口回调函数五、函数声明六、函数调用七、可能遇到的问题(function “halUartInit“ has no prototype) 以下所有操作都是在APP层进行,也就是这个文…

ThinkPHP 中使用Redis

环境.env [app] app_debug "1" app_trace ""[database] database "" hostname "127.0.0.1" hostport "" password "" prefix "ls_" username ""[redis] hostname "127.0.0.1…

Java并发基础:BlockingQueue和BlockingDeque接口的区别?

核心概念 BlockingQueue 和 BlockingDeque 它们都支持在并发编程中的线程安全操作,但是,这两个接口之间存在一些关键的区别,主要在于它们所支持的操作和数据结构的特性,如下: 1、数据结构特性: Blocking…

npm 上传一个自己的应用(4) 更新自己上传到NPM中的工具版本 并就行内容修改

前面 npm 上传一个自己的应用(2) 创建一个JavaScript函数 并发布到NPM 我们讲了将自己写的一个函数发送到npm上 那么 如果我们想到更好的方案 希望对这个方法进行修改呢? 比如 我们这里加一个方法 首先 我们还是要登录npm npm login然后 根据要求填写 Username 用…

HDFS 之 数据管理(namespace 和 slaves)

1、namespace Namespace在HDFS中是一个非常重要的概念,也是有效管理数据的方法。Namespace有很多优点:可伸缩性。使HDFS集群存储能力可以轻松进行水平拓展;系统性能。单点性能受限,影响系统吞吐;隔离性。不同业务类型访问集群有时容易互相干扰,使用多Namespace可以有效管…

BlueLotus 下载安装使用

说明 蓝莲花平台BlueLotus,是清华大学曾经的蓝莲花战队搭建的平台,该平台用于接收xss返回数据。 正常执行反射型xss和存储型xss: 反射型在执行poc时,会直接在页面弹出执行注入的poc代码;存储型则是在将poc代码注入用…

如何在 emacs 上开始使用 Tree-Sitter(windows)

文章目录 如何在emacs上开始使用Tree-Sitter(windows) 如何在emacs上开始使用Tree-Sitter(windows) 参考:“How to Get Started with Tree-Sitter”。 首先要有一个可运行的emacs,并且它支持Tree-Sitter&…

Docker配置Portainer容器管理界面

目录 一、Portainer 简介 优点: 缺点: 二、环境配置 1. 拉取镜像 2. 创建启动容器 三、操作测试 1. 进入容器 2. 拉取镜像并部署 3. 访问测试 一、Portainer 简介 Portainer 是一个开源的轻量级容器管理界面,用于管理 Docker 容器…

图数据库 之 Neo4j - 环境搭建(2)

运行环境: centos7 Docker version 18.09.6 下载镜像 docker search neo4j docker pull neo4j 创建 neo4j 用户 # 创建 neo4j 用户 # -M 不创建用户的主目录 sudo useradd -M neo4j # usermod 用于修改用户属性命令 # -L 锁定用户,用户无法登录系统 user…

【知识图谱--第二讲知识图谱的表示】

知识图谱的表示 知识表示Knowledge Representation 知识表示方法知识图谱的符号表示基于图的知识表示与建模简单图建模-最简单的无向图有向标记图OWL与Ontology 知识图谱的向量表示 知识表示 Knowledge Representation 知识表示(KR)就是用易于计算机处…

深度测评:ONLYOFFICE 桌面编辑器 v8.0新功能

目录 前言 一、PDF表单处理:提升办公效率 二、RTL(从右到左)支持:满足不同语言习惯 三、Moodle集成:教育行业的新助力 四、本地界面主题:个性化办公体验 五、性能优化与稳定性提升 六、性能与稳定性…

数据链路层DoS

图9-14 集线器应用原理 数据链路层中拒绝服务攻击的方式一般很少为人所熟知。数据链路层拒绝服 务攻击的主要目标为二层交换机。在早期网络中,通常都会使用集线器作为中间 处理设备。集线器属于纯硬件网络底层设备,没有任何“ 智能记忆” 能力和“学 …

Airtest实现在手机界面快速批量采集数据

Airtest实现在手机界面快速批量采集数据 一、问题 Airtest使用的poco方法比较慢,寻找差不多一周,看完这篇文章能节省一周时间,希望帮到大家。二、解决思路 使用Airtest图像识别,这样就会速度上提升效率。 三、解决办法 使用页面规律,要找到每条数据的附近规律(一般是图…

发廊理发店微信小程序展示下单前端静态模板源码

模板描述:剪发小程序前端源码,一共五个页面,包括店铺、理发师、订单、我的等页面 注:该源码是前端静态模板源码,没有后台和API接口

PCIE和USB 耦合电容放置位置记录- 一般放置在TX端

PCIE耦合电容位置 以下为引用内容,为记录而做的本篇文章: 1、PCIe标准里面明确规定:当两个设备通过连接器互联时,必须放置交流耦合电容到TX端; 2、放远放近最大的不同时高速信号传输中的介质损耗和趋肤效应不同&#…

【Git】08 多人单分支协作场景

文章目录 一、场景1:不同人修改不同文件1.1 场景描述1.2 场景复现1.2.1 克隆到本地1.2.2 新建分支1.2.3 B修改、提交与推送1.2.4 A修改与提交1.2.5 B再次修改并推送1.2.6 A推送报错 1.3 解决 二、场景2:不同人修改同文件的不同区域2.1 场景描述2.2 场景复…

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

文章目录 概要1.怎么学习计算机网络2.概念3.功能、组成4.工作方式、功能组成5.分类 概要 概念、组成、功能和分类 1.怎么学习计算机网络 2.概念 通信设备:比如路由器、路由器 线路:将系统和通信设备两者联系的介质之类的 计算机网络是互连的、自治的的计…

如何设计一个预约抢购活动

总体架构设计 互联网大量数据的存储设计 1)哈希算法,对商品ID进行分片 节点取模的形式,优点是均匀分布,缺点是扩展性不好。所以,我们可以采用一致性hash。 一致性HASH的优点: 解决单一热点问题&#xf…