Can I use Encord active without an Encord account
Encord Active is an open source project aimed to support all computer vision based active learning projects.
You can, for example, use the
init command to initialize a project from an image directory.
You can also import a COCO project.
The Importing Data and Labels is a great resource for more information on your possibilities.
Does data stay within my local environment?
Yes! - period.
Everything you do with this library stays within your local machine. No statistics, data or other information will be send elsewhere.
What do I do if I have issues with the installation?
Get in touch with us! You can contact us via slack or by email.
What is a quality metric?
You can think of a metric as any function you can apply to your data, labels, and model predictions to rank/index them. From the metrics, Encord Active will automatically decompose and analyze your data, labels, and model predictions.
Here is a blog post on how we like to think about quality metrics.
Quality metrics are not only limited to those that ship with Encord Active. In fact, the power lies in defining your own quality metrics for indexing your data just right. Here is the documentation for writing your own metrics.
How do I import my model predictions?
You build a list of
encord_active.lib.db.Prediction objects, store them in a pickle file and run
encord-active import predictions /path/to/your/file.pkl.
Here is the workflow description for importing model predictions.
How do I write my own quality metrics?
Here is the documentation for writing your own metrics.
Initializing Encord Active is taking a long time, what should I do?
For larger projects, initialization can take a while. While we're working on improving the efficiency, there are a couple of tricks that you can do.
As soon as the metric metric computations have started (indicated by Encord Active printing a line containing
Running metric) you can open a new terminal and run
encord-active visualize. This will allow you to continuously see what have been computed so far. Refresh the browser once in a while when new metrics are done computing in your first terminal.
You can also kill the import process as soon as metrics have started to compute. This will leave you with a project containing less metrics. As a consequence, you will not be able to see as many insights as if the process is allowed to finish. However, you can always use the
encord-active metricizecommand to run metrics that are missing.
How do I add my own embeddings?
You will have to create a list of
The objects need to contain your custom (flat) embeddings as numpy arrays and point to the data or labels that you embedded.
Store the list as a pickle file in
project/path/embeddings/cnn_images.pklif you do image level embeddings
project/path/embeddings/cnn_objects.pklif you do object level embeddings
project/path/embeddings/cnn_objects_reduced.pklif you do 2D embeddings for similarity search.
Can I use Encord Active without a UI?
The code base is structured such that all data operations live in
encord_active.lib which serves as the "backend" for the UI.
As such, everything you can do with the UI can also be done by code.
The UI/frontend is built in streamlit which is a python based frontend library.
Therefore, you can find many good examples in the
encord_active.app code for how to operate with the project data via python.
Other good resources can be found in our example notebooks.
How does Encord Active integrate without the Encord annotation platform?
There are multiple ways in which you can integrate your data with Encord Active. We have described how to import data here. To also integrate model predictions, you can read more here. Exporting data back into the rest of your pipeline can be done via the export pages.
How can I do dataset management with Encord Active?
Dataset management can be done in two ways.
- You can tag your data to keep track of subsets (or versions) of your dataset.
- If you are planning to do more involved changes to your dataset and you want the ability to go back, your best option is to use the Clone button on the filter and export page. This will create a clone of your entire project and you will always be able to come back to the old project.
How do I version my data and labels through Encord Active?
The best way to version your project is to tag your data with the tagging feature as you go.
Alternatively, you can use
To do that, we suggest adding a
.gitignore file with the following content:
git add .; git commit -am "Initial commit".
What is the tagging feature?
Throughout the Data Quality, Label Quality, and Model Quality pages, you can tag your data. There are two different levels at which you can tag data; the data level which applies to the raw images/video frames and the label level which applies to the classifications and objects associated to each image.
You can use the tags to, e.g., filter and export your data for further processing like re-labeling, training models, or inspecting model performance based on a specific subset of your data.
Here is some more documentation on using the tagging feature.
How do I use Encord Active to find label errors?
Here is a blog post on how to find and fix label errors.
How do I use Encord Active for active learning?
Encord Active supports the active learning process by allowing you to
- Explore your data to select what to label next
- Find label errors that potentially harm your model performance
- Automatically decompose your model performance to help you determine where to put your focus for the next model iteration
- Tag subsets of data to set aside test sets for specific edge cases for which you want to maintain your model performance between each production model
How do I upload my data and labels to Encord Annotate?
Uploading your data to Encord Annotate is as simple as clicking the Export to Encord button on the Filter and Export page. This will create an ontology, a dataset, and a project on Encord Annotate and provide you with links to the three.
This require you to have an ssh-key associated with Encord Active:
- Add your public key to Encord Annotate
- Associate the private key with Encord Active:
encord-active config set ssh-key-pash /path/to/private/key
What should I do if I see an error?
If you see an error, we're here to help. Get in touch with us on slack or shoot us an email and we'll get back to you.
We would also love if you wouldn't mind reporting an issue on GitHub.