Skip to main content

Azure Machine Learning Designer SDK

Project description

Azure Machine Learning Designer Python SDK

The mldesigner package provide the SDK interface which work along with Azure ML Designer (drag-n-drop ML) UI experience.

Especially, the package ease the authoring experience of resources like Components & Pipelines:

  • Components: self-contained piece of code that does one step in a machine learning pipeline: data preprocessing, model training, model scoring, a hyperparameter tuning run, etc. Such that it can be parameterized and then used in different contexts.
  • Pipelines: independently executable workflow of machine learning tasks composed by Components.

Change Log

v0.1.0b11 (2023.02.09)

Recommended to work with azure-ai-ml==1.4.0

Improvements

  • Add python version requirements <4.0,>=3.7

v0.1.0b10 (2023.01.20)

Recommended to work with azure-ai-ml==1.3.0

New Features

  • Support primitive type as component return annotation.
  • Support @group as component return annotation.
  • Add validation for component execution results according to return annotation.

Improvements

  • Return component execution result as mldesigner execute result.

Fixed Bugs

  • Fixed missing keyword arguments when executing component in an environment that has both mldesigner and azure-ai-ml
  • Fixed compile error when compiling pipeline that has a node uses remote registered component either from workspace or registry.
  • Fixed parse error when input string is a json serialized string.

v0.1.0b9 (2022.12.06)

Recommended to work with azure-ai-ml==1.2.0

Improvements

  • Enable creating component with auto-incremented version if no version specified.
  • Update mldesigner default environment image to be mcr.microsoft.com/azureml/openmpi4.1.0-ubuntu20.04
  • Mldesigner compile improvements:
    • Exits with code 1 when there is failed compilation.
    • Output yaml file with original file name if the input is a yaml.
    • Generated pipeline node keys is ordered.

Fixed Bugs

  • Fixed mldesigner executor does not pass **kwargs to component func

v0.1.0b8 (2022.10.26)

Fixed Bugs

  • Fixed dependency issue when importing typing_extensions

v0.1.0b7 (2022.10.25)

New Features

  • Support mldesigner compile: mldesigner compile
  • Support list type component input for generate_package.

Fixed Bugs

  • Fixed execute error when input string has space or "=" inside.
  • Fixed execute error for bool parameter parsing.

Improvements

  • Remove mode client default value ro_mount/rw_mount from mldesigner Input/Output class.
  • Refine error message when defining a component in .ipynb.
  • Refine error message when failed to create component entity.

v0.1.0b6 (2022.09.19)

Improvements:

  • Adopted optional input new format: '$[[]]' instead of old '[]'.
  • Support Enum for mldesigner input.
  • Raise error if input has no annotation specified.

Fixed Bugs:

  • Fixed import error when used along with azure-ai-ml<0.1.0b7.

v0.1.0b5 (2022.09.08)

New Features

  • Enable using @command_component without brackets when no additional parameters.
    from mldesigner import command_component
    @command_component
    def my_component():
        pass
    
    # equals to
    @command_component()
    def my_component():
        pass
    

Fixed Bugs:

  • Fixed component command execution error when no inputs or outputs specified.
  • Fixed incompatible issue with azure-ai-ml >=0.1.0b7: error when trying to import azure-ai-ml constants

v0.1.0b4 (2022.08.22)

New Features:

  • Support mldesigner generate:
  • Support mldesigner execute: execute component in local host environment.
    • CLI example: mldesigner execute --source ./components.py --name my_component inputs a=1 b=2
    • SDK example:
      from mldesigner import execute
      from components import my_component
      node = my_component(a=1, b=2)
      res = execute(node)
      
    • More information: mldesigner execute --help

Improvements:

  • Fix bump version config.

v0.1.0b3 (2022.07.14)

New Features:

  • Support optional input for mldesigner Input class.
    from mldesigner import command_component, Input
    @command_component()
    def my_component(optional_param: Input(type="integer", optional=True)):
        pass
    
  • Support io descriptions inferring from docstring for pipeline & component.

Improvements:

  • Handle compatibility issue for future changes. Less imports of private functions
  • Remove default property for mldesigner Input class.
  • Enable mldesigner to use argparser to parse incoming args.
  • Compatibility handling: old azure ai ml pacakge use different way to load component.
  • Component input like "int_param=3", no longer to be processed as optional input when registering to remote.

v0.1.0b2 (2022.05.23)

Improvements:

  • Refine code terminologies, replace old dsl with new mldesigner.

v0.1.0b1 (2022.05.20)

New Features:

  • Support using decorator @command_component to define a component.
    • Create a component:
      from mldesigner import command_component, Input, Output
      
      @command_component()
      def hello_world(input: Input, output: Output, param='str_param'):
          print("Hello World!")
      
    • Register the component to server:
      from azure.ai.ml import MLClient
      client = MLClient.from_config(credential=credential)
      client.components.create_or_update(hello_world)
      
    • Use sdk component in pipeline:
      from azure.ai.ml import dsl
      
      @dsl.pipeline()
      def my_pipeline():
          node = hello_world()
          return {"pipeline_output": node.outputs.output}
      
      pipeline = my_pipeline()
      client.jobs.create_or_update(pipeline)
      

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

mldesigner-0.1.0b11-py3-none-any.whl (138.3 kB view details)

Uploaded Python 3

File details

Details for the file mldesigner-0.1.0b11-py3-none-any.whl.

File metadata

File hashes

Hashes for mldesigner-0.1.0b11-py3-none-any.whl
Algorithm Hash digest
SHA256 b60ef8772625e6b6fddf36da50692a28ba0766f427dc88824cdc940db319ed74
MD5 faf866c41d12bef036fa4f3af24b865e
BLAKE2b-256 2ca23025e7efe58358248817856940399b32bcb1d841f43e88f91340910bd80f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page