InfinStor Logo

MLflow Free Service

Start using our free service by creating a bucket for MLflow artifacts in your AWS account.

What is MLflow Free Service?

InfinStor's MLflow Free Service is an essential tool for MLOps.

Unique offerings

Open source MLflow with InfinStor's innovative capabilities

Available for free

InfinStor MLflow Free Service is free to use for all data scientists

How to use MLflow Free Service

This will provide read, write and list access to the above bucket.

  1. Create an experiment.

    • Using the CLI, the command 'mlflow experiments create -n aabbcc' may be used to create an experiment called aabbcc. Naturally, you will need to substitute your own name for the experiment.

      mlflow experiments create -n aabbcc
    • The system responds with the experiment ID. For example:
      Created experiment 'aabbcc' with id 5

  2. Set up the MLFLOW_EXPERIMENT_ID environment variable.

    • Set the environment variable MLFLOW_EXPERIMENT_ID with the value. For example the following works in the bash shell. You may want to add this to ~/.bashrc

      export MLFLOW_EXPERIMENT_ID=5
  3. Set up the MLFLOW_TRACKING_URI environment variable.

    • Set the environment variables MLFLOW_TRACKING_URI to infinstor://mlflow.free.infinstor.com/

      export MLFLOW_TRACKING_URI=infinstor://mlflow.free.infinstor.com/
  4. Access the MLflow web UI.

    • The MLflow web user interface is available here.

Step 1: Create a Bucket

Following these simple steps will get the MLflow Kernel up and connected to the Infinstor’s MLflow service.

  1. Use a instructive name such as for-mlflow-artifacts or some such.

    • In the example on the right, we are using the bucket name for-testing-freeservice.

  2. Please enable CORS access for the bucket as shown, otherwise artifact listing and previewing in the MLflow UI will not work.

  3. To enable CORS support for the bucket, go to the AWS Console's S3 page, click on the bucket and choose the Permissions tab. Use the following policy to enable CORS support.

[    
  {        
    "AllowedHeaders": [            
      "*"        
    ],        
    "AllowedMethods": [            
      "GET"        
    ],        
    "AllowedOrigins": [            
      "*"        
    ],        
    "ExposeHeaders": [],           
    "MaxAgeSeconds": 3600    
  }
]

Step 2: Provide Permissions

There are two ways to provide permissions for our service to access your bucket of MLflow artifacts.

  1. Create an IAM Role for us to assume, and add an IAM Policy that provides permissions to access the bucket.

  2. Provide an AWS Access Key ID and AWS Secret Access Key.

Step 2a: Create an IAM Policy

This will provide read, write and list access to the above bucket.

  1. Go to the IAM page of the AWS Console, and click on create policy.

    • Use the json interface for entering the policy.

  2. The policy that is suitable for this purpose is listed below.

    • Replace for-testing-freeservice with your own bucketname in two places in the json.

  3. Next, in the review page, provide an instructive name for the policy and create it.

    • In this example, we have used the name access-for-testing-freeservice.

{
 "Version": "2012-10-17",
 "Statement": [
   {
     "Effect": "Allow",
     "Action": ["s3:ListBucket"],
     "Resource": ["arn:aws:s3:::for-testing-freeservice"]
   },
   {
     "Effect": "Allow",
     "Action": [
       "s3:PutObject",
       "s3:GetObject",
       "s3:DeleteObject"
     ],
     "Resource": ["arn:aws:s3:::for-testing-freeservice/*"]
   }
 ]
}

Step 2b: Create an IAM Role

The InfinStor service will assume this role.

  1. In the IAM page, choose create role and click on Another AWS Account as shown below.

    • Please use the AWS account ID 697756613082 and choose your own External ID (this is similar to a password).

  2. In the next page, you will need to select the policy created in step 2a.

    • e.g. access-for-testing-freeservice.

  3. Finally, provide a name for the role and create it.

Step 3: Create a free account

The new artifact URL, as well as policy or role, will be used to in the account creation process.