message: Allow empty arrays to occur as the first input to the concat op.
  The conversion process fails for graphs that use tf.boolean_mask(..., axis=0) --
  this op calls tf.concat with an empty array as the first argument.
diff: @@ -659,11 +659,16 @@ void ProcessConcatenationOperator(Model* model, ConcatenationOperator* op) {
  }
  }
  auto& output_array = model->GetArray(op->outputs[0]);
  - // Use 0 input as basis for output dimensions.
  - const auto& first_input_array = model->GetArray(op->inputs[0]);
  - output_array.copy_shape(first_input_array.shape());
  + // Use first non-empty input as basis for output dimensions.
  + for (const auto& input_name : op->inputs) {
  + const auto& input_array = model->GetArray(input_name);
  + if (input_array.shape().dimensions_count() > 0) {
  + output_array.copy_shape(input_array.shape());
  // Negative axis means the count starts at the back of the dims().
  - if (op->axis < 0) op->axis += first_input_array.shape().dims().size();
  + if (op->axis < 0) op->axis += input_array.shape().dims().size();
  + break;
  + }
  + }
  // Determine the concat size, and enfore that all inputs have
  // the same dimensions count.
  int concat_size = 0;
  