Example #1
0
# criterion = nn.BCEWithLogitsLoss().cuda(device=cfg.device)
criterion = nn.CrossEntropyLoss().cuda(device=cfg.device)
# 常规优化器:随机梯度下降和Adam
#optimizer = optim.SGD(params=net.parameters(), lr=cfg.learning_rate,
#                      weight_decay=cfg.weight_decay, momentum=cfg.momentum)
optimizer = optim.Adam(params=net.parameters(),
                       lr=cfg.learning_rate,
                       weight_decay=cfg.weight_decay)
# 线性学习率优化器
#optimizer = optim.SGD(params=net.parameters(), lr=cfg.learning,
# weight_decay=cfg.weight_decay, momentum=cfg.momentum)

# --------------进行训练-----------------
# print('进行训练....')
# train_and_valid_(net, criterion=criterion,
#                  optimizer=optimizer,
#                  train_loader=train_loader,
#                  valid_loader=test_loader, cfg=cfg,
#                  is_lr_warmup=False, is_lr_adjust=False)

# -------------进行测试-----------------
print('进行测试.....')
test_accs, confusion_mat = test(net, test_loader, cfg)

graph_name = cfg.model_name + ' Accuracy:' + str(test_accs)
# -------------可视化-------------------
visiual_confusion_matrix(confusion_mat,
                         cfg.name_classes,
                         graph_name=graph_name,
                         out_path=cfg.result_dir)
Example #2
0
# 将网络结构、损失函数放置在GPU上;配置优化器
net = net.to(cfg.device)
# net = nn.DataParallel(net, device_ids=[0, 1])
# criterion=nn.BCELoss()
#criterion = nn.BCEWithLogitsLoss().cuda(device=cfg.device)
criterion = nn.CrossEntropyLoss().cuda(device=cfg.device)
# 常规优化器:随机梯度下降和Adam
#optimizer = optim.SGD(params=net.parameters(), lr=cfg.learning_rate,
#                      weight_decay=cfg.weight_decay, momentum=cfg.momentum)
optimizer = optim.Adam(params=net.parameters(), lr=cfg.learning_rate,
                       weight_decay=cfg.weight_decay)
# 线性学习率优化器
#optimizer = optim.SGD(params=net.parameters(), lr=cfg.learning,
                     # weight_decay=cfg.weight_decay, momentum=cfg.momentum)

# --------------进行训练-----------------
# print('进行训练....')
# train_and_valid_(net, criterion=criterion,
#                  optimizer=optimizer,
#                  train_loader=train_loader,
#                  valid_loader=valid_loader, cfg=cfg,
#                  is_lr_warmup=False, is_lr_adjust=False)

# -------------进行测试-----------------
print('进行测试.....')
test_accs, confusion_mat = test(net, valid_loader, cfg)

# -------------可视化-------------------
# visiual_confusion_matrix(confusion_mat, cfg.name_classes, graph_name=cfg.model_name, out_path=cfg.result_dir)