Why do I get “TypeError: expected np.ndarray (got numpy.ndarray)” when I use torch.from_numpy() function? Isn’t np.ndarray equivalent to numpy.ndarray? Also, there doesn’t seem to be any np.ndarray type, but only numpy.ndarray type.

Traceback (most recent call last): File "test_opencv.py", line 31, in <module> bounding_boxes, landmarks = detect_faces(img, pnet, rnet, onet) File "/home/xxx/git/project/src/detector.py", line 67, in detect_faces boxes = run_first_stage(image, pnet, scale=s, threshold=thresholds[0]) File "/home/xxx/git/project/src/first_stage.py", line 73, in run_first_stage img = torch.from_numpy(img).unsqueeze(0).permute(0,3,1,2).cuda().float() TypeError: expected np.ndarray (got numpy.ndarray)

Can you share some debugging info like printing type(img) and img.dtype I wrote the same line of code and it worked for me.
There has to be some bug in the data loading process of the image.

Hello It seems you are getting the error because the argument to from_numpy function is a single value rather than array.
In numpy, there is difference between np.array(1) and np.array([1]) and both are completely different data types.
Try torch.from_numpy(np.asarray(x)).