注意
Redisaiは、もはや積極的に維持またはサポートされていません。
Redisaiコミュニティの関心とサポートに感謝しています。
Redisaiは、深い学習/機械学習モデルを実行し、データを管理するためのRedisモジュールです。その目的は、人気のあるDL/MLフレームワークと比類のないパフォーマンスをすぐにサポートすることにより、モデルを提供するための「主力」です。 Redisaiは、データの局所性の原則に準拠することで計算スループットを最大化し、レイテンシを低下させ、Redisの生産が実証されたインフラストラクチャを活用することにより、グラフの展開とサービングを簡素化します。
Redisai Docsを読むには、Redisai.ioにアクセスしてください。 Redisaiが動作しているのを見るには、Demosページにアクセスしてください。
RedisaiはRedisモジュールです。それを実行するには、Redisサーバー(v6.0.0以降)、モジュールの共有ライブラリ、およびその依存関係が必要です。
次のセクションでは、Redisaiを始める方法について説明します。
Redisaiを試す最も簡単な方法は、公式のDockerコンテナ画像を起動することです。
docker run -p 6379:6379 redislabs/redisai:1.2.7-cpu-bionic
GPUサポートには、NVIDIAドライバー(CUDA 11.3およびCUDNN 8.1)、Nvidia-Container-Toolkit、Docker 19.03+がインストールされているマシンが必要です。詳細については、Nvidia-Dockerドキュメントをチェックアウトしてください
docker run -p 6379:6379 --gpus all -it --rm redislabs/redisai:1.2.7-gpu-bionic
ソースコードからモジュールをコンパイルして構築できます。開発者ページには、Redisaiモジュールの設計と実装、および貢献方法に関する詳細情報があります。
次のようなgitを使用して、プロジェクトのリポジトリをクローン化することにより、モジュールのソースコードを取得できます。
git clone --recursive https://github.com/RedisAI/RedisAI次のようにプロジェクトのディレクトリに切り替えます
cd RedisAI次のスクリプトを使用して、CPUのみのさまざまなRedisaiバックエンド(Tensorflow、Pytorch、onnxruntime)のライブラリをダウンロードして構築します。
bash get_deps.shまたは、以下を実行して、GPUサポートでバックエンドを取得することもできます。
bash get_deps.sh gpu依存関係が構築されたら、次のようにredisaiモジュールを構築できます。
make -C opt clean ALL=1
make -C optまたは、以下を実行して、GPUサポートを使用してRedisaiを構築します。
make -C opt clean ALL=1
make -C opt GPU=1Redisaiは現在、バックエンドとしてPytorch(Libtorch)、Tensorflow(Libtensorflow)、Tensorflow Lite、およびOnnxruntimeをサポートしています。このセクションでは、Redisaiとサポートされているバックエンドの間のバージョンマップを示しています。あるバージョンのシリアル化メカニズムは別のバージョンと一致しない可能性があるため、これは非常に重要です。モデルが特定のRedisaiバージョンで動作することを確認するために、バックエンドのバージョンとRedisaiが構築されているバージョンのバージョンとの間の互換性のない機能についてのバックエンドドキュメントに確認してください。
| Redisai | Pytorch | Tensorflow | tflite | onnxruntime |
|---|---|---|---|---|
| 1.0.3 | 1.5.0 | 1.15.0 | 2.0.0 | 1.2.0 |
| 1.2.7 | 1.11.0 | 2.8.0 | 2.0.0 | 1.11.1 |
| マスター | 1.11.0 | 2.8.0 | 2.0.0 | 1.11.1 |
注:KerasとTensorflow 2.xは、グラフフリージングによってサポートされています。このスクリプトを参照して、KerasとTensorflow 2.xから冷凍グラフをエクスポートする方法を確認してください。
Redisサーバーを起動するとモジュールをロードするには、Moduleのライブラリへのパスを備えた--loadmoduleコマンドラインスイッチ、 loadmodule Configuration Directive、またはRedis MODULE LOADコマンドを使用します。
たとえば、サーバーコマンドラインスイッチを使用してプロジェクトのパスからモジュールをロードするには、以下を使用します。
redis-server --loadmodule ./install-cpu/redisai.soロードされたら、Redis-Cliを使用してRedisaiと対話できます。モジュールを使用するための基本情報と例については、ここで説明します。
一部の言語には、すでにRedisaiのコマンドをサポートするクライアントライブラリがあります。次の表には、既知の表がリストされています。
| プロジェクト | 言語 | ライセンス | 著者 | URL |
|---|---|---|---|---|
| Jredisai | Java | BSD-3 | redislabs | github |
| Redisai-py | Python | BSD-3 | redislabs | github |
| Redisai-go | 行く | BSD-3 | redislabs | github |
| Redisai-js | TypeScript/JavaScript | BSD-3 | redislabs | github |
| Redis-modules-sdk | タイプスクリプト | BSD-3節 | ダニ・ティートリン | github |
| Redis-modules-java | Java | Apache-2.0 | デングリミング | github |
| smartredis | C ++ | BSD-2-Clause | クレイラボ | github |
| smartredis | c | BSD-2-Clause | クレイラボ | github |
| smartredis | Fortran | BSD-2-Clause | クレイラボ | github |
| smartredis | Python | BSD-2-Clause | クレイラボ | github |
RedisaiのAPIの完全なドキュメントは、コマンドページにあります。
redisai.ioでドキュメントを読んでください。
質問がある場合、フィードバックを提供する場合、または問題を報告したり、コードを寄せたりする場合は、ここに耳を傾けています。
Redisaiは、Redisソース利用可能なライセンス2.0(RSALV2)またはサーバー側のパブリックライセンスV1(SSPLV1)の選択に基づいてライセンスされています。