1. Tracking Machine Learning Experimentation with GitHub Issues


    To track machine learning experimentation using GitHub Issues, we can utilize Pulumi's GitHub provider. Issues on GitHub are a great way to track tasks, enhancements, and bugs for your projects. They act like a to-do list with additional features that you can use to organize work and collaboration.

    In this program, we will create a GitHub issue for tracking our machine learning experimentation. We will use the github.Issue resource from Pulumi's GitHub provider. We should have a GitHub repository in place where we want to track the issues. Optionally, we can create labels using the github.IssueLabel resource to categorize the issues, such as "experiment", "data-processing", "training", etc.

    Let's go through an example.

    Firstly, we'll want to have the Pulumi GitHub SDK installed. If you haven't already, you can install it via pip. In your terminal, run:

    pip install pulumi_github

    Here's the program:

    import pulumi import pulumi_github as github # Configuring the GitHub provider with the token and organization github_provider = github.Provider("github_provider", token="YOUR_GITHUB_TOKEN", organization="YOUR_GITHUB_ORGANIZATION") # Creating a new GitHub IssueLabel for machine learning experiments ml_experiment_label = github.IssueLabel("ml-experiment-label", name="machine-learning-experiment", color="e99695", repository="YOUR_REPOSITORY_NAME", description="Label for issues related to machine learning experiments", opts=pulumi.ResourceOptions(provider=github_provider) ) # Creating a new GitHub Issue to track machine learning experiments ml_experiment_issue = github.Issue("ml-experiment-issue", title="Experiment: Evaluate new model architecture", body=""" This issue is to track the experimentation with a new model architecture. The following tasks need to be completed: - [ ] Preprocess the dataset with the new filters - [ ] Train the new model architecture - [ ] Evaluate the results against our benchmarks - [ ] Document the approach and results """, repository="YOUR_REPOSITORY_NAME", labels=[ml_experiment_label.name], opts=pulumi.ResourceOptions(provider=github_provider) ) # Export the URL of the created issue pulumi.export('issue_url', ml_experiment_issue.html_url)

    Replace YOUR_GITHUB_TOKEN, YOUR_GITHUB_ORGANIZATION and YOUR_REPOSITORY_NAME with your actual GitHub token, GitHub organization, and the repository name that you are using for tracking your machine learning experiments.

    In the code above:

    • We instantiate the github_provider with the given token and organization. This is necessary for authenticating against your GitHub account.
    • We then create a new label ml-experiment-label that categorizes our machine learning experiments.
    • After that, we create a new issue ml-experiment-issue which details the tasks we need to accomplish.
    • The body of the issue can be adjusted based on your experimentation requirements.
    • Finally, we export the URL of the created issue which can be used to quickly navigate to it on GitHub.

    This simple workflow allows you to programmatically interact with GitHub to manage the lifecycle of your machine learning experiments, ensuring that you have a reproducible and trackable process.