Blobconverter Changelog
  • Release v1.3.0 - OpenVINO 2021.4.2 update 2 months ago

    Updated OpenVINO 2021.4.0 to 2021.4.2.

  • Release v1.2.8 - Custom show progress function 8 months ago

    In this PR, we added the ability to setup a custom show progress function.

    To use it, you can call

    python blobconverter.set_defaults(progress_func=progressFunc)

    where progressFunc should accept two arguments: current bytes downloaded and total bytes to download.

    Example function (from DepthAI SDK): python def progressFunc(curr, max): done = int(50 * curr / max) sys.stdout.write("\r[{}{}] ".format('=' * done, ' ' * (50-done)) ) sys.stdout.flush()

    Full Changelog: https://github.com/luxonis/blobconverter/compare/v1.2.7...v1.2.8

  • Release v1.2.7 - urllib3 import fix 8 months ago

    In this release, we have fixed an issue reported by our users while using Google Colab. There, after importing the blobconverter package, the following error occurred

    ``` ---> 10 from urllib3.util.ssl_ import ( 11 ssl, OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION, 12 PROTOCOL_TLS, DEFAULT_CIPHERS,

    ImportError: cannot import name 'PROTOCOL_TLS' from 'urllib3.util.ssl_' (/usr/local/lib/python3.7/dist-packages/urllib3/util/ssl_.py) ```

    The issue was caused by the latest versions of the boto3 library, and with this version, we downgraded it to a stable and working one.

    To fix the issue without blobconverter update, please run the following code

    python -m pip install boto3==1.17.39

  • Release v1.2.6 - blob verification 9 months ago

    In this release, we added a sanity check for cached blobs that verifies if they were downloaded correctly before usage.

    Now, if the blob stored in the cache directory is invalid, our tool will display the following message and download a new blob from the API

    Cached blob is invalid, will download a new one from API.

  • Release v1.2.5 - add dry option 9 months ago

    This release brings a dry argument to blobconverter - it allows you to get compilation commands which you can use for manual compilation. This can come in handy with large models or offline usage.

    You can use this function in two ways: blobconverter.from_zoo(..., dry=True) # dry argument is available for any compilation method or $ python3 -m blobconverter [...] --dry

    These will return compilation commands, similar to the ones below:

    [ '/app/venvs/venv2021_4/bin/python /app/model_compiler/openvino_2021.4/downloader.py --precisions FP16 --output_dir /tmp/blobconverter/c712744c08e24f459ab8562f2fc07487 --cache_dir /tmp/modeldownloader/2021_4 --num_attempts 5 --name mobilenet-ssd --model_root /tmp/blobconverter/c712744c08e24f459ab8562f2fc07487', '/app/venvs/venv2021_4/bin/python /app/model_compiler/openvino_2021.4/converter.py --precisions FP16 --output_dir /tmp/blobconverter/c712744c08e24f459ab8562f2fc07487 --download_dir /tmp/blobconverter/c712744c08e24f459ab8562f2fc07487 --name mobilenet-ssd --model_root /tmp/blobconverter/c712744c08e24f459ab8562f2fc07487', '/opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/myriad_compile -m /tmp/blobconverter/c712744c08e24f459ab8562f2fc07487/mobilenet-ssd/FP16/mobilenet-ssd.xml -o /tmp/blobconverter/c712744c08e24f459ab8562f2fc07487/mobilenet-ssd/FP16/mobilenet-ssd.blob -c /tmp/blobconverter/c712744c08e24f459ab8562f2fc07487/myriad_compile_config.txt -ip U8' ]

  • Release v1.2.4 - no_cache update 10 months ago

    With this small release, the no_cache argument is passed to the API and disables API-side cache fetch too

  • Release v1.2.3 - Backup available! 10 months ago

    With this release, we've added a backup for most used models from Intel Model Zoo (to prevent downtime issues and their impact if they happen again)

    If a model from model zoo is requested and it's conversion fails, we will try to find a precompiled model in our backup server and return it, instead of throwing an error.

    For this release, not to bloat the server too much initially, we have backed up: - All available Intel Model Zoo models with default shave parameter (4) - The following models were compiled with all available shave parameters (1-16): "mobilenet-ssd", "efficientnet-b0", "vehicle-license-plate-detection-barrier-0106", "vehicle-detection-adas-0002", "license-plate-recognition-barrier-0007" "vehicle-attributes-recognition-barrier-0039", "face-detection-retail-0004", "landmarks-regression-retail-0009"

    Feel free to make this list longer, adding models you find the most useful to this list

  • Release v1.2.2 - HTTPS communication 10 months ago

    With this release, blobconverter got some changes in the underlying infrastructure: - It got separated into a dedicated VPS (different underlying IP) - New pair of SSL certificates are now in use (from LetsEncrypt) - We changed the underlying webserver, moving the responsibility of handling the traffic directly into a container, not through nginx (which caused troubles with proxy_pass mechanism)

    HTTPS communication is now enforced and blobconverter will not accept unsecured connections, and this release changes the default URL to point to https:// instead of http://

    For the previous versions of blobconverter to work, please type the following code before you call any conversion methods

    ```python import blobconverter

    blobconverter.set_defaults(url="https://blobconverter.luxonis.com") ```

  • Release 1.2.0 10 months ago

    URL-based parameters and depthai-model-zoo integration!

    In release 1.2.0 we introduced two new ways to obtain your .blob file - from our model zoo and by using URLs as file pointers

    Examples:

    • Download megadepth from our zoo ```python import blobconverter

      blob_path = blobconverter.from_zoo(name="megadepth", zoo_type="depthai") - Download using URL parameterspython import blobconverter

      blob_path = blobconverter.from_openvino( xml="https://storage.openvinotoolkit.org/repositories/open_model_zoo/2021.4/models_bin/3/age-gender-recognition-retail-0013/FP16/age-gender-recognition-retail-0013.xml", xml_size=31526, xml_sha256="54d62ce4a3c3d7f1559a22ee9524bac41101103a8dceaabec537181995eda655", bin="https://storage.openvinotoolkit.org/repositories/open_model_zoo/2021.4/models_bin/3/age-gender-recognition-retail-0013/FP16/age-gender-recognition-retail-0013.bin", bin_size=4276038, bin_sha256="3586df5340e9fcd73ba0e2d802631bd9e027179490635c03b273d33d582e2b58" ) ```

    Other minor changes: - Changed blobconverter base image from Ubuntu 18 to Ubuntu 20 - Updated Python from 3.7 to 3.8 in all OpenVINO versions using TensorFlow 2.x (so for >= 2020.4). Legacy versions that use TensorFlow 1.x still have to use 3.7 due to no TF available for 3.8 - Error message from API will be printed in CLI even if it cannot be json-decoded (bug with "model not found" message not being displayed)

  • Release 1.1.1 10 months ago

    With this release: - ONNX model conversion is supported both via CLI and web interface - Updated README.md usage listing