[ https://issues.apache.org/jira/browse/SYSTEMML1736?page=com.atlassian.jira.plugin.system.issuetabpanels:commenttabpanel&focusedCommentId=16067103#comment16067103
]
Mike Dusenberry commented on SYSTEMML1736:

cc [~niketanpansare] We could use this in Caffe2DML to compute the top predictions for each
pixel location in the image segmentation scenario.
> Add new 2D top_k utility function
> 
>
> Key: SYSTEMML1736
> URL: https://issues.apache.org/jira/browse/SYSTEMML1736
> Project: SystemML
> Issue Type: Subtask
> Reporter: Mike Dusenberry
> Assignee: Fei Hu
> Fix For: SystemML 1.0
>
>
> 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 {{topk}} 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)
