Exemple #1
0
    plt.savefig(name)


'''
调用函数,读取数据集
训练网络
'''

if __name__ == '__main__':
    print(torch.cuda.is_available())
    device = torch.device('cuda:1')
    # 数据集路径
    batch_size = 32
    path = [r"VehicleData/train/", r"VehicleData/test/"]
    data = LoadData(batch_size, path)
    train = data.getTrainDataset()
    test = data.getTestDataset()
    net = Vgg16(4).cuda(1)

    early_stopping = EarlyStopping(patience=10, verbose=True)
    loss_func = nn.CrossEntropyLoss()
    # 需要把参数传递进去进行优化
    # 这个不要放到循环离去,否则会循环定义,显存会爆炸
    optimizer = optim.SGD(net.parameters(), lr=0.001)
    scheduler = ReduceLROnPlateau(optimizer,
                                  'min',
                                  factor=0.5,
                                  patience=5,
                                  verbose=True)
    #!!!需要探索一些多GPU运行机理
    # net = torch.nn.DataParallel(Model.cuda(), device_ids=[3])