This is the command line tool from das-element for .
It contains the API (supporting Python 2 & 3) and the classification of image, sequence and movie files.
Tip |
---|
You can deploy it on your render farm to use it in a post-render process for labeling tagging of elements |
Versions
There are two command line tool (CLI) versions with a different range of features and file size.
...
Table of Contents |
---|
How To
...
language | bash |
---|
...
cli
This version is optimized to receive data from the database or update an element.
Smaller in file size and fast to use, but has a reduced set of features.
Code Block |
---|
get-categories Get all categories of the library
get-category Get category entity
get-element-by-id Get element entity from element ID
get-element-by-name Get element entity from element name
get-element-by-uuid Get element entity from element UUID
get-elements Get all elements of the library
get-libraries Get all libraries data for current config
get-library-template-mappings Get all library template mappings
get-tag Get tag entity
get-tags Get all tags of the library
license Show license
update Updates database entity |
cli_full
Includes all features of the CLI, like ingesting files, rendering proxies or running a machine learning model.
This version has larger in file size and is slower.
Code Block |
---|
delete-element Delete element
get-categories Get all categories of the library
get-category Get category entity
get-element-by-id Get element entity from element ID
get-element-by-name Get element entity from element name
get-element-by-uuid Get element entity from element UUID
get-elements Get all elements of the library
get-libraries Get all libraries data for current config
get-library-template-mappings Get all library template mappings
get-meaningful-frame Validate meaningful thumbnail frame number
get-paths-from-disk Get all file paths from a given folder.
get-tag Get tag entity
get-tags Get all tags of the library
info Show machine learning model info
ingest Ingest new element
license Show license
predict Predict the category for a give file path.
render-element-proxies Render the proxy files for an element...
update Updates database entity |
...
Installation
Save the software to your preferred location. That’s all!
On Linux make sure to run this command to make the file executable:
Code Block |
---|
chmod +x das-element-cli_{version}_lin |
API
To learn more about the application programming interface (API) follow this link here.
Documentation
Python API
https://github.com/das-element/python-api
How To machine learning prediction
Info |
---|
Each version will be shipped with the model inside. Use the |
Simple usage
Code Block | ||
---|---|---|
| ||
das-element-cli.exe {file} |
Code Block | ||
---|---|---|
| ||
# Linux & Mac das-element-cli predict /path/to/file.#.exr # Windows C:\das-element-cli.exe predict C:\path\to\file.#.exr # result: {"/path/to/file.#.exr": [{"labeltag": "fire", "description": "rapid oxidation of a material", "value": "Q3196"}]} |
Info |
---|
Valid file paths are …
|
Multiple files
You can pass multiple file paths to the software.
classifier
Code Block | ||
---|---|---|
| ||
das-element-cli.exe predict {file1} {file2} {file3} |
Code Block | ||
---|---|---|
| ||
classifierdas-element-cli.exe predict /path/to/files.#.exr /path/to/another/file.mov # result: {"/path/to/files.#.exr": [{"labeltag": "fire", "description": "rapid oxidation of a material", "value": "Q3196"}], "/path/to/another/file.mov": [{"labeltag": "torch", "description": "stick with a flaming end used as a source of light", "value": "Q327954"}]} |
Multiple results
Get the top X predicted categories by using the flag: --top {number}
Code Block | ||
---|---|---|
| ||
classifierdas-element-cli.exe predict --top 3 /path/to/file.mov # result: {"/path/to/file.mov": [ {"labeltag": "torch", "description": "stick with a flaming end used as a source of light", "value": "Q327954"}, {"labeltag": "fire", "description": "rapid oxidation of a material", "value": "Q3196"}, {"labeltag": "flame", "description": "visible, gaseous part of a fire", "value": "Q235544"} ]} |
Python Example
Here is an example code snippet that you could use in your python code.
Code Block | ||
---|---|---|
| ||
# print the top 3 labeltag predictions for a given file path import json import subprocess path = '/path/to/file.mov' command = ['./classifierdas-element-cli.exe', 'predict', '--top', '3', path] process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() if process.returncode != 0: print('Something went wrong: {} - Error: {}'.format(path, error)) else: result = json.loads(output) for path, predictions in result.items(): wikidata_ids = [item['value'] for item in predictions] # list of IDs from wikidata readable_labelstags = [item['labeltag'] for item in predictions] # list of human readable labelstags print('For path: "{}" predicted the labels:tags {}'.format(path, ', '.join(readable_labelstags))) # result: # For path: "/path/to/file.mov" predicted the labelstags: torch, flame, fire |
Software info
Get information about the current software version and the categories that can be classified.
Code Block | ||
---|---|---|
| ||
das-element-cli.exe info |
key | description |
---|---|
| the identifier for the class from Wikidata |
| meaningful readable tag |
| a list of different words for this class |
Result Format
For each file path you get an a list of predictions for labelstags.
Info |
---|
The result is in JSON format. The default string format is Unicode. |
Code Block | ||
---|---|---|
| ||
{'/path/to/file.mov': [{ 'value': 'Q327954', 'labeltag': 'torch', 'description': 'stick with a flaming end used as a source of light' 'parents': "parents": [{'id': 'Q3196', 'name': 'fire'}, {'id': 'Q235544', 'name': 'flame'}] }]} |
key | description |
---|---|
| identifier value - see here for more details |
label
| human readable text of this category |
| description text for this category |
| the parent tags based on the category hierarchy structure |
Flags for prediction
These are the flags that can be set for the prediction.
flag | description |
---|
| Shows information of the software. |
human-readable - readable label
synonym - a list of different words for this class
--top {number}
Get the top X predictions of labels
--debug
| Get the top X predictions of tags.
| ||
| File path to another model file (.wit) | ||
| Set the number of frames of a filmstrip for a sequence of images or movie files.
|
Troubleshooting
issue | solution |
---|---|
MacOS shows unidentified developer for 'ffprobe' | For MacOS you should add the ffprobe to your trusted applications if you want to use the software. |
Windows startup is quite slow | Unfortunately that is an issue with Window that can not be fixed at the moment. |