title: Google AI Platform: confused about the multiple runtime versions I have to specify
body: <p>From the training up to the prediction phase in Google AI Platform Training and Prediction, there is this notion of runtime version and I'm a little bit confused about it. A runtime version must be specified when you launch the training (see <a href="https://cloud.google.com/ai-platform/training/docs/versioning#:%7E:text=AI%20Platform%20Training%20supports%20each,that%20use%20the%20runtime%20version." rel="nofollow noreferrer">here</a>). Another one has to be specified when you export your model in Tensorflow SavedModel format and another one when you create a versioned model.</p>
  <p>Example. I submit a training job using the <a href="https://cloud.google.com/ai-platform/training/docs/python-client-library" rel="nofollow noreferrer">Google APIs Client Library for Python</a> so I followed this <a href="https://cloud.google.com/ai-platform/training/docs/training-jobs" rel="nofollow noreferrer">guide</a> to configure my training job. As I'm using the <a href="https://github.com/tensorflow/models/tree/master/research/object_detection" rel="nofollow noreferrer">tensorflow object-detection API</a>, my config file looks like:</p>
  <pre><code>{
  &quot;jobId&quot;: &quot;...&quot;,
  &quot;trainingInput&quot;: {
      &quot;runtimeVersion&quot;: &quot;2.1&quot;,
      &quot;pythonVersion&quot;: &quot;3.7&quot;,
      &quot;scaleTier&quot;: &quot;CUSTOM&quot;,
      &quot;masterType&quot;: &quot;standard&quot;,
      &quot;workerCount&quot;: &quot;1&quot;,
      &quot;workerType&quot;: &quot;cloud_tpu&quot;,
      &quot;workerConfig&quot;: {
          &quot;tpuTfVersion&quot;: &quot;1.15&quot;
      },
      &quot;region&quot;: &quot;us-central1&quot;,
      &quot;jobDir&quot;: &quot;...&quot;,
      &quot;pythonModule&quot;: &quot;object_detection.model_main_tf2&quot;,
      &quot;args&quot;: [
          &quot;--model_dir&quot;,
          &quot;...&quot;,
          &quot;--pipeline_config_path&quot;,
          &quot;...&quot;
      ]
    }
  }
  </code></pre>
  <p>Following that my config file for the exportation:</p>
  <pre><code>{
  &quot;jobId&quot;: &quot;...&quot;,
  &quot;trainingInput&quot;: {
      &quot;runtimeVersion&quot;: &quot;2.1&quot;,
      &quot;pythonVersion&quot;: &quot;3.7&quot;,
      &quot;scaleTier&quot;: &quot;CUSTOM&quot;,
      &quot;masterType&quot;: &quot;standard&quot;,
      &quot;workerCount&quot;: &quot;1&quot;,
      &quot;workerType&quot;: &quot;standard&quot;,
      &quot;region&quot;: &quot;us-central1&quot;,
      &quot;pythonModule&quot;: &quot;object_detection.exporter_main_v2&quot;,
      &quot;args&quot;: [
          &quot;--input_type&quot;,
          &quot;image_tensor&quot;,
          &quot;--pipeline_config_path&quot;,
          &quot;...&quot;,
          &quot;--trained_checkpoint_dir&quot;,
          &quot;...&quot;,
          &quot;--output_directory&quot;,
          &quot;...&quot;
      ]
    }
  }
  </code></pre>
  <p>See I had to specify again a runtime version. Does it have to be the same as the runtime version used for the training job? For the last part, after having created the model, I had to create a version. My config file:</p>
  <pre><code>{
  &quot;name&quot;: &quot;v1&quot;,
  &quot;description&quot;: &quot;version description&quot;,
  &quot;isDefault&quot;: &quot;False&quot;,
  &quot;deploymentUri&quot;: &quot;...&quot;,
  &quot;createTime&quot;: &quot;string&quot;,
  &quot;runtimeVersion&quot;: &quot;2.1&quot;,
  &quot;machineType&quot;: &quot;mls1-c1-m2&quot;,
  &quot;framework&quot;: &quot;TENSORFLOW&quot;,
  &quot;pythonVersion&quot;: &quot;3.7&quot;
  </code></pre>
  <p>}</p>
  <p>Again a runtime version. Same question: does it have to be the same as those used before? Or can the runtime for training and prediction be different?</p>