FAQ
Errors about environment variables
An environment variable is a variable that is defined in the terminal and used by the executable afterwards. In the context of Deepomatic CLI there is one environment variables used:
DEEPOMATIC_API_KEY
is used to interact with trained models and to send images or JSON to Deepomatic Studio.
If you get the following error, please check that your DEEPOMATIC_API_KEY
is set and is the one from the right organization.
Find how to get the API Key value here: Setup your Deepomatic API Key
Error 11001: getaddrinfo failed
You get this error because Deepomatic CLI cannot reach the Deepomatic endpoints. Most of the times this is the consequence of a Proxy that has not been setup.
Setup a proxy
The easiest way to do it is to simply pass the proxy parameters as an environment variable. You will need:
proxyserver
: the proxy server address.proxyport
: the proxy server port.user
: your proxy user login identifier.password
: your proxy authentication password.
The Deepomatic CLI uses only secured https connection. As such, you just need to setup the https_proxy
environment variable.
If you're running inferences on your local infrastructure you might want to take a look at how to Configure Docker to use a proxy server.
What is the difference between input_fps and skip_frames?
If your camera has an original frame rate of 30fps, and you want to run inferences at 3 fps, the options input_fps
and skip_frames
can both enable you to do it, with input_fps=3
or skip_frames=2
.
input_fps
uses the fps of the input automatically detected to force a new fps. It is simple to use, but requires that the original fps detected is correct. In most cases, it will work fine, but sometimes the FPS automatically detected in the video isn't reliable as it is encoded in the file header.
For example, in .avi videos, duplicate frames are represented by an instruction to repeat the previous frames and are skipped by the library OpenCV, which only reads frames with real data.
Another case in which input_fps
may not be the best option, is when the original fps is not a multiple of the input_fps
. In this case, we recommend to use skip_frames
skip_frames
allows you to skip a fixed number of frames and analyze only 1 frame every N frames. It is independent of the original fps detected, and requires you to calculate the value desired.
skip_frames = original_fps / input_fps -1