示例#1
0
# device set
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
cuda = torch.cuda.is_available()
if cuda:  # 使用GPU的情况下,默认多GPU并行
    device_num = torch.cuda.device_count()
    snn = torch.nn.DataParallel(SDDC(), device_ids=list(range(device_num)))
else:
    device_num = 1
    snn = SDDC()

snn.to(device)
batch_size = args.base_batch_size * device_num

# data loader set
source_loader = dataloader.load_training(args.ROOT_PATH, args.SOURCE_NAME,
                                         batch_size)
target_train_loader = dataloader.load_training(args.ROOT_PATH,
                                               args.TARGET_NAME, batch_size)
target_test_loader = dataloader.load_testing(args.ROOT_PATH, args.TARGET_NAME,
                                             batch_size)

# train prepare
best_acc = 0  # best test accuracy
start_epoch = 0  # start from epoch 0 or last checkpoint epoch
acc_record = list([])
loss_train_record = list([])
loss_test_record = list([])

criterion = nn.CrossEntropyLoss()  # nn.MSELoss()

# 所设计的可用于mmd的loss合集
示例#2
0
    return correct


if __name__ == '__main__':

    ROOT_PATH = './data/Office31'
    SOURCE_NAME = 'amazon'
    TARGET_NAME = 'webcam'

    BATCH_SIZE = 256
    TRAIN_EPOCHS = 200
    learning_rate = 1e-3
    L2_DECAY = 5e-4
    MOMENTUM = 0.9

    source_loader = dataloader.load_training(ROOT_PATH, SOURCE_NAME,
                                             BATCH_SIZE)
    target_train_loader = dataloader.load_training(ROOT_PATH, TARGET_NAME,
                                                   BATCH_SIZE)
    target_test_loader = dataloader.load_testing(ROOT_PATH, TARGET_NAME,
                                                 BATCH_SIZE)
    print('Load data complete')

    ddcnet = model.DCCNet(num_classes=31)
    print('Construct model complete')

    # load pretrained alexnet model
    ddcnet = model.load_pretrained_alexnet(ddcnet)
    print('Load pretrained alexnet parameters complete\n')

    if cuda: ddcnet.cuda()