[
https://issues.apache.org/jira/browse/SYSTEMML-1678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Dusenberry updated SYSTEMML-1678:
--------------------------------------
Description:
We should add new {{top_k}} and {{top_k2d}} utility functions (in
{{nn/util.dml}}) that accept 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 1D case,
{{top_k}} will operate on the columns dimension. A typical use case is that in
which {{X}} is the output of a {{softmax}} layer (so each row contains a set of
normalized class probabilities), and {{values}} and {{indices}} will contain
rows with the top {{k}} probabilities and class indices as described above.
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.
was:
We should add new {{top_k}} and {{top_k2d}} utility functions (in
{{nn/util.dml}}) that accept 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. For the 1D case, {{top_k}}
will operate on the columns dimension. A typical use case is that in which
{{X}} is the output of a {{softmax}} layer (so each row contains a set of
normalized class probabilities), and {{values}} and {{indices}} will contain
rows with the top {{k}} probabilities and class indices as described above.
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.
> Add new 1D & 2D top_k utility functions
> ---------------------------------------
>
> Key: SYSTEMML-1678
> URL: https://issues.apache.org/jira/browse/SYSTEMML-1678
> Project: SystemML
> Issue Type: Sub-task
> Reporter: Mike Dusenberry
> Assignee: Mike Dusenberry
>
> We should add new {{top_k}} and {{top_k2d}} utility functions (in
> {{nn/util.dml}}) that accept 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 1D case,
> {{top_k}} will operate on the columns dimension. A typical use case is that
> in which {{X}} is the output of a {{softmax}} layer (so each row contains a
> set of normalized class probabilities), and {{values}} and {{indices}} will
> contain rows with the top {{k}} probabilities and class indices as described
> above. 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)