Creating environment definitions (Watson Studio)

You can create custom environment definitions if you do not want to use the defaults provided by Watson Studio.

To create an environment definition, you must have the Admin or Editor role within the project.

You can create environment definitions in Watson Studio to run the following assets:

To create an environment definition:

  1. From the Environments tab in your project, click New environment definition.
  2. Enter a name and a description.
  3. Select the type. The type specifies the runtime engine type. This can be:
    • Default: Select for Python or R, RStudio, or JupyterLab runtimes.
    • Spark: Select for Spark with Python, R, or Scala runtimes.
    • GPU: Select for more computing power to improve model training performance.
    • Remote system: Select to:
      • Run Data Refinery jobs to refine data stored in HDFS, in tables in a Hive warehouse, or in tables in Impala on the Hadoop cluster
      • Run jobs or Jupyter Enterprise Gateway (JEG) sessions on remote systems, such as Hadoop or Spectrum Conductor (JEG only).
  4. For Default or GPU, select the hardware configuration and software version.

    • Specify the size for CPU, GPU and RAM to reserve.

      The environment is started on a compute node where the required resources are available and the resources are reserved for the environment for as long as it runs. You should be careful to specify enough resources for your planned workload, especially sufficient memory. This is important when running notebooks. 2 GB RAM is the default.

      Although specifying the amount of resources can provide a more predictable experience, it can be difficult to predict what a reasonable limit is, which can lead to situations where all the resources are reserved by active environments but aren’t being actively used.

    • Specify the default software version.

      Note: If you are creating scikit-learn, XGBoost, PyTorch, TensorFlow, Keras, or Caffe models, or are coding Python functions or scripts, select Default Python 3.7. The Default Python 3.7 (legacy) software version contains older versions of these machine learning libraries.

  5. For Spark, select the driver and executor size, the number of executors and the software version.
    • Driver hardware configuration. The driver creates the SparkContext which distributes the execution of jobs on the Spark cluster. Select from:
      • 1 vCPU and 4 GB RAM
      • 2 vCPU and 8 GB RAM
    • Executor hardware configuration. The executor is the process in charge of running the tasks in a given Spark job. Select from:
      • 1 vCPU and 4 GB RAM
      • 2 vCPU and 8 GB RAM
    • Number of executors. Select from 1 to 10 executors.
    • Spark version. Select from:
      • Spark 3.0
    • Software version
  6. For Remote system, select a Hadoop or system configuration.

Your new environment definition is listed under Environment definitions on the Environments page of your project. From this page, you can update an environment definition and see which runtimes are active. You can also stop runtimes from here.

Limitations

Notebook environments (Anaconda Python or R distributions):

JupyterLab environments:

Spark environments:

GPU environments:

Promoting an environment definition

If you created an environment definition and associated it with an asset that you promoted to a deployment space, you can also promote the environment definition to the same space. Promoting the environment definition to the same space enables running the asset in the same environment that was used in the project.

You can only promote environment definitions that you created.

To promote an environment definition:

  1. From the Environments page in your project, select the environment definition and click Actions > Promote.
  2. Select the space that you promoted your asset to as the target deployment space and optionally provide a description.

Next steps

Learn more