Trait

com.thoughtworks.deeplearning.plugins

Builtins

Related Doc: package plugins

Permalink

trait Builtins extends ImplicitsSingleton with Layers with Weights with Logging with Names with Operators with FloatTraining with FloatLiterals with FloatWeights with FloatLayers with CumulativeFloatLayers with DoubleTraining with DoubleLiterals with DoubleWeights with DoubleLayers with CumulativeDoubleLayers with INDArrayTraining with INDArrayLiterals with INDArrayWeights with INDArrayLayers with CumulativeINDArrayLayers with HLists with Products

A plugin that enables all other DeepLearning.scala built-in plugins.

Author:

杨博 (Yang Bo)

Source
Builtins.scala
Example:
  1. When creating a Builtins from com.thoughtworks.feature.Factory,

    import com.thoughtworks.feature.Factory
    val hyperparameters = Factory[plugins.Builtins].newInstance()

    and import anything in implicits,

    import hyperparameters.implicits._

    then all DeepLearning.scala built-in features should be enabled.


    Creating weights:

    import org.nd4j.linalg.factory.Nd4j
    import org.nd4j.linalg.api.ndarray.INDArray
    val numberOfInputFeatures = 8
    val numberOfOutputFeatures = 1
    val initialValueOfWeight: INDArray = Nd4j.rand(numberOfInputFeatures, numberOfOutputFeatures)
    val weight: hyperparameters.INDArrayWeight = hyperparameters.INDArrayWeight(initialValueOfWeight)

    Creating neural network layers,

    def fullyConnectedLayer(input: INDArray): hyperparameters.INDArrayLayer = {
      input dot weight
    }

    or loss functions:

    def hingeLoss(scores: hyperparameters.INDArrayLayer, label: INDArray): hyperparameters.DoubleLayer = {
      hyperparameters.max(0.0, 1.0 - label * scores).sum
    }

    Training:

    import scalaz.std.stream._
    import com.thoughtworks.future._
    import com.thoughtworks.each.Monadic._
    val batchSize = 4
    val numberOfIterations = 10
    val input = Nd4j.rand(batchSize, numberOfInputFeatures)
    val label = Nd4j.rand(batchSize, numberOfOutputFeatures)
    @monadic[Future]
    def train: Future[Stream[Double]] = {
      for (iteration <- (0 until numberOfIterations).toStream) yield {
        hingeLoss(fullyConnectedLayer(input), label).train.each
      }
    }

    When the training is done, the loss of the last iteration should be no more than the loss of the first iteration

    train.map { lossesByIteration =>
      lossesByIteration.last should be <= lossesByIteration.head
    }
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Builtins
  2. Products
  3. HLists
  4. CumulativeINDArrayLayers
  5. INDArrayLayers
  6. INDArrayWeights
  7. INDArrayLiterals
  8. INDArrayTraining
  9. CumulativeDoubleLayers
  10. DoubleLayers
  11. DoubleWeights
  12. DoubleLiterals
  13. DoubleTraining
  14. CumulativeFloatLayers
  15. FloatLayers
  16. FloatWeights
  17. FloatLiterals
  18. FloatTraining
  19. Training
  20. Operators
  21. Names
  22. Logging
  23. Weights
  24. Layers
  25. ImplicitsSingleton
  26. AnyRef
  27. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type DoubleLayer <: DoubleLayerApi with Layer

    Permalink

    Definition Classes
    CumulativeDoubleLayersDoubleLayers
  2. trait DoubleLayerApi extends CumulativeDoubleLayers.DoubleLayerApi

    Permalink
    Definition Classes
    CumulativeDoubleLayers
  3. abstract type DoubleOptimizer <: DoubleOptimizerApi with Optimizer

    Permalink

    Definition Classes
    DoubleWeights
  4. trait DoubleOptimizerApi extends OptimizerApi

    Permalink
    Definition Classes
    DoubleWeights
  5. abstract type DoubleWeight <: DoubleWeightApi with Weight

    Permalink

    Definition Classes
    DoubleWeights
  6. trait DoubleWeightApi extends WeightApi

    Permalink
    Definition Classes
    DoubleWeights
  7. abstract type FloatLayer <: FloatLayerApi with Layer

    Permalink

    Definition Classes
    CumulativeFloatLayersFloatLayers
  8. trait FloatLayerApi extends CumulativeFloatLayers.FloatLayerApi

    Permalink
    Definition Classes
    CumulativeFloatLayers
  9. abstract type FloatOptimizer <: FloatOptimizerApi with Optimizer

    Permalink

    Definition Classes
    FloatWeights
  10. trait FloatOptimizerApi extends OptimizerApi

    Permalink
    Definition Classes
    FloatWeights
  11. abstract type FloatWeight <: FloatWeightApi with Weight

    Permalink

    Definition Classes
    FloatWeights
  12. trait FloatWeightApi extends WeightApi

    Permalink
    Definition Classes
    FloatWeights
  13. abstract type INDArrayLayer <: INDArrayLayerApi with Layer

    Permalink

  14. trait INDArrayLayerApi extends CumulativeINDArrayLayers.INDArrayLayerApi

    Permalink
    Definition Classes
    CumulativeINDArrayLayers
  15. abstract type INDArrayOptimizer <: Optimizer with INDArrayOptimizerApi

    Permalink

    Definition Classes
    INDArrayWeights
  16. trait INDArrayOptimizerApi extends OptimizerApi

    Permalink
    Definition Classes
    INDArrayWeights
  17. abstract type INDArrayWeight <: INDArrayWeightApi with Weight

    Permalink

    Definition Classes
    INDArrayWeights
  18. trait INDArrayWeightApi extends WeightApi

    Permalink
    Definition Classes
    INDArrayWeights
  19. abstract type Implicits <: ImplicitsApi

    Permalink

  20. trait ImplicitsApi extends Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi with Builtins.ImplicitsApi

    Permalink
  21. abstract type Layer <: LayerApi

    Permalink

    A differentiable operation.

    A differentiable operation.

    Definition Classes
    BuiltinsNamesLoggingLayers
  22. trait LayerApi extends Builtins.LayerApi with Builtins.LayerApi

    Permalink
  23. abstract type Optimizer <: OptimizerApi

    Permalink

    Definition Classes
    Weights
  24. trait OptimizerApi extends AnyRef

    Permalink
    Definition Classes
    Weights
  25. abstract type Weight <: WeightApi

    Permalink

    Definition Classes
    BuiltinsNamesLoggingWeights
  26. trait WeightApi extends Builtins.WeightApi with Builtins.WeightApi

    Permalink

