def baseline_mwe(nO, nP, depth): from thinc.neural._classes.model import Model from thinc.neural._classes.resnet import Residual from thinc.neural._classes.convolution import ExtractWindow from thinc.neural._classes.layernorm import LayerNorm from thinc.api import chain, clone, with_flatten maxout = Maxout(nO, nO*3, pieces=nP) normalize = LayerNorm(maxout) with Model.define_operators({'>>': chain, '**': clone}): model = Residual(ExtractWindow(nW=1) >> normalize) model = with_flatten(chain(*([model]*depth))) model.maxout = maxout model.normalize = normalize return model
def test_check_operator_is_defined_passes(model, dummy, operator): checker = check.operator_is_defined(operator) checked = checker(dummy) with Model.define_operators({"+": None}): checked(model, None)