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-1168
41.png(uploading...)}}

然后用python程序画了个相互调用图