View source on GitHub
|
Creates a composition of multiple tff.templates.MeasuredProcesses.
tff.templates.chain_measured_processes(
measured_processes: collections.OrderedDict[str, MeasuredProcess]
) -> tff.templates.MeasuredProcess
Composing MeasuredProcesses is a chaining process in which the output of the
first MeasuredProcess feeds the input of the following MeasuredProcess.
For example, given y = f(x) and z = g(y), this produces a new z = h(x)
such that h(x) = g(f(x)).
Guidance for Composition
Two MeasuredProcesses F(x) and G(y) can be composed into a new
MeasuredProcess called C with the following properties:
C.stateis the concatenation<F=F.state, G=G.state>as anOrderedDict.C.next(C.state, x).result == G.next(G.state, F.next(F.state, x).result).resultC.measurementsis the concatenation<F=F.measurements, G=G.measurements>as anOrderedDict.
The resulting composition C would have the following type signatures:
initialize: ( -> <F=F.initialize, G=G.initialize>)
next: (<<F=F.state, G=G.state>, F.input> -> <state=<F=F.state, G=G.State>,
result=G.result, measurements=<F=F.measurements, G=G.measurements>)
Note that the guidance for composition is not strict and details are allowed to differ.
Args | |
|---|---|
measured_processes
|
An OrderedDict of MeasuredProcesses with keys as the
process name and values as the corresponding MeasuredProcess.
|
Returns | |
|---|---|
A MeasuredProcess of the composition of input MeasuredProcesses.
|
View source on GitHub