i have been working on uploading data rows and labels from a prior annotation tool, so that we can unify all our labeling data in the Labelbox app.
I was able to convert the lables and upload them successfully following SDK tutorial for Image Annotation Import labelbox-python/image.ipynb at develop · Labelbox/labelbox-python · GitHub
However, the issue is that it always forced me to setup the project with a ‘new’ Ontology and I wanted to use an existing one - such that all my desired labels in Labelbox will share the same ontology and can be used in the same “Model Run” - this is critical.
I know that many Projects can be configured with the same editor Ontology in the Labelbox App, so I am not sure why I can’t do this from the SDK.
The tutorial shows using a new ontology, but I was able to serialize an existing Ontology, after inspecting the .asdict() method for the OntologyBuilder source code - but even this didn’t work.
It still ended up creating a new editor Ontology with the name of the new project.
See the (DEFAULT METHOD) and my (WORK-AROUND) method in the code snippet below. This code runs with no errors, but doesn’t do what I think it would for the (WORK-AROUND) approach
ontology_id = 'XXXXXXXXXXXXXXXXXXX'
existing_ontology = client.get_ontology(ontology_id=ontology_id)
# Create New Ontology (DEFAULT METHOD)
ontology_builder = OntologyBuilder.from_ontology(existing_ontology)
project_ontology_1 = ontology_builder.asdict()
# OR Use Existing Ontology (WORK-AROUND)
ontology_tools = existing_ontology.tools()
ontology_classifications = existing_ontology.classifications()
project_ontology = {
"tools": [tools.asdict() for tools in ontology_tools],
"classifications": [classifications.asdict() for classifications in ontology_classifications]
}
# Connect your ontology and editor to your Label Import project
project.setup(editor, project_ontology)
# Connect your dataset to your Label Import project
project.datasets.connect(dataset)
Any help with this would be appreciated.
I think I can go in after and change the Editor ontology in the Project settings to an existing one, explicitly, but this is a manual workaround.