在开源框架使用自有数据集的方法-以增量学习工具箱PyCIL为例

回答多位朋友提出的,如何在开源框架使用自有数据集。思路是理解开源代码的设计方法,根据其设计方法增加相应的代码。

具体方法如下:

1.查看开源代码提供者的说明


https://github.com/G-U-N/PyCIL#datasets,这里提供了入手的起点,即utils/data.py

2.查看相关代码增加自己数据集的类


在utils/data.py增加class iMyImageDS,写法和utils/data.py中的class iImageNet100(iData)基本相同。

3.在工具类中引入自己创建的类


在utils/data_manager.py中

在下面这句话引入自己的类

from utils.data import iCIFAR10, iCIFAR100, iImageNet100, iImageNet1000

即为

from utils.data import iCIFAR10, iCIFAR100, iImageNet100, iImageNet1000,iMyImageDS

并在

def _get_idata(dataset_name):name = dataset_name.lower()if name == "cifar10":return iCIFAR10()elif name == "cifar100":return iCIFAR100()elif name == "imagenet1000":return iImageNet1000()elif name == "imagenet100":return iImageNet100()else:raise NotImplementedError("Unknown dataset {}.".format(dataset_name))

增加

  elif name == "imyimageds":return iMyImageDS()


4.使用方法:在模型json文件里修改为自己数据集的名字

例如在icarl.json里,

{"prefix": "reproduce","dataset": "cifar100","memory_size": 2000,"memory_per_class": 20,"fixed_memory": false,"shuffle": true,"init_cls": 10,"increment": 10,"model_name": "icarl","convnet_type": "resnet32","device": ["0","1","2","3"],"seed": [1993]}

修改数据集的名字为

  "dataset": “imyimageds”,


这样运行时就可以使用自己的数据集了。

python main.py --config=./exps/[MODEL NAME].json 

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

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

相关文章

带你实现一个github注册页面的星空顶

带你实现一个github注册页面的星空顶 github的注册页面可以说是非常的好看,如果没有看过的可以看下面的图片: 那么要如何实现下面的这个效果呢? 首先我们研究一下他的这个官网 首先我看到的后面的这个背景,是不是一个纯色的背景…

Linux安装Docker完整教程及配置阿里云镜像源

官网文档地址 安装方法 1、查看服务器内核版本 Docker要求CentOS系统的内核版本高于3.10 uname -r #通过 uname -r 命令查看你当前的内核版本2、首先卸载已安装的Docker(如果有) 2.1 确保yum包更新到最新 yum update2.2 清除原有的docker&#xff0c…

02_Fixture定位,Caliper卡尺工具,几何学工具

Fixture定位工具 需求: 测量工件的尺寸 使用Caliper(卡尺)工具 这个时候需要借助Fixture工具 VisionPro中的图像空间 “” 图像的当前空间,即CogImage中的“SelectedSpaceName”表示的名字空间 “#” 像素空间,即坐标原点为图片左上角的坐标空间&am…

TCP/IP协议—MQTT

TCP/IP协议—MQTT MQTT协议MQTT协议特点MQTT通信流程MQTT协议概念 MQTT报文固定报头可变报头有效载荷 MQTT协议 消息队列遥测传输(Message Queuing Telemetry Transport,MQTT)是一个基于客户端-服务器的消息发布/订阅传输协议。它的设计思想…

windows上安装make

下载地址 https://sourceforge.net/projects/gnuwin32/ 点击框中的下载,下载后安装。把安装路径添加到环境变量 PATH 中. 打开cmd,验证是否生效 安装包下载地址: https://download.csdn.net/download/qq_36314864/89163210

python读取DBF数据

DBF文件通常是由数据库软件(如FoxPro或dBASE)创建的数据库文件。Python中并没有直接读取DBF文件的内置库,但你可以使用第三方库如dbfread来读取DBF文件。 首先,你需要安装dbfread库。你可以使用pip来安装: pip insta…

【人工智能书籍分享】从ChatGPT到AIGC:人工智能重塑千行百业

今天又来给大家推荐一本人工智能方面的书籍<从ChatGPT到AIGC&#xff1a;人工智能重塑千行百业>。本书介绍了ChatGPT的前世今生&#xff0c;重点聚焦普通人如何使用ChatGPT获得工作和生活效率的提升&#xff0c;各行各业如何通过ChatGPT来改变自己的赛道状态。 使用Chat…

vue中params和query的区别

用法&#xff1a;query要用path来引入&#xff0c;params要用name来引入&#xff0c;接收参数都是类似的&#xff0c;分别是 this.$route.query.name 和 this.$route.params.name 。 url地址显示&#xff1a;query更加类似于ajax中get传参&#xff0c;params则类似于post&…

免费SSL证书的不香吗?四步轻松搞定

