Commit Graph

4 Commits

Author SHA1 Message Date
zhousiyi a5b4e7bbf8 lift fv before grad except weight, then convert
switch(cond, partial(g1, xs), partial(g2, ys))(Zs)
 to
 switch(cond, g1, g2)(Xs, Ys, Zs)

 switch_layer(index, make_tuple(partial(g1, xs), partial(g2, ys)))(Zs)
 to
 switch_layer(index, make_tuple(g1, g2))(Xs, Ys, Zs)

put Zs at last when unifyparameter as it may have u-monad or io-monad

use joined args other than broadened one as some extra parameter which is not a parameter of while_header can be add to while_body

inline fprop_switch forcely

reorder the parameter if one of the parameter is Monad when incorporate call

incorporate switch tuple_getitem if item 0 of tuple is EnvInstance or
item 1 of tuple is bprop function

addn with shape() and shape(1)

remove context_ from FuncGraphEvaluator to make it re-entry able to resolve evaluator stuck issue because of re-entry of the same FuncGraphEvaluator
2021-07-03 00:03:37 +08:00
zhousiyi 74d500a756 If a fv cnode is not mapped but belong to primal_graph_, then don't propagate this fv to caller, it should mapped instead 2021-03-25 11:49:37 +00:00
yujianfeng 728fac6c9f Expand J for innermost graph first when the graph also contains J primitive 2020-12-28 09:37:23 +08:00
yujianfeng e1aa34a030 Ignore the graphs with defer_inline flag when specializing on graph arguments 2020-12-22 14:32:44 +08:00