def METHOD_NAME(self):
    temp_dir = tempfile.TemporaryDirectory()
    rgb_url = os.path.join(OPENDR_SERVER_URL,
                           'perception',
                           'multimodal_human_centric',
                           'rgbd_hand_gesture_learner',
                           'test_hand_gesture_rgb.png')
    depth_url = os.path.join(OPENDR_SERVER_URL,
                             'perception',
                             'multimodal_human_centric',
                             'rgbd_hand_gesture_learner',
                             'test_hand_gesture_depth.png')
    # retrieve test files
    rgb_file = os.path.join(temp_dir.name, 'rgb.png')
    depth_file = os.path.join(temp_dir.name, 'depth.png')
    urlretrieve(rgb_url, rgb_file)
    urlretrieve(depth_url, depth_file)
    # load test files
    rgb_img = np.asarray(imageio.imread(rgb_file)) / 255.0
    rgb_img = cv2.resize(rgb_img, (224, 224))
    depth_img = np.asarray(imageio.imread(depth_file)) / 65535.0
    depth_img = cv2.resize(depth_img, (224, 224))
    depth_img = np.expand_dims(depth_img, axis=-1)
    img = np.concatenate([rgb_img, depth_img], axis=-1)
    # normalize
    mean = np.asarray([0.485, 0.456, 0.406, 0.0303]).reshape(1, 1, 4)
    std = np.asarray([0.229, 0.224, 0.225, 0.0353]).reshape(1, 1, 4)
    img = (img - mean) / std
    img = Image(img, np.float32)
    # create learner and download pretrained model
    learner = RgbdHandGestureLearner(n_class=16, architecture='mobilenet_v2')
    model_path = os.path.join(temp_dir.name, 'mobilenet_v2')
    learner.download(model_path)
    learner.load(model_path)
    # make inference
    pred = learner.infer(img)
    self.assertTrue(isinstance(pred, Category))
    self.assertTrue(pred.data == 12,
                    msg="Predicted class label must be 12")
    self.assertTrue(pred.confidence <= 1,
                    msg="Confidence of prediction must be less or equal than 1")
    temp_dir.cleanup()