def my_parser(): tok2vec = build_Tok2Vec_model( MultiHashEmbed( width=321, attrs=["LOWER", "SHAPE"], rows=[5432, 5432], include_static_vectors=False, ), MaxoutWindowEncoder(width=321, window_size=3, maxout_pieces=4, depth=2), ) parser = build_tb_parser_model( tok2vec=tok2vec, state_type="parser", extra_state_tokens=True, hidden_width=65, maxout_pieces=5, use_upper=True, ) return parser
def test_spancat_model_forward_backward(nO=5): tok2vec = build_Tok2Vec_model(**get_tok2vec_kwargs()) docs = get_docs() spans_list = [] lengths = [] for doc in docs: spans_list.append(doc[:2]) spans_list.append(doc[1:4]) lengths.append(2) spans = Ragged( tok2vec.ops.asarray([[s.start, s.end] for s in spans_list], dtype="i"), tok2vec.ops.asarray(lengths, dtype="i"), ) model = build_spancat_model(tok2vec, reduce_mean(), chain(Relu(nO=nO), Logistic())).initialize(X=(docs, spans)) Y, backprop = model((docs, spans), is_train=True) assert Y.shape == (spans.dataXd.shape[0], nO) backprop(Y)
def test_tok2vec(): return build_Tok2Vec_model(**get_tok2vec_kwargs())
def test_spancat_model_init(): model = build_spancat_model(build_Tok2Vec_model(**get_tok2vec_kwargs()), reduce_mean(), Logistic()) model.initialize()