class SoftmaxWithCriterion[T] extends TensorCriterion[T]
Computes the multinomial logistic loss for a one-of-many classification task, passing real-valued predictions through a softmax to get a probability distribution over classes. It should be preferred over separate SoftmaxLayer + MultinomialLogisticLossLayer as its gradient computation is more numerically stable.
- Alphabetic
- By Inheritance
- SoftmaxWithCriterion
- TensorCriterion
- AbstractCriterion
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
SoftmaxWithCriterion(ignoreLabel: Option[Int] = None, normalizeMode: NormMode = NormMode.VALID)(implicit arg0: ClassTag[T], ev: TensorNumeric[T])
- ignoreLabel
(optional) Specify a label value that should be ignored when computing the loss.
- normalizeMode
How to normalize the output loss.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
backward(input: Tensor[T], target: Tensor[T]): Tensor[T]
Performs a back-propagation step through the criterion, with respect to the given input.
Performs a back-propagation step through the criterion, with respect to the given input.
- input
input data
- target
target
- returns
gradient corresponding to input data
- Definition Classes
- AbstractCriterion
-
def
canEqual(other: Any): Boolean
- Definition Classes
- AbstractCriterion
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
cloneCriterion(): AbstractCriterion[Tensor[T], Tensor[T], T]
Deep copy this criterion
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(other: Any): Boolean
- Definition Classes
- AbstractCriterion → AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
forward(input: Tensor[T], target: Tensor[T]): T
Takes an input object, and computes the corresponding loss of the criterion, compared with
target.Takes an input object, and computes the corresponding loss of the criterion, compared with
target.- input
input data
- target
target
- returns
the loss of criterion
- Definition Classes
- AbstractCriterion
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getNormalizer(normalizeMode: NormMode, validCount: Int): T
Read the normalization mode parameter and compute the normalizer based on the input size.
Read the normalization mode parameter and compute the normalizer based on the input size. If normalizeMode is VALID, the count of valid outputs will be read from validCount, unless it is -1 in which case all outputs are assumed to be valid.
-
var
gradInput: Tensor[T]
- Definition Classes
- AbstractCriterion
-
def
hashCode(): Int
- Definition Classes
- AbstractCriterion → AnyRef → Any
- var innerNum: Int
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- var nClasses: Int
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- var outerNum: Int
-
var
output: T
- Definition Classes
- AbstractCriterion
- var prob: Tensor[T]
- var softmax: SoftMax[T]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
updateGradInput(input: Tensor[T], target: Tensor[T]): Tensor[T]
Computing the gradient of the criterion with respect to its own input.
Computing the gradient of the criterion with respect to its own input. This is returned in gradInput. Also, the gradInput state variable is updated accordingly.
- input
input data
- target
target data / labels
- returns
gradient of input
- Definition Classes
- SoftmaxWithCriterion → AbstractCriterion
-
def
updateOutput(input: Tensor[T], target: Tensor[T]): T
compute the loss
compute the loss
- input
input.size(1) is batch num input.size(2) is the softmaxAxis, number of classes as usual
- target
target or labels
- Definition Classes
- SoftmaxWithCriterion → AbstractCriterion
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )