Precaución
Redisai ya no se mantiene o apoya activamente.
Agradecemos a la comunidad de Redisai por su interés y apoyo.
Redisai es un módulo Redis para ejecutar modelos de aprendizaje automático/aprendizaje automático y administrar sus datos. Su propósito es ser un "caballo de batalla" para el servicio de modelos, al proporcionar un soporte listón para usar para marcos DL/ML populares y un rendimiento incomparable. Redisai maximiza el rendimiento del cálculo y reduce la latencia al adherirse al principio de la localidad de datos , así como simplifica la implementación y el servicio de gráficos al aprovechar la infraestructura de producción de Redis.
Para leer Redisai Docs, visite Redisai.io. Para ver a Redisai en acción, visite la página Demos.
Redisai es un módulo Redis. Para ejecutarlo, necesitará un servidor Redis (v6.0.0 o más), la biblioteca compartida del módulo y sus dependencias.
Las siguientes secciones describen cómo comenzar con Redisai.
La forma más rápida de probar Redisai es lanzando sus imágenes oficiales de contenedores Docker.
docker run -p 6379:6379 redislabs/redisai:1.2.7-cpu-bionic
Para el soporte de GPU, necesitará una máquina, necesitará una máquina que tenga un controlador NVIDIA (CUDA 11.3 y Cudnn 8.1), Nvidia-Container-Toolkit y Docker 19.03+ instalados. Para obtener información detallada, consulte la documentación de Nvidia-Docker
docker run -p 6379:6379 --gpus all -it --rm redislabs/redisai:1.2.7-gpu-bionic
Puede compilar y crear el módulo a partir de su código fuente. La página del desarrollador tiene más información sobre el diseño e implementación del módulo Redisai y cómo contribuir.
Puede obtener el código fuente del módulo clonando el repositorio del proyecto utilizando Git como SO:
git clone --recursive https://github.com/RedisAI/RedisAICambie al directorio del proyecto con:
cd RedisAIUse el siguiente script para descargar y construir las bibliotecas de los diversos backends redisai (TensorFlow, Pytorch, Onnxruntime) para CPU solamente:
bash get_deps.shAlternativamente, puede ejecutar lo siguiente para obtener los backends con soporte de GPU.
bash get_deps.sh gpuUna vez que se han construido las dependencias, puede construir el módulo Redisai con:
make -C opt clean ALL=1
make -C optAlternativamente, ejecute lo siguiente para construir Redisai con soporte de GPU:
make -C opt clean ALL=1
make -C opt GPU=1Actualmente, Redisai es compatible con Pytorch (Libtorch), Tensorflow (Libtensorflow), Tensorflow Lite y Onnxruntime como backends. Esta sección muestra el mapa de versiones entre Redisai y los backends compatibles. Esto es extremadamente importante ya que el mecanismo de serialización de una versión podría no coincidir con otra. Para asegurarse de que su modelo funcione con una versión Redisai dada, consulte con la documentación de back -end sobre características incompatibles entre la versión de su backend y con la que está construida la versión Redisai.
| Redisai | Pytorch | Flujo tensor | Tflita | 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 |
| maestro | 1.11.0 | 2.8.0 | 2.0.0 | 1.11.1 |
Nota: Keras y TensorFlow 2.x son compatibles con la congelación de gráficos. Vea este script para ver cómo exportar un gráfico congelado de Keras y Tensorflow 2.x.
Para cargar el módulo al iniciar el servidor Redis, simplemente use el interruptor de línea de comandos --loadmodule , la Directiva de configuración loadmodule o el comando MODULE LOAD Redis con la ruta a la biblioteca del módulo.
Por ejemplo, para cargar el módulo de la ruta del proyecto con un interruptor de línea de comandos de servidor, use lo siguiente:
redis-server --loadmodule ./install-cpu/redisai.soUna vez cargado, puede interactuar con Redisai usando Redis-Cli. La información básica y los ejemplos para usar el módulo se describe aquí.
Algunos idiomas ya tienen bibliotecas de clientes que brindan soporte para los comandos de Redisai. La siguiente tabla enumera las conocidas:
| Proyecto | Idioma | Licencia | Autor | Url |
|---|---|---|---|---|
| Jredisai | Java | BSD-3 | Redislabes | Github |
| Redisai-Py | Pitón | BSD-3 | Redislabes | Github |
| Redisai-Go | Ir | BSD-3 | Redislabes | Github |
| Redisai-JS | TypeScript/JavaScript | BSD-3 | Redislabes | Github |
| Redis-Modules-SDK | Mecanografiado | Cláusula BSD-3 | Dani Tseitlin | Github |
| Redis-Modules-Java | Java | Apache-2.0 | dengliming | Github |
| smartredis | C ++ | Cláusula BSD-2 | Laboratorios de cray | Github |
| smartredis | do | Cláusula BSD-2 | Laboratorios de cray | Github |
| smartredis | Fortano | Cláusula BSD-2 | Laboratorios de cray | Github |
| smartredis | Pitón | Cláusula BSD-2 | Laboratorios de cray | Github |
La documentación completa para la API de Redisai se puede encontrar en la página de comandos.
Lea los documentos en Redisai.io.
Si tiene preguntas, desea proporcionar comentarios o tal vez informar un problema o contribuir con algún código, aquí es donde lo estamos escuchando:
Redisai tiene licencia bajo su elección de la fuente de Redis disponible Licencia 2.0 (RSALV2) o la Licencia Pública del lado del servidor V1 (SSPLV1).