随着技术的发展和普及&#xff0c;现在有许多机构提供免费的SSL证书&#xff0c;使得即便是拥有有限预算的网站也能够享受到基本的加密服务。几乎所有的公有云服务商都提供了免费版ssl&#xff0c;如阿里云曾推出免费型DV SSL证书&#xff0c;腾讯云和百度云也有类似的免费SSL证…

平衡车设计——硬件篇

在本文开始之前我忍不住想吐槽一个事情&#xff0c;就在前两天晚上&#xff0c;我满意地装完平衡车&#xff0c;给他取了个名字叫瓦力&#xff08;没错&#xff0c;就是机器人总动员里的瓦力&#xff09;&#xff0c;他长这个样子。 把他放到桌子上放了一夜&#xff0c;第二天早…

ffmpeg buffer管理

除了内存管理之外&#xff0c;数据的前后级流转也涉及到buffer管理. 个人觉得ffmpeg里面的buffer管理实现极为巧妙&#xff0c;也很值得借鉴. 概述 重要数据结构 AVBufferPool 在libavutil/buffer_internal.h中定义&#xff0c;为内部数据结构&#xff0c;不能在应用程序中直…

基于Java的XxlCrawler网络信息爬取实战-以中国地震台网为例

目录 前言 一、信息网站介绍 1、网站介绍 2、 地震历史信息 3、 历史信息接口分析 二、XxlCrawler组件 1、关于XxlCrawler 2、核心概念介绍 三、实际信息爬取 1、新建maven项目 2、新建model层对象 3、实际爬取 总结 前言 如今&#xff0c;只要谈起网络信息爬取也就…

TCP/IP协议—HTTP

TCP/IP协议—HTTP HTTP协议HTTP通讯特点HTTP通讯流程 HTTP请求报文请求方法 HTTP应答报文状态码 HTTP协议 超文本传输协议&#xff08;Hypertext Transfer Protocol&#xff0c;HTTP&#xff09;是一种请求-响应的协议&#xff0c;用户可以通过HTTP向服务器上传、下载数据。HT…

JavaScript防抖函数执行多个事件处理函数,监听浏览器窗口拖拽事件(Vue防抖函数执行多个事件处理函数)

简介&#xff1a;当用户调整浏览器窗口大小时&#xff0c;浏览器会触发 resize 事件。通常&#xff0c;我们希望在窗口大小改变时执行一些操作&#xff0c;但是如果用户频繁调整窗口大小&#xff0c;可能会导致这些操作被频繁触发&#xff0c;影响页面性能和用户体验。这时候&a…

Java调用WebServices接口

当拿到一个WebServices接口时&#xff0c;首先用接口测试工具调用一下接口&#xff0c;看是否可以正常发送请求和获取返回接口&#xff0c;确保接口是没有问题的&#xff0c;可以用SoapUI工具进行测试。 下面以一个免费的天气预报接口为例&#xff0c;记录整个接口的调用过程。…

初学python记录:力扣2007. 从双倍数组中还原原数组

题目&#xff1a; 一个整数数组 original 可以转变成一个 双倍 数组 changed &#xff0c;转变方式为将 original 中每个元素 值乘以 2 加入数组中&#xff0c;然后将所有元素 随机打乱 。 给你一个数组 changed &#xff0c;如果 change 是 双倍 数组&#xff0c;那么请你返…

Python基础:【练手小实验系列】面向对象编程

文章目录 题目练习题1: 定义一个点类练习题2: 创建一个矩形类练习题3: 银行账户类练习题4: 学生信息管理练习题5: 车辆管理系统参考答案练习题1: 定义一个点类练习题2: 创建一个矩形类练习题3: 银行账户类练习题4: 学生信息管理练习题5: 车辆管理系统题目 练习题1: 定义一个点…

如何解决PPT中获取加载项是灰色的,无法链接到Power BI的问题?

问题描述&#xff1a; 最近有朋友留言询问:“在尝试之前我发布的如何在PPT中展示Power BI报告的操作步骤的时候&#xff0c;想要在PPT中展示Power BI报告&#xff1f;只需这样做&#xff01; (qq.com) 碰到在PowerPoint中【获取加载项选项】是灰色&#xff0c;无法链加载Powe…

CompletableFuture学习

学习目标&#xff1a; 记录学习CompletableFuture的过程 一周掌握 CompletableFuture 学习&#xff1a; CompletableFuture的在工作中的使用 目的&#xff1a; CompletableFuture的使用灵活使用CompletableFuture进行接口优化 使用runAsync&#xff0c;结果无返回值 Execut…

【数据库】Oracle11g与Oceanbase3.2.3对比

一、数据库体系结构对比 数据库的体系结构是从某一个角度来分析和考察数据库的组成、工作过程与原理&#xff0c;以及数据在数据库中的组织与管理机制。 Oracle11g作为传统关系数据库的代表、Oceanbase作为分布式关系数据库的代表&#xff0c;体系结构上的设计差别很大。 &a…