RedisAI Versions Save

A Redis module for serving tensors and executing deep learning graphs

v1.2.7

1 year ago

This is a maintenance release for RedisAI 1.2 Update urgency: Medium

Headlines: This release improves overall stability and provides fixes for issues found after the previous release.

Details

Minor enhancements:

  • Add AI.CONFIG GET sub-command (#918, #924)
  • Backends update - TF 2.8, PyTorch 1.11, ONNXRuntime 1.11 (#914, #915, #917)
  • Enable saving model/script run statistics when execution occurs from low-level API (by using RedisGears integration in particular), and retrieving the statistics with AI.INFO command (#904)
  • Restore support for MacOS build scripts (#897)
  • Removed support for Linux Xenial (#893)

Bugfixes:

  • Fix a synchronization issue regarding update the number of background threads, that caused (rarely) a crash upon executing models in ONNX (#923)

v1.2.5

2 years ago

Headlines

  • (#832) Strings tensor support (TF and ONNXRUNTIME only).
  • (#847) (#806) Backends update - TF 2.6, PyTorch 1.9, ONNXRuntime 1.9
  • (#827) ONNXRuntime memory is now managed by Redis (Cloud readiness)

Bugfixes

  • (#829) Remove deprecation warnings from deprecated commands on Redis logs.
  • (#852) fixed invalid delete of outputs after execution error in TF

v1.2.4

2 years ago

This is the fourth release candidate for RedisAI v1.2!

Headlines:

#482 DAG performance enhancement: Auto-batching support for MODELRUN commands inside a DAG Added DAG general timeout. #489 Execute Redis commands in TorchScript. This capability enables, but not limited, to convert data residing in Redis (or modules) data structures into tensors to be fed to the model as well as store script results in Redis data structures. Scripts can be run in DAG's. #787 Allow executing models from within TorchScript. #775 Support for BOOL tensors. #511, #537, #547, #556 Allow async model, script and DAG run via low-level API. This capability will allow other modules to call RedisAI. For example a module that hold time series data, can call RedisAI directly for anomaly detection. #723 #682 #680, #792 - New API commands MODELSTORE MODELEXECUTE, SCRIPTSTORE, SCRIPTEXECUTE DAGEXECUTE replacing and deprecating MODELSET MODELRUN, SCRIPTSET, SCRIPTRUN DAGRUN for better enterprise cluster support. #779 #797 Allow ONNXRuntime backend execution timeout

Details:

Minor enhancements:

#566 #619 TensorFlow 2.4, Pytorch 1.7, ONNXRuntime 1.7. Note: Current ONNXRuntime distribution is experimental under RedisAI build. Future version will return the original ONNXRuntime distribution. #499 Allow setting number of inter/intra op threads in Torch backend. #529 Expose model definitions for inputs and outputs in MODELGET command. #530 Expose Redis/RedisAI main thread cpu usage. #540 Reuse memory in TENSORSET command. #580 Expose backend version on AI.INFO #581 Cache tensor length. #791 Allow AI.MODELGET and AI.SCRIPTGET without optional args

Bugfixes:

#488 Handle short reads during RDB load. #538 Handle binary strings as tensor names. #462, #553 Handle memory leaks. #558 Erroneous replies for invalid MODELGET commands. #748 Model RDB encoding missing properties #754 AOF-Rewrite logic #793 Fix DAG reply for AI.TENSORGET op #794 #794 Fix MODELGET, SCRIPTGET , _MODELSCAN and _SCRIPTSCAN commands

Notes: This is not the GA version of 1.2. The version inside Redis will be 10204 or 1.2.4 in semantic versioning. Since the version of a module in Redis is numeric, we could not add an RC4 flag.

v1.2.3

2 years ago

This is the third release candidate for RedisAI v1.2!

Headlines:

#482 DAG performance enhancement: Auto-batching support for MODELRUN commands inside a DAG Added DAG general timeout. #489 Execute Redis commands in TorchScript. This capability enables, but not limited, to convert data residing in Redis (or modules) data structures into tensors to be fed to the model as well as store script results in Redis data structures. Scripts can be run in DAG's. #511, #537, #547, #556 Allow async model, script and DAG run via low-level API. This capability will allow other modules to call RedisAI. For example a module that hold time series data, can call RedisAI directly for anomaly detection. #723 #682 #680 - New API commands MODELSTORE MODELEXECUTE SCRIPTEXECUTE DAGEXECUTE replacing and deprecating MODELSET MODELRUN SCRIPTRUN DAGRUN for better enterprise cluster support. Note: SCRIPTEXECUTE command structure will be changed in the following release candidates, as well as new command SCRIPTSTORE will be introduced.

Details:

Minor enhancements:

#566 TensorFlow 2.4, Pytorch 1.7, ONNXRuntime 1.6. #499 Allow setting number of inter/intra op threads in Torch backend. #529 Expose model definitions for inputs and outputs in MODELGET command. #530 Expose Redis/RedisAI main thread cpu usage. #540 Reuse memory in TENSORSET command. #580 Expose backend version on AI.INFO #581 Cache tensor length.

Bugfixes:

#488 Handle short reads during RDB load. #538 Handle binary strings as tensor names. #462, #553 Handle memory leaks. #558 Erroneous replies for invalid MODELGET commands. #748 Model RDB encoding missing properties #754 AOF-Rewrite logic

Notes: This is not the GA version of 1.2. The version inside Redis will be 10203 or 1.2.3 in semantic versioning. Since the version of a module in Redis is numeric, we could not add an RC3 flag.

v1.2.1

3 years ago

This is the first release candidate for RedisAI v1.2!

Headlines:

  • #482 DAG performance enhancement: Auto-batching support for MODELRUN commands inside a DAG Added DAG general timeout.
  • #489 Execute Redis commands in TorchScript. This capability enables, but not limited, to convert data residing in Redis (or modules) data structures into tensors to be fed to the model as well as store script results in Redis data structures. Scripts can be run in DAG's.
  • #511, #537, #547, #556 Allow async model, script and DAG run via low-level API. This capability will allow other modules to call RedisAI. For example a module that hold time series data, can call RedisAI directly for anomaly detection.

Details:

  • Minor enhancements:

    • #566 TensorFlow 2.4, Pytorch 1.7, ONNXRuntime 1.6.
    • #499 Allow setting number of inter/intra op threads in Torch backend.
    • #529 Expose model definitions for inputs and outputs in MODELGET command.
    • #530 Expose Redis/RedisAI main thread cpu usage.
    • #540 Reuse memory in TENSORSET command.
    • #580 Expose backend version on AI.INFO
    • #581 Cache tensor length.
  • Bugfixes:

    • #488 Handle short reads during RDB load.
    • #538 Handle binary strings as tensor names.
    • #462, #553 Handle memory leaks.
    • #558 erroneous replies for invalid MODELGET commands.

Notes: This is not the GA version of 1.2. The version inside Redis will be 10201 or 1.2.1 in semantic versioning. Since the version of a module in Redis is numeric, we could not add an RC1 flag.

v1.0.2

3 years ago

This is a maintenance release for version 1.0. Update urgency: Medium

Headlines: This release improves overall stability and provides fixes for issues found after the previous release.

Details:

  • Minor updates:

    • #383 Enable AI.SCRIPTRUN inside AI.DAGRUN
    • #395 Add support for variadic arguments to AI.SCRIPTRUN
    • #400 Low level API additions for use in other modules (e.g. RedisGears)
    • #396 Add relevant RedisAI config entries to the Redis INFO output. Helpful for standard monitoring systems
  • Bug Fixes:

    • #403 Atomic ref count
    • #406 Avoid splitting outputs in batches when nbatches == 1
    • #438 Fixed flagged as "getkeys-api" during the registration ( AI.DAGRUN, AI.DAGRUN_RO, AI.MODELRUN, AI.SCRIPTRUN )
    • #449 Safely add to arrays
    • #443 Segfault for AI.DAGRUN + AI.TENSORSET

v1.0.1

3 years ago

This is a maintenance release for version 1.0. Update urgency: Medium

Headlines:

This release improves overall stability and provides fixes for issues found after the previous release.

Details:

Bug Fixes:

  • 7f87f8534e70927d67f99b35dc6a97156761587f Allow inconsistent zero batch outputs.
  • #385,#382 AI.SCRIPTRUN results were being replicated twice.
  • #384 AI.MODELGET to return inputs, outputs, batchsize, and minbatchsize.
  • #412 Several memory leaks.

v1.0.0

4 years ago

This is the General Availability Release of RedisAI 1.0 (v1.0.0)!

Headlines:

  • Data locality decreases the end-to-end inference time. RedisAI allows you to run your DL/ML models where the reference data for these models lives. RedisAI also allows you to persist intermediate states of a computation in-memory.
  • Support for multiple backends which enables you to compose computations across backends but also to decouple model creation and model serving.
  • Scale your AI serving infrastructure by scaling Redis.

Supported Backends:

  • TensorFlow Lite 2.0
  • TensorFlow 1.15.0
  • PyTorch 1.5
  • ONXXRuntime 1.2.0

Details:

  • New Features:

    • #241, #270 auto-batching support. Requests from multiple clients can be automatically and transparently batched in a single request for increased CPU/GPU efficiency during serving.
    • #322 Add AI.DAGRUN. With the new AI.DAGRUN (DAG as in direct acycilc graph) command we support the prescription of combinations of other AI.* commands in a single execution pass, where intermediate keys are never materialised to Redis.
    • #334 Add AI.DAGRUN_RO command, a read-only variant of AI.DAGRUN
    • #338 AI.MODELSET Added the possibility to provide a model in chunks.
    • #332 Standardized GET methods (TENSORGET,MODELGET,SCRIPTGET) replies (breaking change for clients)
    • #331 Cache model blobs for faster serialization and thread-safety.
  • Minor Enhancements:

    • #289 Memory access and leak fixes.
    • #319 Documentation improvements.
  • Build Enhancements:

    • #299 Coverage info.
    • #273 Enable running valgrind/callgrind on test platform
  • #277, #296 tests extension and refactoring per backend.

Notes: The version inside Redis will be 10000 or 1.0.0 in semantic versioning.

v0.99.0

4 years ago

This is a major milestone release for RedisAI v0.9.9.

Supported Backends:

  • TensorFlow Lite 2.0
  • TensorFlow 1.15.0
  • PyTorch 1.5
  • ONXXRuntime 1.2.0

New Features:

  • #241, #270 auto-batching support. Requests from multiple clients can be automatically and transparently batched in a single request for increased CPU/GPU efficiency during serving.
  • #322 Add AI.DAGRUN. With the new AI.DAGRUN (DAG as in direct acycilc graph) command we support the prescription of combinations of other AI.* commands in a single execution pass, where intermediate keys are never materialised to Redis.
  • #334 Add AI.DAGRUN_RO command, a read-only variant of AI.DAGRUN
  • #338 AI.MODELSET Added the possibility to provide a model in chunks.
  • #332 Standardized GET methods (TENSORGET,MODELGET,SCRIPTGET) replies (breaking change for clients)
  • #331 Cache model blobs for faster serialization and thread-safety.

Minor Enhancements:

  • #289 Memory access and leak fixes.
  • #319 Documentation improvements.

Build Enhancements:

  • #299 Coverage info.
  • #273 Enable running valgrind/callgrind on test platform
  • #277, #296 tests extension and refactoring per backend.

Notes: The version inside Redis will be 9900 or 0.99.0 in semantic versioning. Since the version of a module in Redis is numeric, we use 0.99 to resemble that it's almost 1.0

v0.9.0

4 years ago

This is a major milestone release for RedisAI v0.9.

Supported Backends:

  • TensorFlow Lite 2.0
  • TensorFlow 1.14.0
  • PyTorch 1.3.1
  • ONXXRuntime 1.0.0

New Features:

  • #255 AOF Support and replication without rerunning the inference on the slave.
  • #259 AI.INFO command with an initial set of statistics.

Build Enhancements:

  • #264 Several CI infrastructure enhancements.
  • #230 CI for GPU.
  • #265 MAC build.
  • #191 ARM builds.