title: Onnx-to-keras and Keras2onnx alter ONNX model input layers to Nx1x200x200 instead of the original 1x1x200x200
body: <p>Currently, I am trying to import an <code>ONNX model</code> to Keras in order to run training on datasets of grayscale images of size <strong>1x1x200x200</strong>.</p>
  <p>However, when I convert my onnx model to Keras using</p>
  <pre><code>onnx-to-keras()
  </code></pre>
  <p>the model's input layer is changed to <strong>?x1x200x200</strong> as a <code>.h5 model</code>.</p>
  <p>And when converted back to a .onnx file, the input layer has changed to Nx1x200x200.</p>
  <p><strong>This works when trying to train the model, but the changed input layer causes an error when deploying the trained Neural Network to C Plus Plus code using ONNX Runtime.</strong></p>
  <p>This is because the <code>N</code> gets read as a -1 dimensional layer that causes an overflow.</p>
  <p>The C++ code works with the original model <strong>where the input layer is expected to receive a 1x1x200x200 image</strong>.</p>
  <p><strong>I have already tried to change the tensor inputs using reshape()</strong> on the numpy array tensors, but this had no effect on the altered model.</p>
  <p>Just wondering if this is fixable, and any help would be appreciated. Thanks!</p>