Yes, as @KFrank explained, no copy/transform will be triggered, if the data is already in the desired type.
Also as_tensor will share the data of the underlying numpy array (if you leave it on the CPU):
x = np.zeros((2, 2))
y = torch.as_tensor(x, dtype=torch.float64)
print(x, '\n', y)

y[0, 0] = 1.
print(x, '\n', y)

# Changing the data type will create a copy
x = np.zeros((2, 2))
y = torch.as_tensor(x, dtype=torch.float32)
print(x, '\n', y)

y[0, 0] = 1.
print(x, '\n', y)