Repository: kornia/kornia

Issue:
numpy dependencies in some functions
### Describe the bug

some functions require niumpy and it is not a dependency.

Concretelly:
line 177 and 254 in kornia/augmentation/_2d/geometric/crop.py
line 144 in kornia/augmentation/_2d/geometric/base.py
line 282 in kornia/feature/laf.py

Solution:
add numpy dependency or remove reerences.

### Reproduction steps

```bash
try to use any of the functions I said.
```


### Expected behavior

not crashing

### Environment

```shell
wget https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py
# For security purposes, please check the contents of collect_env.py before running it.
python collect_env.py
```
- PyTorch Version (e.g., 1.0):
- OS (e.g., Linux):
- How you installed PyTorch (`conda`, `pip`, source):
- Build command you used (if compiling from source):
- Python version:
- CUDA/cuDNN version:
- GPU models and configuration:
- Any other relevant information:
```


### Additional context

_No response_


Discussion:
would be great to add this before the release of 0.7. @lferraz i can help you to fix this during the weekend

Resolving patch:
diff --git a/kornia/augmentation/_2d/geometric/base.py b/kornia/augmentation/_2d/geometric/base.py
--- a/kornia/augmentation/_2d/geometric/base.py
+++ b/kornia/augmentation/_2d/geometric/base.py
@@ -141,7 +141,7 @@ def inverse_inputs(
         size = None
         if "forward_input_shape" in params:
             # Majorly for cropping functions
-            size = params['forward_input_shape'].numpy().tolist()
+            size = params['forward_input_shape'].tolist()
             size = (size[-2], size[-1])
 
         # if no augmentation needed
diff --git a/kornia/augmentation/_2d/geometric/crop.py b/kornia/augmentation/_2d/geometric/crop.py
--- a/kornia/augmentation/_2d/geometric/crop.py
+++ b/kornia/augmentation/_2d/geometric/crop.py
@@ -174,7 +174,7 @@ def apply_transform(
     ) -> Tensor:
         padding_size: Optional[List[int]] = None
         if "padding_size" in params and isinstance(params["padding_size"], Tensor):
-            padding_size = params["padding_size"].unique(dim=0).cpu().squeeze().numpy().tolist()
+            padding_size = params["padding_size"].unique(dim=0).cpu().squeeze().tolist()
         input = self.precrop_padding(input, padding_size, flags)
 
         flags = self.flags if flags is None else flags
@@ -251,7 +251,7 @@ def inverse_inputs(
         out = super().inverse_inputs(input, params, flags, transform, **kwargs)
         if not params["batch_prob"].all():
             return out
-        padding_size = params["padding_size"].unique(dim=0).cpu().squeeze().numpy().tolist()
+        padding_size = params["padding_size"].unique(dim=0).cpu().squeeze().tolist()
         padding_size = [-padding_size[0], -padding_size[1], -padding_size[2], -padding_size[3]]
         return self.precrop_padding(out, padding_size)
 
diff --git a/kornia/feature/laf.py b/kornia/feature/laf.py
--- a/kornia/feature/laf.py
+++ b/kornia/feature/laf.py
@@ -278,7 +278,7 @@ def get_laf_pts_to_draw(LAF: Tensor, img_idx: int = 0) -> Tuple[List[int], List[
     # TODO: Refactor doctest
     KORNIA_CHECK_LAF(LAF)
     pts = laf_to_boundary_points(LAF[img_idx : img_idx + 1])[0]
-    pts_np = pts.detach().permute(1, 0, 2).cpu().numpy()
+    pts_np = pts.detach().permute(1, 0, 2).cpu()
     return (pts_np[..., 0].tolist(), pts_np[..., 1].tolist())
 
 


Test patch: