trait Trainable[-Data, +Delta] extends AnyRef
A type class that makes result of forward as input of backward.
To train a layer, a implement of Trainable
has parameterized with types of the layer's Input and Output is required.
- See also
This type class is required by train.
- Alphabetic
- By Inheritance
- Trainable
- AnyRef
- Any
- by toAnyLayerOps
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
- abstract def apply(data: Data): Delta
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Trainable[Data, Delta], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
compose[NewInput <: Tape](g: Aux[NewInput, Input]): Aux[NewInput, Aux[OutputData, OutputDelta]]
[use case]
[use case]- Implicit
- This member is added by an implicit conversion from Trainable[Data, Delta] to AnyLayerOps[Input, OutputData, OutputDelta] performed by method toAnyLayerOps in com.thoughtworks.deeplearning.DifferentiableAny. This conversion will take place only if an implicit value of type Aux[Trainable[Data, Delta], Input, OutputData, OutputDelta] is in scope.
- Definition Classes
- AnyLayerOps
import com.thoughtworks.deeplearning.DifferentiableAny._ def composeNetwork(implicit thisLayer: INDArray @Symbolic)(anotherLayer: INDArray @Symbolic) = { thisLayer.compose(anotherLayer)
Full SignatureExample: - def ensuring(cond: (Trainable[Data, Delta]) ⇒ Boolean, msg: ⇒ Any): Trainable[Data, Delta]
- def ensuring(cond: (Trainable[Data, Delta]) ⇒ Boolean): Trainable[Data, Delta]
- def ensuring(cond: Boolean, msg: ⇒ Any): Trainable[Data, Delta]
- def ensuring(cond: Boolean): Trainable[Data, Delta]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
predict[InputData, InputDelta](inputData: InputData)(implicit ev: <:<[Aux[Input, Aux[OutputData, OutputDelta]], Aux[Aux[InputData, InputDelta], Aux[OutputData, OutputDelta]]]): OutputData
Returns the result of inputData's forward.
Returns the result of inputData's forward.
- Implicit
- This member is added by an implicit conversion from Trainable[Data, Delta] to AnyLayerOps[Input, OutputData, OutputDelta] performed by method toAnyLayerOps in com.thoughtworks.deeplearning.DifferentiableAny. This conversion will take place only if an implicit value of type Aux[Trainable[Data, Delta], Input, OutputData, OutputDelta] is in scope.
- Definition Classes
- AnyLayerOps
import com.thoughtworks.deeplearning.DifferentiableAny._ def composeNetwork(implicit inputData: INDArray @Symbolic) = ??? val predictor = composeNetwork predictor.predict(testData)
Example: -
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
train[InputData, InputDelta](inputData: InputData)(implicit ev: <:<[Aux[Input, Aux[OutputData, OutputDelta]], Aux[Aux[InputData, InputDelta], Aux[OutputData, OutputDelta]]], outputDataIsOutputDelta: Trainable[OutputData, OutputDelta]): OutputData
Updates those weights embedded in
anyLayer
according to the result of inputData's backward.Updates those weights embedded in
anyLayer
according to the result of inputData's backward.- Implicit
- This member is added by an implicit conversion from Trainable[Data, Delta] to AnyLayerOps[Input, OutputData, OutputDelta] performed by method toAnyLayerOps in com.thoughtworks.deeplearning.DifferentiableAny. This conversion will take place only if an implicit value of type Aux[Trainable[Data, Delta], Input, OutputData, OutputDelta] is in scope.
- Definition Classes
- AnyLayerOps
import com.thoughtworks.deeplearning.DifferentiableAny._ def composeNetwork(implicit input: INDArray @Symbolic) = ??? val yourNetwork=composeNetwork yourNetwork.train(testData)
Example: -
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
- @throws( ... )
-
def
withOutputDataHook(hook: (OutputData) ⇒ Unit): Aux[Input, Aux[OutputData, OutputDelta]]
Returns a new Layer which is a wrapper of result of
anyLayer
's forward and will invokehook(anyLayer.forward(input).value)
.Returns a new Layer which is a wrapper of result of
anyLayer
's forward and will invokehook(anyLayer.forward(input).value)
. In DeepLearning.Scala, operation is not immediately run, but first filled the network with placeholders, until the entire network is running, the real data will replace placeholders. So if you want to know some layers's intermediate state, you need to usewithOutputDataHook
.- Implicit
- This member is added by an implicit conversion from Trainable[Data, Delta] to AnyLayerOps[Input, OutputData, OutputDelta] performed by method toAnyLayerOps in com.thoughtworks.deeplearning.DifferentiableAny. This conversion will take place only if an implicit value of type Aux[Trainable[Data, Delta], Input, OutputData, OutputDelta] is in scope.
- Definition Classes
- AnyLayerOps
import com.thoughtworks.deeplearning.DifferentiableAny._ (var:INDArray @Symbolic).withOutputDataHook{ data => println(data) }
Example: - def →[B](y: B): (Trainable[Data, Delta], B)