I’m using convolution network for classification. My dataset is a typical 2D matrix,say,
100 samples x 10 features. one row represents a sample(e.g. a certain person’s information ), one column represents an attribute/feature (e.g. gender, name, weight, etc.).
nn.BatchNorm1d, there’s a
num_features argument, also, it says that the input of
nn.BatchNorm1d is (N, C) or (N, C, L). I guess
C here means
Then here comes the problem,
unlike image data, there’s no natural
channel in my dataset. So I can either treat my dataset as 100 samples with
channels=10 and num_features=1, or, with
channels=1 and num_features=10. I wonder which one is proper for using a BatchNorm1d? Why?
Furthermore, take one sample vector with 10 features for example, after passing a Conv1d(in_channel = 1, out_channel = 3) layer, I’ll get 3 vectors with 10 features. Then, should I treat them as Channel=3 and num_features=10?
I think this problem essentially lies in that what’s the difference between
features for input like images? RGB are usually called
channels, but I think they can also be treated as features of one pixel. I’m not sure if I’m right.