Packages

  • package root
    Definition Classes
    root
  • package com
    Definition Classes
    root
  • package thoughtworks
    Definition Classes
    com
  • package deeplearning

    Author:

    杨博 (Yang Bo)

    Definition Classes
    thoughtworks
  • package plugins

    Author:

    杨博 (Yang Bo)

    Definition Classes
    deeplearning
  • trait CumulativeDoubleLayers extends DoubleLayers

    A plugin that provides differentiable operators on neural networks whose Data and Delta is scala.Double.

    A plugin that provides differentiable operators on neural networks whose Data and Delta is scala.Double.

    Author:

    杨博 (Yang Bo)

    Definition Classes
    plugins
    Examples:
    1. Given a DoubleWeight,

      import com.thoughtworks.deeplearning.plugins._
      import com.thoughtworks.feature.Factory
      val hyperparameters = Factory[DoubleTraining with ImplicitsSingleton with Operators with CumulativeDoubleLayers with DoubleWeights].newInstance()
      import hyperparameters.implicits._
      val weight1 = hyperparameters.DoubleWeight(10)

      then the training result should be applied on it

      weight1.train.map { result =>
        result should be(10.0f)
      
        weight1.data should be < 10.0f
      }
    2. ,
    3. Given two DoubleWeights,

      import com.thoughtworks.deeplearning.plugins._
      import com.thoughtworks.feature.Factory
      val hyperparameters = Factory[DoubleTraining with ImplicitsSingleton with Operators with CumulativeDoubleLayers with DoubleWeights].newInstance()
      import hyperparameters.implicits._
      val weight1 = hyperparameters.DoubleWeight(10)
      val weight2 = hyperparameters.DoubleWeight(300)

      when adding them together,

      val weight1PlusWeight2 = weight1 + weight2

      then the training result should be applied on both weight

      weight1PlusWeight2.train.map { result =>
        result should be(310.0f)
      
        weight2.data should be < 300.0f
        weight1.data should be < 10.0f
      }
    Note

    Unlike DoubleLayers, DoubleLayer in this CumulativeDoubleLayers will share Tapes created in forward pass pass for all dependencies, avoiding re-evaluation in the case of diamond dependencies in a neural network.

  • DoubleLayer
  • DoubleLayer
  • DoubleLayerApi
  • Implicits
  • ImplicitsApi
  • Layer
  • LayerApi

abstract type DoubleLayer <: DoubleLayerApi with Layer

Definition Classes
CumulativeDoubleLayersDoubleLayers
Source
CumulativeFloatLayers.scala
Linear Supertypes
DoubleLayerApi, CumulativeDoubleLayers.DoubleLayerApi, CumulativeDoubleLayers.LayerApi, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DoubleLayer
  2. DoubleLayerApi
  3. DoubleLayerApi
  4. LayerApi
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Data = Double
    Definition Classes
    DoubleLayerApiLayerApi
  2. type Delta = Double
    Definition Classes
    DoubleLayerApiLayerApi

Abstract Value Members

  1. abstract val rawForward: Do[Tape[Double, Double]]

    The original forward operation passed in DoubleLayer.apply.

    The original forward operation passed in DoubleLayer.apply.

    Attributes
    protected
    Definition Classes
    DoubleLayerApi
    Note

    This rawForward may be different from forward, in the case of forward was overriden by other plugins, e.g. CumulativeDoubleLayers.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. def forward: Do[Tape[Double, Double]]
    Definition Classes
    DoubleLayerApiDoubleLayerApiLayerApi
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  11. def handleException(thrown: Throwable): Unit
    Attributes
    protected
    Definition Classes
    LayerApi
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  18. def toString(): String
    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from DoubleLayerApi

Inherited from CumulativeDoubleLayers.DoubleLayerApi

Inherited from AnyRef

Inherited from Any

Ungrouped