Mike Dusenberry created SYSTEMML-1736:
-----------------------------------------

             Summary: Add new 2D top_k utility function
                 Key: SYSTEMML-1736
                 URL: https://issues.apache.org/jira/browse/SYSTEMML-1736
             Project: SystemML
          Issue Type: Sub-task
            Reporter: Mike Dusenberry
            Assignee: Fei Hu


We should add a new {{top_k2d}} utility function (in {{nn/util.dml}}) that 
accepts a matrix {{X}} and return matrices {{values}} and {{indices}} with the 
top {{k}} values (i.e. probabilities) and associated indices (i.e. classes) 
along a certain dimension.  This will be modeled after the [{{top_k}} function 
in TensorFlow | https://www.tensorflow.org/api_docs/python/tf/nn/top_k].  For 
the 2D case, {{top_k}} will operate on the channels dimension.  A typical use 
case here is that in which {{X}} is the output of a {{softmax2d}} layer (so 
each channel contains a set of normalized class probabilities), and {{values}} 
and {{indices}} will contain the top {{k}} probabilities and indices along the 
channel axis.  This scenario would be common in an image segmentation problem, 
in which every pixel of the output image will have a set of class probabilities 
along the channel axis.

Having these {{top-k}} functions will allow us to extract either predict a 
single class for each item, or the top {{k}} classes, and therefore may be more 
useful that a {{predict_class}} function.

Although we will use {{values}} and {{indices}} as the names of the returned 
matrices within the functions, in practice, one is likely to name the results 
{{probs}} and {{classes}} in the calling environment.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to