Idris2Doc : Data.Autodiff.Model

Data.Autodiff.Model

(source)

Reexports

importpublic Data.Para
importpublic System.Random

Definitions

recordModel : AddCont->AddCont->Type
  A Model is a differentiable parametric map which
a) has its parameter container constant
b) comes with its own initialisation

Totality: total
Visibility: public export
Constructor: 
MkModel : (Params : Type) -> {autopMon : ComMonoidParams} ->IOParams-> (a>*<ConstParams) =%+>b->Modelab

Projections:
.Params : Modelab->Type
.init : ({rec:0} : Modelab) ->IO (Params{rec:0})
.pMon : ({rec:0} : Modelab) ->ComMonoid (Params{rec:0})
.run : ({rec:0} : Modelab) -> (a>*<Const (Params{rec:0})) =%+>b
.Params : Modelab->Type
Totality: total
Visibility: public export
Params : Modelab->Type
Totality: total
Visibility: public export
.pMon : ({rec:0} : Modelab) ->ComMonoid (Params{rec:0})
Totality: total
Visibility: public export
pMon : ({rec:0} : Modelab) ->ComMonoid (Params{rec:0})
Totality: total
Visibility: public export
.init : ({rec:0} : Modelab) ->IO (Params{rec:0})
Totality: total
Visibility: public export
init : ({rec:0} : Modelab) ->IO (Params{rec:0})
Totality: total
Visibility: public export
.run : ({rec:0} : Modelab) -> (a>*<Const (Params{rec:0})) =%+>b
Totality: total
Visibility: public export
run : ({rec:0} : Modelab) -> (a>*<Const (Params{rec:0})) =%+>b
Totality: total
Visibility: public export
(-\->) : AddCont->AddCont->Type
  Infix notation for the Model

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 1
ParamCont : Modelab->AddCont
Totality: total
Visibility: public export
toPara : a-\->b->ParaAddLensab
Totality: total
Visibility: public export
fromPara : (f : ParaAddLensab) ->IsConst (Paramf) =>IO ((Paramf) .Shp) ->a-\->b
Totality: total
Visibility: public export
withInit : (m : a-\->b) ->IO (m.Params) ->a-\->b
  Replace a model's initialisation

Totality: total
Visibility: public export
DefaultInit : Randomp=>Negp=>IOp
  Default parameter initialisation, uniform on (-1, 1)

Totality: total
Visibility: public export
trivialParam : a=%+>b->a-\->b
  A parameterless differentiable map

Totality: total
Visibility: public export
id : a-\->a
Totality: total
Visibility: public export
(>>>) : Materialise (b.Shp) =>InterfaceOnPositionsbMaterialise=>a-\->b->b-\->c->a-\->c
  Sequential composition

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 1
(***) : a-\->c->b-\->d-> (a>*<b) -\-> (c>*<d)
  Parallel composition

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 3
(&&&) : a-\->b->a-\->c->a-\-> (b>*<c)
  Fan-out

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 3
dfunFinite : ((i : Finn) ->a-\->fi) ->a-\->AddContDFunFinitef
  Fan-out of models

Totality: total
Visibility: public export
lazyCons : a-\->b->a-\-> (Vectk>-+@Coproductbs) ->a-\-> (Vect (Sk) >-+@Coproduct (b::bs))
  Only evaluates the head if the index matches it

Totality: total
Visibility: public export
lazyBranches : ((i : Finn) ->a-\->indexibranches) ->a-\-> (Vectn>-+@Coproductbranches)
  Branch models under the choice effect: only the branch the environment asks
for runs. The type of `postcomposeLens (dfunFinite ms) graph`, without its work

Totality: total
Visibility: public export
mapFst : a-\->b-> (a>*<c) -\-> (b>*<c)
  Act on the first component

Totality: total
Visibility: public export
nTimes : Materialise (a.Shp) =>InterfaceOnPositionsaMaterialise=>Nat->a-\->a->a-\->a
  Iterate a model `n` times

Totality: total
Visibility: public export
postcomposeLens : a-\->b->b=%+>c->a-\->c
Totality: total
Visibility: public export
precomposeLens : a=%+>b->b-\->c->a-\->c
  Pre-compose a parameterless lens onto a model's input

Totality: total
Visibility: public export
prim : ((x : a.Shp) -> (y : b.Shp**b.PosSety->a.PosSetx)) ->a-\->b
  A custom function without parameters

Totality: total
Visibility: public export
customOp : {auto{conArg:13751} : ComMonoids} -> {auto{conArg:13754} : ComMonoidt} -> (s->t) -> (s->t->s) ->Consts-\->Constt
  A custom differentiable operation

Totality: total
Visibility: public export
layer : (p : Type) ->ComMonoidp=>IOp-> ((x : a.Shp) ->p-> (y : b.Shp**b.PosSety-> (a.PosSetx, p))) ->a-\->b
  A custom parametric layer

Totality: total
Visibility: public export
runAt : (m : a-\->b) -> (x : a.Shp) ->m.Params-> (y : b.Shp**b.PosSety-> (a.PosSetx, m.Params))
  Run a model at an input and a parameter

Totality: total
Visibility: public export
.fwd : (m : a-\->b) ->a.Shp->m.Params->b.Shp
  Forward pass

Totality: total
Visibility: public export
.bwd : (m : a-\->b) -> (x : a.Shp) -> (p : m.Params) ->b.PosSet (m.fwdxp) -> (a.PosSetx, m.Params)
  Backward pass

Totality: total
Visibility: public export