一个持续的学习包
continual-flame的Python项目详细描述
连续跛行
Pythorch中用于持续学习的小型轻量级软件包。在
安装
目前,该包托管在TestPyPi上。要安装它,只需运行:
pip install continual-flame
使用
要使用包,只需将其导入项目中即可。在
^{pr2}$目前,包只包含数据集模块。在
数据集
本模块包含持续学习场景中通常使用的数据集。主要有:
- SplitMNIST-在类中拆分MNIST数据集。它允许通过包含自定义的类子集来创建不同的子任务。在
- permittedmnist-置换MNIST数据集。它允许选择应用排列的形状。在
- SplitCIFAR100
- 置换CAR100
示例
SplitMNIST
在下面的例子中,训练任务是五个二进制分类任务(即任务1(0,1),任务2(2,3),…)
fromcont_flame.datasetimportSplitMNISTvalid=[]foriinrange(1,10,2)train_dataset=SplitMNIST(classes=[i,i+1],dset='train',valid=0.2)valid.append(SplitMNIST(classes=[i,i+1],dset='valid',valid=0.2))foreinepochs:# train the model on train_dataset# ...forvinvalid:# test the model on the current and the previous tasks# ...
permittedmnist
要获得随机排列,请将tile设置为(1,1)。由任务id选择的相同的随机排列将应用于所有数据点。在
PermutedMNIST(tile=(1,1),task=1)您也可以通过将平铺的相应尺寸设置为图像的尺寸,来应用排列行(或列)
PermutedMNIST(tile=(1,28),task=1)或者通过设置更大的平铺来保持高水平的空间特征。
PermutedMNIST(tile=(8,8),task=1)
要获得没有任何排列的图像,请将平铺设置为(28,28)(默认值)。在
- 项目
标签: