def build_simple_cnn_text_classifier(tok2vec, nr_class, exclusive_classes=False, **cfg):
    """
    Build a simple CNN text classifier, given a token-to-vector model as inputs.
    If exclusive_classes=True, a softmax non-linearity is applied, so that the
    outputs sum to 1. If exclusive_classes=False, a logistic non-linearity
    is applied instead, so that outputs are in the range [0, 1].
    """
    with Model.define_operators({">>": chain}):
        if exclusive_classes:
            output_layer = Softmax(nr_class, tok2vec.nO)
        else:
            output_layer = (
                zero_init(Affine(nr_class, tok2vec.nO, drop_factor=0.0)) >> logistic
            )
        model = tok2vec >> flatten_add_lengths >> Pooling(mean_pool) >> output_layer
    model.tok2vec = chain(tok2vec, flatten)
    model.nO = nr_class
    return model
def build_simple_cnn_text_classifier ( tok2vec , nr_class , exclusive_classes = False , ** cfg ) : with Model . define_operators ( { ">>" : chain } ) : if exclusive_classes : output_layer = Softmax ( nr_class , tok2vec . nO ) else : output_layer = ( zero_init ( Affine ( nr_class , tok2vec . nO , drop_factor = 0.0 ) ) >> logistic ) model = tok2vec >> flatten_add_lengths >> Pooling ( mean_pool ) >> output_layer model . tok2vec = chain ( tok2vec , flatten ) model . nO = nr_class return model
Build a simple CNN text classifier, given a token-to-vector model as inputs.
    If exclusive_classes=True, a softmax non-linearity is applied, so that the
    outputs sum to 1. If exclusive_classes=False, a logistic non-linearity
    is applied instead, so that outputs are in the range [0, 1].