版本更新记录
1. 正式版
发布时间:2022年9月
正式版更新记录
1)MMEdu
V0.1.23 20231207
模型转换生成的示例代码文件由basedeploy修正为xedu-python。
ssd_lite载入数据集完善,配置文件完善。
V0.1.20 20230704
cls的sota()函数完善,无需声明。
V0.1.15 20230605
对模型生成示例代码和载入onnx权重信息做了拓展和调整。
V0.1.14 20230517
优化批量推理时show_result的判断逻辑,避免大量占用内存导致的内核中断。
V0.1.9 20230423
合并git与飞书中的最新版本。
更新cls和det转换生成内容以适配最新XEdu库。
消除生成onnx权重大段warning。
类别压入生成的权重。
train()函数返回log。
权重文件中保存版本号。
V0.1.8 20230316
pth存储信息完善。
pth_info函数展示权重文件相关信息。
V0.1.7 20230313
更新cls和det模型转换后生成的py文件内容。
V0.1.6 20230302
cls和det的推理和转化函数中去除了class_path这一参数,类别信息从pth中获得。
修复SSD_Lite类名传递不正确的问题。
V0.1.5 20230203
det修正infer和convert中类别数量的问题。
det模型训练时会自动保存best_map的权重。
det 规范化数据集文件夹名称。
修复SSD_Lite类名传递不正确的问题。
V0.1.4 20230106
cls+det同时增加可选batch_size功能。
det补充SSD和yolov3。
det输出格式由xywh修正为x1y1x2y2。
V0.1.3 20221222
det增加模型转化功能。
cls+det更新模型转化功能,参数调整,会额外输出config文件。
V0.1.2 20221215
cls:
cls检查数据集中图片shape,指出损坏图片。检查图片出现损坏时,抛出错误码
The image file xxx is damaged
。数据集如缺少txt,自动生成。
case1:数据集缺少classes.txt, val.txt ,会自动生成并提示, eg,“生成val.txt”。
case2:如缺少test_set,可正常训练,但不会生成test.txt 。(不影响正常功能)
case3:如缺少val_set,可训练,但不能验证,即train函数中validate参数不能为True。(功能受损,看不到准确率,但还是可以训练出模型)。
其他:
允许数据集中出现其他类别的文件,eg,csv;
数据集中test_set可以不按照类别存放。
检查写权限,确定写到哪里
innolab上数据集没有读写权限,则将txt生成至项目内,文件夹名为dataset_txt,内含classes.txt,val.txt。(若有读写权限则生成至数据集路径内)
4.加入模型转换convert()函数,pth转onnx。
det:
det增加支持PIL和np array 输入功能。图片形式可以通过PIL和np数组进行输入,PIL和数组列表也支持输入。
参考cls,det增加相关错误码。
V0.1.1 20221118
支持读入pil,np格式数据。
V0.1.0 20221111
train和infer的
device=cuda
检查torch.cuda.is_available()
,device=cpu
当cuda可用时提示可以使用cuda加速。文件夹推理LeNet无误。
fast_infer
支持LeNet。
V0.1.0rc2 20221111
同V0.0.9,少依赖版本。
V0.0.9 20221104
检测模块训练函数支持device参数。
load_checkpoint()
参数顺序更换。将checkpoint前置(第一个),device
后置,可以只输入路径,而省略 "checkpoint=
"。fast_infer错误反馈,补充错误情况,当
fast_infer
之前未使用load_checkpoint
载入ckpt
时会提示错误码305。MMEdu.__ path __
可正常返回环境中包所在地址。修复lenet 文件夹推理问题。
V0.0.1rc2 20221104
同V0.0.9,少依赖版本。
V0.0.8 20221102
加入错误反馈机制。
增加命令行字符画和简介。
提示目前支持的主干网络。
支持推理opencv、PIL读入的图片。
模型声明时允许读入配置文件,而不仅是模型名。
V0.0.1rc1 20221102
同V0.0.8,少依赖版本。
2)BaseML
V0.1.1 20240313
新增valid中三个聚类评价指标。
V0.1.0 20240306
新增load_tab_data载入表格数据集功能。
新增valid函数用于验证评估模型性能。
线性回归可获得斜率和截距。
新增参数设定方式。
metricplot画图标题修改。
V0.0.6 20230217
与MMEdu的错误提示码风格进行了统一,并在此基础上进行了BaseML部分的补充。
所有库类代码应用了PEP8代码规范,使得代码结构与语句更加美观。
V0.0.5 20230210
完成模型可视化和评测指标可视化两个库。目前只有4种算法支持可视化,大部分模型支持评测指标可视化,少部分不支持。
引入yellowbrick库,用于评测指标可视化。
修改了load_dataset函数,cls和reg默认split=True, 即划分为训练和测试集, 聚类和降维默认不划分。
加入了警告(蓝色字体)和报错(红色字体),但待与MMEdu的风格统一。
V0.0.4 20221121
按照cls中的分类算法,给reg中的算法名进行了更改与添加,目前的回归算法有:['LinearRegression', 'CART', 'RandomForest', 'Polynomial', 'Lasso', 'Ridge', 'SVM', 'AdaBoost', 'MLP']。
V0.0.3 20221115
把 from BaseML import Classification
调用为Classification.cls
改成了 from BaseML import Classification as cls
调用为 cls(algorithm= ...)
。
V0.0.2 20221110
给每个类增加了docstring类型的注释,可以使用
cls.__doc__
查看拥有的算法以及类注释。更改了
load_dataset
函数的初始默认值,默认shuffle, 不展示前5条数据,不划分数据集,不进行数据归一化。添加了反归一化函数,可以将归一化后的数据转换为原数据,在
base.reverse_scale
函数中。
V0.0.1 20221110
load_dataset
中设置了X和y的默认列,如果没有标明x_column
和y_column
,默认采用输入的所有列。但输入的是txt或csv格式的话,一定要标注出列号,否则报错。inference()
中加了参数verbose
,默认值为True,表示会输出训练过程中的过程数据,False则不会。train()
中设置了参数validate
(默认为True),表示会将输入的训练集划分为训练集和验证集,并输出验证集下的模型准确率。添加了图片读取处理模块ImageLoader,具体使用方式查看文件中的注释以及demo实现。
对于加载数据集,添加了几个bool标记:shuffle, show, split, scale,分别表示是否打乱数据集、是否展示5条数据、是否划分数据集、是否对训练数据进行归一化。
每个模型的初始化增加了参数字典方法,便于更高级的模型调参。
3)BaseNN
V0.2.9 20240311
load_img_data函数transform方式优化。
V0.2.6 20240108
模型转化生成的推理代码调整。
增加载入数据时num_wokers控制,增加模型转化时中间版本、算子集版本控制。
新增搭建残差网络功能。
V0.2.3 20231207
basenn模型转换生成对应的xedu-python推理代码。
V0.2.1 20231013
支持basenn导出的pth文件转化为onnx。
V0.1.8 20230710
numpy数组推理优化。
V0.1.7 20230706
numpy数组推理优化。
V0.1.6 20230531
训练速度优化,dataloader多线程读取设置。
V0.1.5 20230529
basenn层名兼容大小写,推荐全部采用小写。
图片文件夹、特征csv格式数据集设计并实现。
V0.0.7 20230322
继续训练,特征可视化适配新的pth文件格式。
V0.0.6 20230317
保存模型文件由pkl统一为pth,加入pth_info()。
加入RNN部分。
V0.0.5 20221215
可视化特征,只有传统意义上的层才计数,relu,reshape,softmax不计数;且当输入为二维图像时,展示可视化的图像,输入为一维数据时,生成txt保存每层之后的输出。
加入随机数种子,确保当指定种子后,反复训练可以得到完全一致的结果。
可选损失函数,可选评价指标。
V0.0.4 20221202
参数控制可视化,一整张图or一系列图。
V0.0.3 20221116
增加提取特征,可视化特征功能。
4)BaseDT
V0.1.3 20240229
split_tab_dataset()新增参数column_name,可传入列表,自定义列名。
V0.1.2 20230914
修正了FasterRCNN模型输入图像尺寸的问题。
V0.1.1 20230626
修复BaseDT中plot模块在自定义载入时绘图通道顺序显示的错误。
修改plot对分类问题显示时重复出现pred_label。
V0.1.0 20230621
修复plot在绘图时信息未载入而引发报错的问题。
V0.0.9 20230620
修复了plot使用show时函数冲突问题。
增加了MMPose绘图所需的模块。
修复了get_img时调用了show函数导致会使用plt进行绘制的问题。
util模块增加MMPose SIMCC格式推理前后处理的内容(之后得考虑将其迁移至data模块中)。
V0.0.8 20230616
画图功能完善。
V0.0.7 20230609
划分csv数据集加入归一化功能。
V0.0.6 20230607
加入划分csv数据集功能。
取消jieba安装依赖,仅在函数内部引用。
basedeploy相关的功能更新。
V0.0.4 20230426
log_plot接入train时日志导出。
类名导出函数重命名为get_label。
修复imshow_det_bboxes、map_orig_coords函数的一些漏洞。
V0.0.1 20230209
首次上源。
5)XEdu一键安装包
V1.6.7 20231129
删除PyQt5库。
Thonny版本调整为稳定的3.3.13。
增加xedu-hub的workflow功能。
增加新版Easy系列(easy-xedu)。
优化文件目录。
同时发布XEdu信息科技教学版1.3a版本。
V1.6.6 20231116
添加新版Easy系列测试版本,大约70人内测。
V1.6.5 20231020
更新BaseNN库,支持onnx模型转换。
V1.6.3 20230916
修正bug。
V1.6.2 20230912
修正bug。
V1.6 20230901
重构opencv-python库环境。
支持bug解决脚本(解决绝大多数问题)。
支持jupyter notebook中文。
升级库版本MMEdu0.1.21,BaseNN0.2.0,BaseML0.0.6、BaseDT0.1.1、BaseDeploy0.0.4。
支持openxlab下载(https://download.openxlab.org.cn/models/yikshing/bash/weight/x16)
V1.5.2 20230613
升级库版本。
V1.4.6 20230529
解决BaseNN推理缓慢的问题。
V1.4 20230516
支持模块:MMEdu0.1.13(支持cls和det),BaseNN0.0.9,BaseML0.0.6(支持cls、reg和clt)、BaseDT0.0.5(支持通用数据处理)
内置编辑器:jupyter、pyzo、三个可视化工具(EasyTrain EasyInference EasyAPI)
升级支持模型转换onnx、推理和部署语法精简,不再需要class_path。BaseML支持绘图。
V1.3 20230416
支持模块:MMEdu0.1.8(支持cls和det),BaseNN0.0.9,BaseML0.0.6(支持cls、reg和clt)、BaseDT0.0.2(支持通用数据处理)
内置编辑器:jupyter、pyzo、三个可视化工具(EasyTrain EasyInference EasyAPI)
V1.2 20230110
支持模块:MMEdu0.1.4(支持 cls 和 det),BaseNN0.0.5,BaseML0.0.3(支持 cls、reg 和 clt)
内置编辑器:jupyter、pyzo、三个可视化工具(EasyTrain EasyInference EasyAPI)
V1.1 20221220
支持模块:MMEdu0.1.2(支持cls和det),BaseNN0.0.5,BaseML0.0.3(支持cls、reg和clt)
内置编辑器:jupyter、pyzo、三个可视化工具(EasyTrain、EasyInference和EasyAPI)
7)XEdu-python
V0.1.5 20240513
utils新增可视化相似度矩阵和可视化类别概率分布功能。
V0.1.3 20240320
对BaseML任务的输入数据格式提示。
V0.1.1 20240131
初步加入错误码体系。
人脸检测新增可调参数。
V0.0.8 20231219
增加文本嵌入和图像嵌入任务。
V0.0.7 20231120
增加文本问答任务。
增加驾驶感知任务。
V0.0.5 20231103
增加风格迁移任务。
增加图像分类任务。
V0.0.3 20231013
增加人手检测任务。
优化ocr中show=True时的显示问题。
支持basenn导出的onnx模型。
V0.0.2 20231008
增加人脸检测任务、ocr任务。
优化参数。
支持mmedu导出的onnx模型。
V0.0.1 20230928
实现五个姿态估计任务(人体*2、手势、人脸、全身)和两个目标检测任务(人体,coco80类别)的简明工作流程。