Dear friends, I have a train data X_train which is a numpy array with dimension of (36000,15,15,30), where 36000 is number of image samples, 15 is height of image,15 is width of image and 30 is the number of channels in a image. y_train is the integer array of shape (36000,1) that contains the class labels of corresponding train images. I am new to PyTorch. Can any one please suggest me the procedure for giving this numpy arrays as input to the CNN model and train the model. I would also request to suggest me how to evaluate the model after the training process.

You can transform the numpy array to a PyTorch tensor via `tensor = torch.from_numpy(array)`

and would need to permute it afterwards, as PyTorch layers expect the input in the channels-first memory layout via: `tensor = tensor.permute(0, 3, 1, 2)`

.

If you are dealing with a multi-class classification, your target should have the shape `[batch_size]`

without any additional dimension, so you could use `target = torch.from_numpy(target_array).squeeze(1)`

to remove `dim1`

.

Once this is done, you can directly pass the input data to the model or use a `TensorDataset`

or a custom `Dataset`

as described here.

I would generally recommend to take a look at the tutorials for a general introduction.