Coder Social home page Coder Social logo

redisai / redisai-js Goto Github PK

View Code? Open in Web Editor NEW
12.0 6.0 4.0 175.44 MB

A high-performance JavaScript client for RedisAI

Home Page: https://redisai.io

License: BSD 3-Clause "New" or "Revised" License

TypeScript 96.60% Python 3.40%
redisai redis javascript machine-learning serving-tensors

redisai-js's People

Contributors

chayim avatar dengliming avatar dependabot[bot] avatar dvirdukhan avatar filipecosta90 avatar gkorland avatar leibale avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

redisai-js's Issues

Gettin a basic example going in TypeScript

I have been using redisai-py for a while. Now I am starting to integrate use of redisai into my website with redisai-js.

I am using typescript and ts-node in development. Below is the code I added following the example and the error I received.

import redis from "redis";
import redisai from "redisai-js";

(async () => {
    const nativeClient = redis.createClient({ url: "redis://redis:6379" });
    const rai = new redisai.Client(nativeClient );
})();
Error: Cannot find module './backend'
Require stack:
- /app/node_modules/redisai-js/lib/index.js
- /app/src/index.ts
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
at Function.Module._load (internal/modules/cjs/loader.js:725:27)
at Module.require (internal/modules/cjs/loader.js:952:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/app/node_modules/redisai-js/src/index.ts:2:1)
at Module._compile (internal/modules/cjs/loader.js:1063:30)
at Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
at Object.require.extensions.<computed> [as .js] (/app/node_modules/ts-node/src/index.ts:851:44)
at Module.load (internal/modules/cjs/loader.js:928:32)
at Function.Module._load (internal/modules/cjs/loader.js:769:14)
[nodemon] app crashed - waiting for file changes before starting...

Support for variadic arguments on SCRIPTRUN

Further reference:
https://oss.redislabs.com/redisai/master/commands/#aiscriptrun

Example on how provide an arbitrary number of inputs after the $ sign::

redis> AI.TENSORSET mytensor1 FLOAT 1 VALUES 40
OK
redis> AI.TENSORSET mytensor2 FLOAT 1 VALUES 1
OK
redis> AI.TENSORSET mytensor3 FLOAT 1 VALUES 1
OK
redis> AI.SCRIPTRUN myscript addn INPUTS mytensor1 $ mytensor2 mytensor3 OUTPUTS result
OK
redis> AI.TENSORGET result VALUES
1) FLOAT
2) 1) (integer) 1
3) 1) "42"

Use TF model object as parameter in new redisai.Model

As a Node.js developer i'm using the redisai-js module to connect with Redis-Ai with my node.js application. So i'm using / save / load my models in TensorflowJs format (model.json, weights.bin) so its useful create the Redis-Ai model getting start from these two files saved. Actually the code i'm used doesn't work because the model format:

    const m = await tf.loadLayersModel(`file://model/AX-model/model.json`)
    const myModel = new redisai.Model(redisai.Backend.TF, 'CPU',['a','b'], ['c'], m)
    const r = await aiclient.modelset('mlmodel', myModel)

So i'm interesting to thinking at a solution, in node.js application i'm struggle to use Redis to save the TensorflowJs models too directly in-memory db. I'd like to chose which operation get done in Node.js application and which in Redis-Ai, so for example train the model in Node.js application and predict in Redis-Ai:

     const model = tf.sequential()
     model.add(tf.layers.dense({inputShape: [1], units: 1}))
     model.add(tf.layers.dense({units: 1}))
    model.compile({
           optimizer: 'sgd',   // tf.train.adam(),
           // loss: tf.losses.meanSquaredError,
           loss: 'meanSquaredError',
           metrics: ['mse']
      })

       const myModel = new redisai.Model(redisai.Backend.TF, 'CPU',['a','b'], ['c'], model)
       const r = await aiclient.modelset('mlmodel', myModel)

Syntax Error upon import

I'm getting a syntax error doing the simplest of things:

$ npm install --save redisai-js

I copy and paste the Vanilla JS tensor example from the README.md into a file named redisai-js.js. And then I run it:

$ node redisai-js.js

And it gives me this error:

/Users/guyroyse/code/redis-modules-assessment/node_modules/redisai-js/lib/tensor.js:49
    });
    ^

SyntaxError: Unexpected token '}'
    at wrapSafe (internal/modules/cjs/loader.js:931:16)
    at Module._compile (internal/modules/cjs/loader.js:979:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
    at Module.load (internal/modules/cjs/loader.js:879:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Module.require (internal/modules/cjs/loader.js:903:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/Users/guyroyse/code/redis-modules-assessment/node_modules/redisai-js/lib/index.js:10:16)
    at Module._compile (internal/modules/cjs/loader.js:1015:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)

I pulled the repo down myself, built everything, and npm installed the folder on my machine and it worked. Seems like something wrong with our npm depoly? Maybe?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.