title: Change pre-trained model to expect channel first in TensorFlow
body: <p>I have images of shape (batch, channel, height, width) = (1, 3, 224, 224) that need to be fed to a pretrained TensorFlow model. However, by default, TensorFlow expects its pretrained model input to have shape (1, 224, 224, 3).</p>
  
  <p>For example:</p>
  
  <pre><code>import tensorflow as tf
  import keras2onnx as k2o
  import onnx
  
  model = tf.keras.applications.MobileNetV2()
  onnx_model = k2o.convert_keras(model, model.name)
  onnx.save_model(onnx_model, 'mobilenetv2.onnx')
  </code></pre>
  
  <p>And when doing inference on the model, I later run into the following error:</p>
  
  <pre><code>InvalidArgument: [ONNXRuntimeError] : 2 : INVALID_ARGUMENT : Got invalid dimensions for input: input_1 for the following indices
   index: 1 Got: 3 Expected: 224
   index: 3 Got: 224 Expected: 3
   Please fix either the inputs or the model.
  </code></pre>
  
  <p>How do I save a pretrained TensorFlow model to expect an image with channel first? Understanding of ONNX should not be necessary but is suggested for context.</p>