[-Analytics-group, -engineering-group, + dev] The output tensor can be a single scalar value or a multidimensional array. It totally *depends on the model* and how its output is configured.
For example, 1. if we have a model for classification and its prediction is configured to send a string of the class name then we will get a *scalar (A Tensor of 0 dimension)* string tensor. 2. If we have a clustering model it can output the coordinates of the closest centroid as a tensor which can be a *vector (A tensor of 1 dimension) *with any length (For example vector length will be 2 in the case of Cartesian plane, 3 in the case of 3D coordinate system etc). *(Note:* The above examples have only a few values in output Tensors. But it is possible for someone to build a TensorFlow model that sends out a Tensor with thousands of dimensions and thousands of length per dimension.) *Terminology:* eg. Consider a 3x4 *matrix (a tensor of 2 dimensions)* as below, 1 2 3 4 5 6 7 8 9 1 2 3 This has 2 dimensions and length of 1st dimension is 3 and the 2nd dimension is 4. Also *problems identified in sending out multidimensional arrays in the output stream* are, 1. Its a *challenge to create primitive type multidimensional arrays* (This is the type supported by Tensors copying method) whose *dimensions are unknown at compile time* in Java (I welcome any suggestion as to how this could be done) 2. As pointed out by Tishan *other extensions of Siddhi are not configured to handle arrays*. So cannot process the output arrays of this extension further in Siddhi Considering the above issues we decided to flatten the Tensor and send all the values in a tensor one by one in primitive type. *In most cases output Tensor will have a small number of values*. Regards, *Niruhan Viswarupan* Engineering Intern | WSO2 Phone: +94776468013 On Thu, Nov 9, 2017 at 11:41 PM, Sriskandarajah Suhothayan <[email protected]> wrote: > Does Tensor always output multidimensional array or only for some cases? > If it returns a multidimensional array what sort of processing the user > should be doing to get sense out of it? > > My doubt is having a way to send multidimensional array out will solve the > user's problem. > > Regards > Suho > > On Thu, Nov 9, 2017 at 8:45 AM, Niruhan Viswarupan <[email protected]> > wrote: > >> Hi, >> >> This is regarding supporting predictions from TensorFlow saved models >> using stream processor. >> >> The *predictions (outputs) from a TensorFlow model in Java API will be a >> Tensor >> <https://www.tensorflow.org/api_docs/java/reference/org/tensorflow/Tensor> >> object*. This can have any number of dimensions and any shape. This >> means that *we will not know the shape of the output multidimensional >> array in the compile time*. This will only come to light in the run time >> when the user input model is loaded. I was stuck with creating >> multidimensional arrays of run time specified shape. It is solvable for >> object arrays since they can be recursively built. But the copyTo() >> <https://www.tensorflow.org/api_docs/java/reference/org/tensorflow/Tensor.html#copyTo(U)> >> method >> of Tensor works only for primitive type arrays. >> >> So after a discussion with Tishan we *decided to flatten the >> multidimensional Tensor* and output them as one-by-one primitive types >> that Siddhi handles. For example a 2x3 matrix Tensor [ [1,2,3], [4,5,6] ] >> will be output as 6 separate int into the event. >> >> Please find the *user story here >> <https://docs.google.com/document/d/1aISBIpG5hzCXzeOh_vK3DSG_B63HT40B4xTZWCFREOM/edit#heading=h.wqd5v6f5j5hc>* >> and >> the preliminary *coding works here >> <https://github.com/niruhan/siddhi-execution-streamingml/tree/master/component/src/main/java/org/wso2/extension/siddhi/execution/streamingml/tensorflow>* >> . >> >> Regards, >> >> *Niruhan Viswarupan* >> Engineering Intern | WSO2 >> Phone: +94776468013 <077%20646%208013> >> > > > > -- > > *S. Suhothayan* > Associate Director / Architect > *WSO2 Inc. *http://wso2.com > * <http://wso2.com/>* > lean . enterprise . middleware > > > *cell: (+94) 779 756 757 <+94%2077%20975%206757> | blog: > http://suhothayan.blogspot.com/ <http://suhothayan.blogspot.com/>twitter: > http://twitter.com/suhothayan <http://twitter.com/suhothayan> | linked-in: > http://lk.linkedin.com/in/suhothayan <http://lk.linkedin.com/in/suhothayan>* >
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
