You should always be careful with the reshape method since it works respecting the order of dimensions! You can either use transpose or permute to change the order of dimensions. Regarding the cropping tensors, I suggest you take a look at torchvision/transforms 3.
Here’s one example using the permute method:
from PIL import Image
import matplotlib.pyplot as plt
import torch
import torchvision.transforms as transforms

image = Image.open("Lenna.png")
img_mod = transforms.ToTensor()(image).unsqueeze(0)

# img_mod is a pytorch tensor that was a numpy array
b = img_mod.shape[0]
c = img_mod.shape[1]
h = img_mod.shape[2]
w = img_mod.shape[3]

# Trying to crop the first quadrant
img_mod_frag = img_mod[:, :, 0:h//2, 0:w//2]

# Reshape the components to make the tensors displayable
# Display img_mod
fig = plt.figure()
ax = fig.add_subplot(1, 2, 1)
ax.imshow(img_mod[0].permute(1, 2, 0))
plt.title("img_mod")

# Display img_mod_frag
ax = fig.add_subplot(1, 2, 2)
ax.imshow(img_mod_frag[0].permute(1, 2, 0))
plt.title("img_mod_frag")

plt.savefig("Lenna2.png")