1 基本函数
--- def run_unsupervised_da(model, src_train_loader, tgt_sup_loader, tgt_unsup_loader, train_idx, num_classes, device, args):
输入
model:预训练的模型 或者使用源域数据训练得到的source_model
source_model = get_model(args.cnn, num_cls = num_classes)
src_train_loader: ASDADataset 里面得到的
tgt_sup_loader:None
tgt_train_loader:ASDADataset 里面得到的
dataset(可迭代的数据对象)--->dataloader--->model.train for images,labels in traindataloader
--class ASDADataset
----def get_dsets 输入数据集名称、下载预处理 输出可迭代的数据对象
----return train_dataset, val_dataset, test_dataset
----def get_loaders 输入数据集名称、获得训练、测试、验证机dataloader
----return train_loader, val_loader, test_loader, train_idx
--函数动态调用和静态调用的区别
--SubsetRandomSampler的用法
get_solver和get_model是两个装饰器
画了一个脑思维图 各个函数是弄明白了
2 复现中总有问题 记录下
2.1 num_worker =0 记得设置
2.2 爆内存 但是重启就好了 感觉pycharm的终止程序杀不死程序
2.3 网络的通道尺寸没办法对齐
**2.4这round = 0的时候,到底怎么训的模型啊 是先不主动学习 适配, 再主动学习 适配。
先是文章原理 然后是代码流程 各个函数
3
相互调用太麻烦了 我画了一个相互关系调用图
{{uploading-image-116841.png(uploading...)}}
标签:dataset,num,记录,get,loader,train,复现,model,CLUE From: https://www.cnblogs.com/gegege/p/18608250