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])