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 of elements. |
How To
tagging of elements |
Versions
There are two command line tool (CLI) versions with a different range of features and file size.
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 | ||
---|---|---|
| ||
classifierdas-element-cli.exe {file} |
Code Block | ||
---|---|---|
| ||
classifier# 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.
Code Block | ||
---|---|---|
| ||
classifierdas-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 | ||
---|---|---|
| ||
classifier 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. |
| 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. |
more different |
tags |
tags
|
--debug
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. |