Workflows
While there are many ways to integrate ApertureDB with other software packages, and it is easy to write your own applications around it, we also provide support for some common tasks in the form of workflows. These workflows are designed to be easy to use and can be customized to fit your needs.
Workflows provide a way to automate the execution of a commonly-performed task, for example
- Ingest public datasets into ApertureDB.
- Adding embeddings or bounding boxes to images.
- Running a Jupyter server with access to your ApertureDB instance.
There are three ways to use workflows:
- Workflows can be invoked from ApertureDB Cloud with a few clicks. This is the easiest way to use them, but there are a couple of restrictions: Not all options are available, and they can only be used with cloud instances.
- All workflows are also provided as Docker images, so they can be run from the command line or via Kubernetes. This is slightly harder to use, but some additional options are available, and they can be used with any ApertureDB instance.
- Workflows are implemented using an open-source Python script, so they can be modified to fit your needs, or reused in your own code. This is the most flexible way to use workflows, but it requires programming knowledge.
This documentation focuses on using workflows from ApertureDB Cloud. For more information on using workflows from the command line or in your own code, see the workflows documentation.
To create and delete workflows in ApertureDB Cloud, see Creating and Deleting Workflows.
Workflows
One-off workflows
One-off workflows are executed once and then stop. These are useful for tasks like ingestion. For example, you might want to ingest a dataset of images and their metadata into ApertureDB.
- Ingest Datasets: Ingest a canned dataset into ApertureDB.
Periodic workflows
Periodic workflows are executed repeatedly, always picking up where they left off. These are useful for tasks that reprocess other data, for example to add embeddings and bounding boxes. As new data is added, the workflow will process it automatically. For example, you might want to add embeddings to images in ApertureDB. You can create a workflow that reads images from ApertureDB, computes embeddings, and writes those embeddings back to ApertureDB. The workflow will run continually, and it will process any new images that have been added since the last run.
- Generate Embeddings: Add descriptors for uploaded images.
- Detect Faces: Add bounding boxes for faces in uploaded images.
- Object Detection: Add labelled bounding boxes for objects in uploaded images.
Continuous workflows
Continuous workflows provide a server with access to an instance. These are useful for tasks where you want to be able to interact with a long-running service. For example, you might want to run a Jupyter server that has access to your ApertureDB instance.
- Jupyter Notebooks: Run a Jupyter server with access to your ApertureDB instance.