RedisAI

A Redis module for serving tensors and executing deep learning graphs

Github星跟蹤圖

GitHub issues
CircleCI
Docker Cloud Build Status
Mailing List
Gitter

RedisAI

A Redis module for serving tensors and executing deep learning models.
Expect changes in the API and internals.

Cloning

If you want to run examples, make sure you have git-lfs installed when you clone.

Quickstart

  1. Docker
  2. Build

Docker

To quickly tryout RedisAI, launch an instance using docker:

docker run -p 6379:6379 -it --rm redisai/redisai

For docker instance with GPU support, you can launch it from tensorwerk/redisai-gpu

docker run -p 6379:6379 --gpus all -it --rm redisai/redisai:latest-gpu

But if you'd like to build the docker image, you need a machine that has Nvidia driver (CUDA 10.0), nvidia-container-toolkit and Docker 19.03+ installed. For detailed information, checkout nvidia-docker documentation

docker build -f Dockerfile-gpu -t redisai-gpu .
docker run -p 6379:6379 --gpus all -it --rm redisai-gpu

Note that Redis config is located at /usr/local/etc/redis/redis.conf which can be overridden with a volume mount

Give it a try

On the client, set the model

redis-cli -x AI.MODELSET foo TF CPU INPUTS a b OUTPUTS c < test/test_data/graph.pb

Then create the input tensors, run the computation graph and get the output tensor (see load_model.sh). Note the signatures:

  • AI.TENSORSET tensor_key data_type dim1..dimN [BLOB data, VALUES val1..valN]
  • AI.MODELRUN graph_key INPUTS input_key1 ... OUTPUTS output_key1 ...
redis-cli
> AI.TENSORSET bar FLOAT 2 VALUES 2 3
> AI.TENSORSET baz FLOAT 2 VALUES 2 3
> AI.MODELRUN foo INPUTS bar baz OUTPUTS jez
> AI.TENSORGET jez VALUES
1) FLOAT
2) 1) (integer) 2
3) 1) "4"
   2) "9"

Building

This will checkout and build and download the libraries for the backends (TensorFlow, PyTorch, ONNXRuntime) for your platform. Note that this requires CUDA 10.0 to be installed.

bash get_deps.sh

Alternatively, run the following to only fetch the CPU-only backends even on GPU machines.

bash get_deps.sh cpu

Once the dependencies are downloaded, build the module itself. Note that
CMake 3.0 or higher is required.

mkdir build
cd build
cmake ..
make && make install
cd ..

Note: in order to use the PyTorch backend on Linux, at least gcc 4.9.2 is required.

Running the server

You will need a redis-server version 4.0.9 or greater. This should be
available in most recent distributions:

redis-server --version
Redis server v=4.0.9 sha=00000000:0 malloc=libc bits=64 build=c49f4faf7c3c647a

To start Redis with the RedisAI module loaded:

redis-server --loadmodule install-cpu/redisai.so

Client libraries

Some languages have client libraries that provide support for RedisAI's commands:, Project, Language, License, Author, URL, -------, --------, -------, ------, ---, JRedisAI, Java, BSD-3, RedisLabs, Github, redisai-py, Python, BSD-3, RedisLabs, Github, redisai-go, Go, BSD-3, RedisLabs, Github, ## Backend Dependancy

RedisAI currently supports PyTorch (libtorch), Tensorflow (libtensorflow), TensorFlow Lite, and ONNXRuntime as backends. This section shows the version map between RedisAI and supported backends. This extremely important since the serialization mechanism of one version might not match with another. For making sure your model will work with a given RedisAI version, check with the backend documentation about incompatible features between the version of your backend and the version RedisAI is built with., RedisAI, PyTorch, TensorFlow, TFLite, ONNXRuntime, :--------, :-------:, :----------:, :------:, :-------------:, 0.1.0, 1.0.1, 1.12.0, None, None, 0.2.1, 1.0.1, 1.12.0, None, None, 0.3.1, 1.1.0, 1.12.0, None, 0.4.0, 0.4.0, 1.2.0, 1.14.0, None, 0.5.0, master, 1.3.1, 1.14.0, 2.0.0, 1.0.0, ## Documentation

Read the docs at redisai.io. Checkout our showcase repo for a lot of examples written using different client libraries.

Mailing List

RedisAI Google group

License

Redis Source Available License Agreement - see LICENSE

Copyright 2019, Tensorwerk Inc & Redis Labs Ltd

主要指標

概覽
名稱與所有者RedisAI/redis-inference-optimization
主編程語言C
編程語言Shell (語言數: 6)
平台
許可證Other
所有者活动
創建於2016-09-18 14:59:36
推送於2025-02-18 09:06:37
最后一次提交2025-02-18 10:06:37
發布數23
最新版本名稱v1.2.7 (發布於 )
第一版名稱0.1.0-alpha1 (發布於 )
用户参与
星數830
關注者數28
派生數105
提交數1.5k
已啟用問題?
問題數320
打開的問題數87
拉請求數544
打開的拉請求數15
關閉的拉請求數77
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?