outputs a new lower-resolution feature map, typically of shape (batch_size, 2048, height/32, width/32). This is
then projected to match the hidden dimension of the Transformer of DETR, which is 256 by default, using a
nn.Conv2D layer. So now, we have a tensor of shape (batch_size, 256, height/32, width/32). Next, the
feature map is flattened and transposed to obtain a tensor of shape (batch_size, seq_len, d_model) =
(batch_size, width/32*height/32, 256). So a difference with NLP models is that the sequence length is actually
longer than usual, but with a smaller d_model (which in NLP is typically 768 or higher).
Next, this is sent through the encoder, outputting encoder_hidden_states of the same shape (you can consider
these as image features). Next, so-called object queries are sent through the decoder. This is a tensor of shape
