model = create_model(configs) model.print_network() print('\n\n' + '-*=' * 30 + '\n\n') assert os.path.isfile(configs.pretrained_path), "No file at {}".format( configs.pretrained_path) model.load_state_dict(torch.load(configs.pretrained_path)) configs.device = torch.device( 'cpu' if configs.no_cuda else 'cuda:{}'.format(configs.gpu_idx)) model = model.to(device=configs.device) out_cap = None model.eval() test_dataloader = create_test_dataloader(configs) with torch.no_grad(): for batch_idx, (img_paths, imgs_bev) in enumerate(test_dataloader): input_imgs = imgs_bev.to(device=configs.device).float() t1 = time_synchronized() outputs = model(input_imgs) t2 = time_synchronized() detections = post_processing(outputs, conf_thresh=configs.conf_thresh, nms_thresh=configs.nms_thresh) img_detections = [] # Stores detections for each image index img_detections.extend(detections) img_bev = imgs_bev.squeeze() * 255 img_bev = img_bev.permute(1, 2, 0).numpy().astype(np.uint8)
print('\n\n' + '-*=' * 30 + '\n\n') assert os.path.isfile(configs.pretrained_path), "No file at {}".format( configs.pretrained_path) model.load_state_dict( torch.load(configs.pretrained_path, map_location='cpu')) print('Loaded weights from {}\n'.format(configs.pretrained_path)) configs.device = torch.device( 'cpu' if configs.no_cuda else 'cuda:{}'.format(configs.gpu_idx)) model = model.to(device=configs.device) out_cap = None model.eval() test_dataloader = create_test_dataloader(configs, voxel_generator) with torch.no_grad(): for batch_idx, batch_data in enumerate(test_dataloader): metadatas = batch_data batch_size = len(metadatas['img_path']) voxelinput = metadatas['voxels'] coorinput = metadatas['coors'] numinput = metadatas['num_points'] dtype = torch.float32 voxelinputr = torch.tensor(voxelinput, dtype=torch.float32, device=configs.device).to(dtype) coorinputr = torch.tensor(coorinput,