Trait

com.thoughtworks.deeplearning.plugins

Builtins

Related Doc: package plugins

Permalink

trait Builtins extends ImplicitsSingleton with Layers with Weights with Logging with Operators with FloatTraining with FloatLiterals with FloatWeights with RawFloatLayers with FloatLayers with DoubleTraining with DoubleLiterals with DoubleWeights with RawDoubleLayers with DoubleLayers with INDArrayTraining with INDArrayLiterals with INDArrayWeights with RawINDArrayLayers with INDArrayLayers

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

Author:

杨博 (Yang Bo)

Source
Builtins.scala
Example:
  1. When creating a Builtins from 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 scalaz.concurrent.Task
    import com.thoughtworks.each.Monadic._
    val batchSize = 4
    val numberOfIterations = 10
    val input = Nd4j.rand(batchSize, numberOfInputFeatures)
    val label = Nd4j.rand(batchSize, numberOfOutputFeatures)
    @monadic[Task]
    def train: Task[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. INDArrayLayers
  3. RawINDArrayLayers
  4. INDArrayWeights
  5. INDArrayLiterals
  6. INDArrayTraining
  7. DoubleLayers
  8. RawDoubleLayers
  9. DoubleWeights
  10. DoubleLiterals
  11. DoubleTraining
  12. FloatLayers
  13. RawFloatLayers
  14. FloatWeights
  15. FloatLiterals
  16. FloatTraining
  17. Training
  18. Operators
  19. Logging
  20. Weights
  21. Layers
  22. ImplicitsSingleton
  23. AnyRef
  24. 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
    DoubleLayersRawDoubleLayers
  2. trait DoubleLayerApi extends DoubleLayers.DoubleLayerApi

    Permalink
    Definition Classes
    DoubleLayers
  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
    FloatLayersRawFloatLayers
  8. trait FloatLayerApi extends FloatLayers.FloatLayerApi

    Permalink
    Definition Classes
    FloatLayers
  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

    Definition Classes
    INDArrayLayersRawINDArrayLayers
  14. trait INDArrayLayerApi extends INDArrayLayers.INDArrayLayerApi

    Permalink
    Definition Classes
    INDArrayLayers
  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

    Permalink
  21. abstract type Layer <: LayerApi

    Permalink

    Definition Classes
    LoggingLayers
  22. trait LayerApi extends Logging.LayerApi with LoggingContext

    Permalink
    Definition Classes
    Logging
  23. trait LoggingContext extends AnyRef

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  24. abstract type Optimizer <: OptimizerApi

    Permalink

    Definition Classes
    Weights
  25. trait OptimizerApi extends AnyRef

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

    Permalink

    Definition Classes
    LoggingWeights
  27. trait WeightApi extends Logging.WeightApi with LoggingContext

    Permalink
    Definition Classes
    Logging

Abstract Value Members

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    RawINDArrayLayers
    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
    RawDoubleLayers
    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
    RawDoubleLayers
    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
    RawDoubleLayers
    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
    RawFloatLayers
    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
    RawFloatLayers
    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
    RawFloatLayers
    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
    RawINDArrayLayers
    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
    RawINDArrayLayers
    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
    RawINDArrayLayers
    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
    RawDoubleLayers
  7. object DoubleWeight

    Permalink
    Definition Classes
    DoubleWeights
  8. object FloatLayer

    Permalink
    Definition Classes
    RawFloatLayers
  9. object FloatWeight

    Permalink
    Definition Classes
    FloatWeights
  10. object INDArrayLayer

    Permalink
    Definition Classes
    RawINDArrayLayers
  11. object INDArrayWeight

    Permalink
    Definition Classes
    INDArrayWeights
  12. object Layer

    Permalink
    Definition Classes
    Layers
  13. object Optimizer

    Permalink
    Definition Classes
    Weights
  14. object Weight

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. 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
  19. 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
  20. 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
  21. 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
  22. final def eq(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. 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()
  27. final def getClass(): Class[_]

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

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

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

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

    Permalink
    Definition Classes
    Operators
  32. lazy val logger: Logger

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  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 INDArrayLayers

Inherited from RawINDArrayLayers

Inherited from INDArrayWeights

Inherited from INDArrayLiterals

Inherited from INDArrayTraining

Inherited from DoubleLayers

Inherited from RawDoubleLayers

Inherited from DoubleWeights

Inherited from DoubleLiterals

Inherited from DoubleTraining

Inherited from FloatLayers

Inherited from RawFloatLayers

Inherited from FloatWeights

Inherited from FloatLiterals

Inherited from FloatTraining

Inherited from Training

Inherited from Operators

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