Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce Active Learning #130

Merged
merged 32 commits into from
Nov 2, 2023

Conversation

PawelPeczek-Roboflow
Copy link
Collaborator

@PawelPeczek-Roboflow PawelPeczek-Roboflow commented Oct 26, 2023

Description

With this PR we introduce foundational changes to enable active learning in inference.
So far, feature is disabled - due to lack of implementation of backend changes at Roboflow platform, but that will change soon.

Features supported:

  • sampling strategies (random sampling for now) with parameters configurable via Roboflow app
  • limits of collected datapoints
  • uploading images with predictions into roboflow app - later those may be assigned as labeling tasks

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update (but let's defer it in time until feature is shipped into Roboflow platform)

How has this change been tested, please provide a testcase or example of how you tested the change?

  • running inference server locally (with and w/o Redis) and submitting inferences verifying them with Roboflow APP
  • running inference against stream

Any specific deployment considerations

  • limits apply to local instance only if global cache in Redis is not connected
  • cache keys related to limits will be at max < 10 per project in given moment of time (expiration is set reasonably)
  • locking around limits credits updates are within small portions of activities (only to ensure atomic updates) - not around whole registration

Docs

  • Docs updated? What were the changes:

@PawelPeczek-Roboflow PawelPeczek-Roboflow marked this pull request as ready for review October 27, 2023 12:49


@wrap_roboflow_api_errors()
def get_roboflow_active_learning_configuration(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the place holder waiting for updates on the Roboflow main app back end?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, exactly

Copy link
Contributor

@paulguerrie paulguerrie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gave it a thorough read, looks really great! Nothing I would change and no glaring bugs I could find. Great work!

@PawelPeczek-Roboflow PawelPeczek-Roboflow merged commit 7a4a3d7 into main Nov 2, 2023
2 checks passed
@PawelPeczek-Roboflow PawelPeczek-Roboflow deleted the feature/introduce_active_learning branch November 2, 2023 11:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants