Are there any special cnn architectures for data, which has more than 3 channels? For example, satellite imagery, where we can consider different wavelenghts. It's clear, that we can readily use unet or something like that, but when there are 20 channels, for instance, it seems, that approach should differ. Not a neural network model, which can get feature-vector consisted of pixels from each channel, isn't sufficient perhaps, because spatial characteristics are important too.


1 Answer 1


A CNN does not care about the starting number of channels. It can be one, three, 20, or anything really. Here's a simple example in the python library Keras for how you might start out a CNN with 20 channels, assuming your images are 100x100. Obviously these numbers can be changed to whatever your problem needs.

from keras.layers import Input, Conv2D

# Assumes images are 100x100 with 20 channels
inputs = Input(shape=(100, 100, 20))

# First convolution will take in the 20 channels and output 32 channels
x = Conv2D(32, strides=(2, 2), activation='relu')(inputs)

# Second convolution will take in the 32 channels and output 64 channels
x = Conv2D(64, strides=(2, 2), activation='relu')(x)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.