A project is a high-level organizational entity that defines and contains a scope of work and includes entities, such as Datasets, Recipes, Workflows, Contributors, FaaS, etc. It provides a centralized location for managing data, tasks, and annotations related to a specific work context of ML/AI development. It improves collaboration between team members, consistency of data and annotations, and tracking of progress and results
Dataset - Stores the actual data items. A Dataset can store data items of different formats simultaneously, but dedicating a dataset by context is best practice. Datasets can be versioned by cloning and merging them.
Recipe - dataset has a default ontology to store labels and attributes and is contained in a Recipe, adding labeling instructions and settings.
Workflow - Labeling is formalized within a project by creating a labeling task for an entire dataset or specific items. Items completed by annotators (‘Completed’ is their actual status) can then be assigned to a ‘QA Task’, to be ‘Approved’. If mistakes are found, an ‘Issue’ is assigned to an annotation, sending it back to the original annotator for fixing. Fixed annotation is assigned ‘for review’, and if it's OK, it is ‘Approved’.
Contributors - Users added to the project. These could be from the organization owning the project, for higher-level roles, or from other organizations (or no organization at all). A project has 1 or more ‘Project owners’, and also ‘Developers’. The project owner can add ‘Annotation managers’, which manage the daily work of all ‘Annotators’.
FaaS - functions and services can be deployed to execute automatic processes over any entity of the Dataloop system, including data items, annotations, tasks, datasets, and projects.
Creating a Project
The first project is typically created during the initial account creation and login. Users with no projects at all, for example if the a project was deleted or archived, are prompted with a message suggesting to create one. To start a new or an additional project:
- Locate the project-navigator at the page header
- Click on the project name to show the dropdown
- Click on the "Add Project" button
- In the popup window tha will show, enter the name of the new project you would like to create and press "Confirm"
Change an Existing Project's Organization
By default, an organization is owned by the currently active organization of the user creating it. Project can be transfer for ownership by a different organization:
- From the Project Overview dashboard, click on "Settings"
- Select "Set organization"
- From the popup, select the Organization you would like to transfer ownership of the currently active project. The list contains all organizations you are a member of.
Several project actions are available from the "Project Actions" menu, located at the top of the Project Overview' page
- Rename the project
- Delete the project
- Copy the Project ID
- Change the project's Organization - By default, an organization is owned by the currently active organization of the user creating it. Project can be transfer for ownership by a different organization - Select "Set organization", and then select the organization you would like to transfer ownership of the currently active project. The list contains all organizations you are a member of.
Project settings allow controlling and activating features that has a project-wide affect, on all respective entities - recipes, tasks, datasets etc.
To access project settings:
- Go to the project dashboard
- Locate the 'Project settings' text button next to 'Project actions' and click on it
Enable/Disable Show task by ORG - When enabled, users will only see in the tasks page the tasks that are owned by users in their organization. This provides a certain level of ability to operate multiple labeling companies in the same project.
Frames Difference - when converting video files to WEBM format for frame-accurate annotations, this setting defines the tollerance to difference in frames that can be created during the conversion process. While the default is set to 0 (zero), to ensure frame-accurate annotations, you can define the tollerence level that can better work for your project needs
FPS Difference - Similarly to frames-difference, this setting allows tollerance in frames-per-second difference between original video file and converted WEBM file.