Thanks for your answer J Decker. The first working solution that I came up with 
doesn't reuse any of your code, but your answer was helpful to get me past some 
small hurdles.
  
​
  
​I have some working code available at   this gist 
(https://gist.github.com/jimlloyd/d26413ee9aac403a85f6329e2314d003).
  
​
  
​
  
​
  
>   
>   
> Basically this is    a JSON-like parser that results in various types of 
> values to JS... (not just a specific neural network interface)
>   
>
>   
>   I setup a JS->Native code object, that has the access methods to the native 
> module, and some data tracking stuff..   
>   
>
>   
> This is 'objects' which is an array of values which are in JS, but are 
> referenced from the C++ code via an index number into the array..
>   
>
>   
>   
> https://github.com/d3x0r/jsox-wasm/blob/master/simple_js.c#L168
>   
>   
>   
> These are examples that create a new array, or object... further down more 
> elemental objects are created and pushed into the value array...
>   
>   
> https://github.com/d3x0r/jsox-wasm/blob/master/simple_js.c#L65
>   
>   
>
>   
> (Set object by Index)    - assign another referenced object into another....
>   
>   
> https://github.com/d3x0r/jsox-wasm/blob/master/simple_js.c#L282
>   
>   
>
>   
> After playing with this for a while, I really gave up on this approach for my 
> own purposes, the overhead of creating JS objects from WASM during the 
> process of parsing JSOX(JSON) was much slower than just doing it in JS 
> natively...
>   
>
>   
> Also you don't really NEED a preload code.. you can just have the require in 
> an init... which can setup the interface area between the native and JS 
> code...   
>   
>
>   
>
>     
>   
>   
>   
> On Thu, Mar 4, 2021 at 10:45 PM Jim Lloyd  <[email protected] 
> (mailto:[email protected])>  wrote:
>   
>   
> >   
> > I have a body of C++ code that I have successfully compiled with em++. Many 
> > of the unit tests run. I am unclear now how to achieve my end goal, which 
> > is to use this code in a node/express server that imports 
> > @tensorflow/tfjs-node and utilizes that module to perform Tensorflow 
> > predictions.
> >   
> >
> >   
> > I believe the general outline    will require that I inject JavaScript code 
> > to load the TensorFlow module, probably using `--pre-js   <file>`.   If 
> > `--pre-js` is correct, what should the contents of `<file>` be? One line 
> > should be this:
> >   
> >
> >   
> >   
> >        const   tf   = require('@tensorflow/tfjs-node');
> >   
> >
> >   
> > My C++ code will at some point do something like this:
> >   
> >
> >   
> >   
> >   
> >   
> >        EM_JS(val, loadModel, (string   modelUrl), {
> >   
> >   
> >                return await   tf.loadGraphModel(modelUrl);
> >   
> >        });
> >   
> >        val   model   = loadModel("http://...";)
> >   
> >   
> > Later in my code I will pass the  model   and a tensor   into another EM_JS 
> > function to do the prediction, but I expect that once I understand the 
> > above I will be able figure out the rest.
> >   
> >
> >   
> > How do I arrange for the  tf  module reference to be available within the 
> > EM_JS definition of the loadModel function?
> >   
> >   
> >
> >   
> > Of course, if there is already some demo somewhere that does something 
> > similar, a link to it may be all that I need. So far I have not found it 
> > after a couple hours of searching.
> >   
> >
> >   
> > Thanks.
> >   
> >
> >   
> >
> >   
> >
> >     
> >   
> >   
> > --
> >   
> > You received this message because you are subscribed to the Google Groups 
> > "emscripten-discuss" group.
> >   
> > To unsubscribe from this group and stop receiving emails from it, send an 
> > email to  [email protected] 
> > (mailto:[email protected]).
> >   
> > To view this discussion on the web visit   
> > https://groups.google.com/d/msgid/emscripten-discuss/2a618a23-fd04-462e-bec7-dd37506b3d89n%40googlegroups.com
> >  
> > (https://groups.google.com/d/msgid/emscripten-discuss/2a618a23-fd04-462e-bec7-dd37506b3d89n%40googlegroups.com?utm_medium=email&utm_source=footer).
> >   
>   
>   
>   
> --
>   
> You received this message because you are subscribed to the Google Groups 
> "emscripten-discuss" group.
>   
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to  [email protected] 
> (mailto:[email protected]).
>   
> To view this discussion on the web visit   
> https://groups.google.com/d/msgid/emscripten-discuss/CAA2GJqUru_AnbvbJog9ibrw8n8dqy2OwW4q4%2Bz5KD4Y7CPAo4Q%40mail.gmail.com
>  
> (https://groups.google.com/d/msgid/emscripten-discuss/CAA2GJqUru_AnbvbJog9ibrw8n8dqy2OwW4q4%2Bz5KD4Y7CPAo4Q%40mail.gmail.com?utm_medium=email&utm_source=footer).
>   
     

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/21abedbd-48c1-4757-abf2-f3f0e2a56f72%40edison.tech.

Reply via email to