Abstract Value Members

  1. abstract def asImplicits: <:<[Out, Implicits]

    Permalink
    Attributes
    protected
    Definition Classes
    ImplicitsSingleton
    Annotations
    @inject()
  2. implicit abstract def deepLearningExecutionContext: ExecutionContext

    Permalink

    The scala.concurrent.ExecutionContext used internally in plugins.

    The scala.concurrent.ExecutionContext used internally in plugins.

    Attributes
    protected
    Definition Classes
    INDArrayLayers
    Annotations
    @inject()
  3. abstract def doubleDataParameter: <:<[Double, Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleWeights
    Annotations
    @inject()
  4. abstract val doubleLayerFactory: Factory[DoubleLayer]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleLayers
    Annotations
    @inject()
  5. abstract val doubleOptimizerFactory: Factory[DoubleOptimizer]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleWeights
    Annotations
    @inject()
  6. abstract def doubleOriginalDeltaParameter: <:<[Double, Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleWeights
    Annotations
    @inject()
  7. abstract val doublePartialApplyData: PartialApply[Constructor, String("data")]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleWeights
    Annotations
    @inject()
  8. abstract val doublePartialApplyOriginalDelta: PartialApply[Rest, String("originalDelta")]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleWeights
    Annotations
    @inject()
  9. abstract val doublePartialApplyRawForward: PartialApply[Constructor, String("rawForward")]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleLayers
    Annotations
    @inject()
  10. abstract val doublePartialApplyWeight: PartialApply[Constructor, String("weight")]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleWeights
    Annotations
    @inject()
  11. abstract def doubleRawForwardParameter: <:<[Do[Tape[Double, Double]], Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleLayers
    Annotations
    @inject()
  12. abstract val doubleWeightFactory: Factory[DoubleWeight]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleWeights
    Annotations
    @inject()
  13. abstract def doubleWeightParameter: <:<[DoubleWeight, Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    DoubleWeights
    Annotations
    @inject()
  14. abstract def floatDataParameter: <:<[Float, Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatWeights
    Annotations
    @inject()
  15. abstract val floatLayerFactory: Factory[FloatLayer]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatLayers
    Annotations
    @inject()
  16. abstract val floatOptimizerFactory: Factory[FloatOptimizer]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatWeights
    Annotations
    @inject()
  17. abstract def floatOriginalDeltaParameter: <:<[Float, Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatWeights
    Annotations
    @inject()
  18. abstract val floatPartialApplyData: PartialApply[Constructor, String("data")]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatWeights
    Annotations
    @inject()
  19. abstract val floatPartialApplyOriginalDelta: PartialApply[Rest, String("originalDelta")]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatWeights
    Annotations
    @inject()
  20. abstract val floatPartialApplyRawForward: PartialApply[Constructor, String("rawForward")]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatLayers
    Annotations
    @inject()
  21. abstract val floatPartialApplyWeight: PartialApply[Constructor, String("weight")]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatWeights
    Annotations
    @inject()
  22. abstract def floatRawForwardParameter: <:<[Do[Tape[Float, Float]], Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatLayers
    Annotations
    @inject()
  23. abstract val floatWeightFactory: Factory[FloatWeight]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatWeights
    Annotations
    @inject()
  24. abstract def floatWeightParameter: <:<[FloatWeight, Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    FloatWeights
    Annotations
    @inject()
  25. abstract val implicitApplyImplicitsConstructor: ImplicitApply[Constructor]

    Permalink
    Attributes
    protected
    Definition Classes
    ImplicitsSingleton
    Annotations
    @inject()
  26. abstract val implicitsFactory: Factory[Implicits]

    Permalink
    Attributes
    protected
    Definition Classes
    ImplicitsSingleton
    Annotations
    @inject()
  27. abstract def indArrayDataParameter: <:<[INDArray, Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayWeights
    Annotations
    @inject()
  28. abstract val indArrayLayerFactory: Factory[INDArrayLayer]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayLayers
    Annotations
    @inject()
  29. abstract val indArrayOptimizerFactory: Factory[INDArrayOptimizer]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayWeights
    Annotations
    @inject()
  30. abstract def indArrayOriginalDeltaParameter: <:<[INDArray, Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayWeights
    Annotations
    @inject()
  31. abstract val indArrayPartialApplyData: PartialApply[Constructor, String("data")]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayWeights
    Annotations
    @inject()
  32. abstract val indArrayPartialApplyOriginalDelta: PartialApply[Rest, String("originalDelta")]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayWeights
    Annotations
    @inject()
  33. abstract val indArrayPartialApplyRawForward: PartialApply[Constructor, String("rawForward")]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayLayers
    Annotations
    @inject()
  34. abstract val indArrayPartialApplyWeight: PartialApply[Constructor, String("weight")]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayWeights
    Annotations
    @inject()
  35. abstract def indArrayRawForwardParameter: <:<[Do[Tape[INDArray, INDArray]], Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayLayers
    Annotations
    @inject()
  36. abstract val indArrayWeightFactory: Factory[INDArrayWeight]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayWeights
    Annotations
    @inject()
  37. abstract def indArrayWeightParameter: <:<[INDArrayWeight, Parameter]

    Permalink
    Attributes
    protected
    Definition Classes
    INDArrayWeights
    Annotations
    @inject()

Concrete Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Builtins to any2stringadd[Builtins] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Builtins, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Builtins to ArrowAssoc[Builtins] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. object DoubleLayer

    Permalink
    Definition Classes
    DoubleLayers
  7. object DoubleWeight

    Permalink
    Definition Classes
    DoubleWeights
  8. object FloatLayer

    Permalink
    Definition Classes
    FloatLayers
  9. object FloatWeight

    Permalink
    Definition Classes
    FloatWeights
  10. object INDArrayLayer

    Permalink
    Definition Classes
    INDArrayLayers
  11. object INDArrayWeight

    Permalink
    Definition Classes
    INDArrayWeights
  12. def abs[Operand0](operand0: Operand0)(implicit functionCase: Operators.abs.Case[Operand0]): Result

    Permalink
    Definition Classes
    Operators
  13. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  14. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. def dot[Operand0, Operand1, Out <: INDArrayLayer](operand0: Operand0, operand1: Operand1)(implicit deepLearning0: DeepLearning.Aux[Operand0, INDArray, INDArray], deepLearning1: DeepLearning.Aux[Operand1, INDArray, INDArray], layerImplicits: feature.ImplicitApply.Aux[Rest, Out]): Out

    Permalink
    Definition Classes
    INDArrayLayers
  16. def ensuring(cond: (Builtins) ⇒ Boolean, msg: ⇒ Any): Builtins

    Permalink
    Implicit information
    This member is added by an implicit conversion from Builtins to Ensuring[Builtins] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: (Builtins) ⇒ Boolean): Builtins

    Permalink
    Implicit information
    This member is added by an implicit conversion from Builtins to Ensuring[Builtins] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean, msg: ⇒ Any): Builtins

    Permalink
    Implicit information
    This member is added by an implicit conversion from Builtins to Ensuring[Builtins] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean): Builtins

    Permalink
    Implicit information
    This member is added by an implicit conversion from Builtins to Ensuring[Builtins] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  22. def exp[Operand0](operand0: Operand0)(implicit functionCase: Operators.exp.Case[Operand0]): Result

    Permalink
    Definition Classes
    Operators
  23. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Builtins to StringFormat[Builtins] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  25. final def getClass(): Class[_]

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

    Permalink
    Definition Classes
    AnyRef → Any
  27. lazy val implicits: Implicits

    Permalink
    Definition Classes
    ImplicitsSingleton
  28. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  29. def log[Operand0](operand0: Operand0)(implicit functionCase: Operators.log.Case[Operand0]): Result

    Permalink
    Definition Classes
    Operators
  30. lazy val logger: Logger

    Permalink
    Definition Classes
    Logging
  31. def max[Operand0, Operand1](operand0: Operand0, operand1: Operand1)(implicit functionCase: Operators.max.Case[Operand0, Operand1]): Result

    Permalink
    Definition Classes
    Operators
  32. def min[Operand0, Operand1](operand0: Operand0, operand1: Operand1)(implicit functionCase: Operators.min.Case[Operand0, Operand1]): Result

    Permalink
    Definition Classes
    Operators
  33. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  34. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  35. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  36. def pow[Operand0, Operand1](operand0: Operand0, operand1: Operand1)(implicit functionCase: Operators.pow.Case[Operand0, Operand1]): Result

    Permalink
    Definition Classes
    Operators
  37. def sqrt[Operand0](operand0: Operand0)(implicit functionCase: Operators.sqrt.Case[Operand0]): Result

    Permalink
    Definition Classes
    Operators
  38. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  39. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  40. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. def [B](y: B): (Builtins, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Builtins to ArrowAssoc[Builtins] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from Products

Inherited from HLists

Inherited from CumulativeINDArrayLayers

Inherited from INDArrayLayers

Inherited from INDArrayWeights

Inherited from INDArrayLiterals

Inherited from INDArrayTraining

Inherited from CumulativeDoubleLayers

Inherited from DoubleLayers

Inherited from DoubleWeights

Inherited from DoubleLiterals

Inherited from DoubleTraining

Inherited from CumulativeFloatLayers

Inherited from FloatLayers

Inherited from FloatWeights

Inherited from FloatLiterals

Inherited from FloatTraining

Inherited from Training

Inherited from Operators

Inherited from Names

Inherited from Logging

Inherited from Weights

Inherited from Layers

Inherited from ImplicitsSingleton

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Builtins to any2stringadd[Builtins]

Inherited by implicit conversion StringFormat from Builtins to StringFormat[Builtins]

Inherited by implicit conversion Ensuring from Builtins to Ensuring[Builtins]

Inherited by implicit conversion ArrowAssoc from Builtins to ArrowAssoc[Builtins]

Ungrouped