com.thoughtworks.deeplearning

DifferentiableINDArray

object DifferentiableINDArray

A namespace of common operators for INDArray layers.

After importing DifferentiableINDArray._,

You will able to use MathFunctions,like

You will able to use MathMethods,like

You will able to use INDArrayLayerOps,like

You will able to use some methods like conv2d

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. DifferentiableINDArray
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. final class INDArrayLayerOps[Input <: Tape] extends AnyRef

  2. implicit final class INDArrayOps extends AnyRef

  3. trait OptimizerFactory extends AnyRef

    If a Optimizer has state, then learningRate can NOT been shared, such as Adam, so you will need:

  4. final class ToINDArrayLayerOps[Input <: Tape] extends AnyRef

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. implicit def Double*INDArray[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts a Double Layer and a INDArray Layer.

    Returns a Case that accepts a Double Layer and a INDArray Layer.

    The returned Case is used by the polymorphic function *, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherDoubleLayer: Double @Symbolic) = {
        Poly.MathMethods.*(inputINDArrayLayer,anotherDoubleLayer)
      }
  7. implicit def Double+INDArray[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts a Double Layer and a INDArray Layer.

    Returns a Case that accepts a Double Layer and a INDArray Layer.

    The returned Case is used by the polymorphic function +, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherDoubleLayer: Double @Symbolic) = {
        Poly.MathMethods.+(inputINDArrayLayer,anotherDoubleLayer)
      }
  8. implicit def Double-INDArray[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts a Double Layer and a INDArray Layer.

    Returns a Case that accepts a Double Layer and a INDArray Layer.

    The returned Case is used by the polymorphic function -, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherDoubleLayer: Double @Symbolic) = {
        Poly.MathMethods.-(inputINDArrayLayer,anotherDoubleLayer)
      }
  9. implicit def Double/INDArray[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts a Double Layer and a INDArray Layer.

    Returns a Case that accepts a Double Layer and a INDArray Layer.

    The returned Case is used by the polymorphic function /, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherDoubleLayer: Double @Symbolic) = {
        Poly.MathMethods./(inputINDArrayLayer,anotherDoubleLayer)
      }
  10. implicit def INDArray*Double[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts a INDArray Layer and a Double Layer.

    Returns a Case that accepts a INDArray Layer and a Double Layer.

    The returned Case is used by the polymorphic function *, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherDoubleLayer: Double @Symbolic) = {
        Poly.MathMethods.*(inputINDArrayLayer,anotherDoubleLayer)
      }
  11. implicit def INDArray*INDArray[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts two INDArray Layers.

    Returns a Case that accepts two INDArray Layers.

    The returned Case is used by the polymorphic function *, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherINDArrayLayer: INDArray @Symbolic) = {
        Poly.MathMethods.*(inputINDArrayLayer,anotherINDArrayLayer)
      }
  12. implicit def INDArray+Double[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts a INDArray Layer and a Double Layer.

    Returns a Case that accepts a INDArray Layer and a Double Layer.

    The returned Case is used by the polymorphic function +, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherDoubleLayer: Double @Symbolic) = {
        Poly.MathMethods.+(inputINDArrayLayer,anotherDoubleLayer)
      }
  13. implicit def INDArray+INDArray[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts two INDArray Layers.

    Returns a Case that accepts two INDArray Layers.

    The returned Case is used by the polymorphic function +, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherINDArrayLayer: INDarray @Symbolic) = {
        Poly.MathMethods.+(inputINDArrayLayer,anotherINDArrayLayer)
      }
  14. implicit def INDArray-Double[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts a INDArray Layer and a Double Layer.

    Returns a Case that accepts a INDArray Layer and a Double Layer.

    The returned Case is used by the polymorphic function -, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherDoubleLayer: Double @Symbolic) = {
        Poly.MathMethods.-(inputINDArrayLayer,anotherDoubleLayer)
      }
  15. implicit def INDArray-INDArray[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts two INDArray Layers.

    Returns a Case that accepts two INDArray Layers.

    The returned Case is used by the polymorphic function -, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherINDArrayLayer: INDarray @Symbolic) = {
        Poly.MathMethods.-(inputINDArrayLayer,anotherINDArrayLayer)
      }
  16. implicit def INDArray/Double[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts a INDArray Layer and a Double Layer.

    Returns a Case that accepts a INDArray Layer and a Double Layer.

    The returned Case is used by the polymorphic function /, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherDoubleLayer: Double @Symbolic) = {
        Poly.MathMethods./(inputINDArrayLayer,anotherDoubleLayer)
      }
  17. implicit def INDArray/INDArray[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts two INDArray Layers.

    Returns a Case that accepts two INDArray Layers.

    The returned Case is used by the polymorphic function /, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherINDArrayLayer: INDArray @Symbolic) = {
        Poly.MathMethods./(inputINDArrayLayer,anotherINDArrayLayer)
      }
  18. object Layers

  19. object OptimizerFactory

    If you write something like this:

  20. object Optimizers

    A namespaces contains Optimizers for INDArray.

  21. implicit def abs(INDArray)[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts INDArray Layers for the polymorphic function abs

    Returns a Case that accepts INDArray Layers for the polymorphic function abs

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray.`abs(INDArray)`
      import com.thoughtworks.deeplearning.Symbolic
      def absNetwork(implicit inputINDArrayLayer: INDArray @Symbolic) = {
        Poly.MathFunctions.abs(indArrayLayer)
      }
    Note

    Importing this method will enable abs for INDArray layers or any value able to convert to a INDArray layer

    See also

    Poly.LayerPoly1

  22. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  23. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. def conv2d[Layer, Weight, Bias, Input <: Tape](layer: Layer, weight: Weight, bias: Bias, kernel: (Int, Int), stride: (Int, Int), padding: (Int, Int))(implicit layerToLayer: Aux[Layer, Input, INDArray, INDArray], weightToLayer: Aux[Weight, Input, INDArray, INDArray], biasToLayer: Aux[Bias, Input, INDArray, INDArray]): Aux[Input, Tape]

    Calculates the 2D convolution

    Calculates the 2D convolution

    layer

    4 dimensions INDArray input

    weight

    4 dimensions INDArray weight

    bias

    1 dimension bias

    kernel

    the kernel/filter width and height

    stride

    the stride width and height

    padding

    the padding width and height

    returns

    convolution result

  25. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  26. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  27. implicit def exp(INDArray)[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts INDArray Layers.

    Returns a Case that accepts INDArray Layers.

    The returned Case is used by the polymorphic function exp, which is called in MathOps.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray.`exp(INDArray)`
      import com.thoughtworks.deeplearning.Symbolic
      def expNetwork(implicit inputINDArrayLayer: INDArray @Symbolic) = {
        Poly.MathFunctions.exp(indArrayLayer)
      }
    Note

    Importing this method will enable exp for INDArray layers or any value able to convert to a INDArray layer

    See also

    Poly.LayerPoly1

  28. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  29. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  30. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  31. implicit def indArrayToLiteral: Aux[INDArray, INDArray, INDArray]

  32. implicit def indArrayTrainable: Trainable[INDArray, INDArray]

    See also

    Trainable

  33. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  34. implicit def log(INDArray)[Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts INDArray Layers for the polymorphic function log

    Returns a Case that accepts INDArray Layers for the polymorphic function log

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray.`log(INDArray)`
      import com.thoughtworks.deeplearning.Symbolic
      def logNetwork(implicit inputINDArrayLayer: INDArray @Symbolic) = {
        Poly.MathFunctions.log(indArrayLayer)
      }
    Note

    Importing this method will enable log for INDArray layers or any value able to convert to a INDArray layer

    See also

    Poly.LayerPoly1

  35. implicit def max(INDArray,Double)[Left, Right, Input <: Tape]: Aux[Aux[Input, Tape], Aux[Input, Tape], Aux[Input, Tape]]

    Returns a Case that accepts a INDArray Layer and a Double Layer for the polymorphic function max

    Returns a Case that accepts a INDArray Layer and a Double Layer for the polymorphic function max

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
      import com.thoughtworks.deeplearning.Symbolic
      def myNetwork(implicit inputINDArrayLayer: INDArray @Symbolic)(anotherDoubleLayer: Double @Symbolic) = {
        Poly.MathFunctions.max(inputINDArrayLayer,anotherDoubleLayer)
      }
  36. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  37. final def notify(): Unit

    Definition Classes
    AnyRef
  38. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  39. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  40. implicit def toINDArrayLayerOps[From, Input <: Tape, OutputData, OutputDelta](from: From)(implicit toLayer: Aux[From, Input, OutputData, OutputDelta], constrait: <:<[Aux[Input, Aux[OutputData, OutputDelta]], Aux[Input, Aux[INDArray, INDArray]]]): INDArrayLayerOps[Input]

    Implicitly converts any layer to INDArrayLayerOps, which enables common methods for INDArray layers.

    Implicitly converts any layer to INDArrayLayerOps, which enables common methods for INDArray layers.

    Example:
    1. import com.thoughtworks.deeplearning.DifferentiableINDArray._
  41. def toString(): String

    Definition Classes
    AnyRef → Any
  42. implicit def toToINDArrayLayerOps[Element, Input <: Tape](layerVector: Seq[Seq[Element]])(implicit toLayer: OfPlaceholder[Element, Input, DoublePlaceholder]): ToINDArrayLayerOps[Input]

  43. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped