U
    rh"                     @  sn   d dl mZ d dlmZ d dlZd dlZd dlmZ d dlm	Z	 d dl
mZ G dd dZG d	d
 d
e	ZdS )    )annotations)AnyN)	NodeProto)Base)expectc                   @  s*   e Zd ZdddddZdddd	Zd
S )TfIdfVectorizerHelperr   None)paramsreturnc                 K  s   d}d}d}d}d}d}d}|||||||g}	|	D ]}
|
|ks2t d|
 q2|| | _|| | _|| | _|| | _|| | _|| | _|| | _d S )	Nmodemin_gram_lengthmax_gram_lengthmax_skip_countngram_countsngram_indexespool_int64szMissing attribute: )AssertionErrorr   r   r   r   r   r   r   )selfr	   r   r   r   r   r   r   r   Zrequired_attri r   O/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/tfidfvectorizer.py__init__   s0    






zTfIdfVectorizerHelper.__init__r   r
   c                 C  s2   t jjddgdg| j| j| j| j| j| j| j	d
S )NTfIdfVectorizerXY)	inputsoutputsr   r   r   r   r   r   r   )
onnxhelperZ	make_noder   r   r   r   r   r   r   )r   r   r   r   make_node_noweights0   s    z)TfIdfVectorizerHelper.make_node_noweightsN)__name__
__module____qualname__r   r    r   r   r   r   r      s   r   c                   @  s   e Zd ZeddddZeddddZeddddZeddd	d
ZeddddZeddddZ	eddddZ
dS )r   r   r   c                  C  s   t ddddddddddddgt j} t dddddddgt j}t d	d
gt j}t d	dddd
ddgt j}t dddd
ddddddg
t j}tdddd	|||d}| }t|| g|gdd d S )N                                ?r         TFr   r   r   r   r   r   r   Z*test_tfidfvectorizer_tf_only_bigrams_skip0r   r   name	nparrayZastypeZint32Zfloat32Zint64r   r    r   inputoutputr   r   r   r   noder   r   r   export_tf_only_bigrams_skip0@   s.    *  	z,TfIdfVectorizer.export_tf_only_bigrams_skip0c                  C  s   t ddddddgddddddggt j} t dddddddgdddddddggt j}t d	d
gt j}t d	dddd
ddgt j}t dddd
ddddddg
t j}tdddd	|||d}| }t|| g|gdd d S )Nr$   r%   r&   r'   r(   r)   r*   r+   r   r,   r-   r.   r/   Z/test_tfidfvectorizer_tf_batch_onlybigrams_skip0r0   r2   r5   r   r   r   !export_tf_batch_onlybigrams_skip0\   s6    ." 	z1TfIdfVectorizer.export_tf_batch_onlybigrams_skip0c                  C  s   t ddddddddddddgt j} t dddgt j}t ddgt j}t ddd	gt j}t ddddddgt j}td
d	d	d|||d}| }t|| g|gdd d S )Nr$   r%   r&   r'   r(   r)   r+   r   r-   r.   r/   Z.test_tfidfvectorizer_tf_onlybigrams_levelemptyr0   r2   r5   r   r   r    export_tf_onlybigrams_levelemptyz   s.    *	z0TfIdfVectorizer.export_tf_onlybigrams_levelemptyc                  C  s   t ddddddddddddgt j} t dddddd	dgt j}t d
dgt j}t d
ddddddgt j}t ddddddddddg
t j}tdddd|||d}| }t|| g|gdd d S )Nr$   r%   r&   r'   r(   r)   r*   r+         @r   r,   r-   r.   r/   Z)test_tfidfvectorizer_tf_onlybigrams_skip5r0   r2   r5   r   r   r   export_tf_onlybigrams_skip5   s.    *  	z+TfIdfVectorizer.export_tf_onlybigrams_skip5c                  C  s   t ddddddgddddddggt j} t dddddddgdddddddggt j}t d	d
gt j}t d	dddd
ddgt j}t dddd
ddddddg
t j}tdddd|||d}| }t|| g|gdd d S )Nr$   r%   r&   r'   r(   r)   r*   r+   r   r,   r-   r.   r/   Z/test_tfidfvectorizer_tf_batch_onlybigrams_skip5r0   r2   r5   r   r   r   !export_tf_batch_onlybigrams_skip5   s6    ." 	z1TfIdfVectorizer.export_tf_batch_onlybigrams_skip5c                  C  s   t ddddddddddddgt j} t ddd	dd	dd	gt j}t d
dgt j}t d
ddddddgt j}t ddddddddddg
t j}tdddd|||d}| }t|| g|gdd d S )Nr$   r%   r&   r'   r(   r)   r*   r<   r+   r   r,   r-   r.   r/   Z+test_tfidfvectorizer_tf_uniandbigrams_skip5r0   r2   r5   r   r   r   export_tf_uniandbigrams_skip5   s.    *  	z-TfIdfVectorizer.export_tf_uniandbigrams_skip5c                  C  s   t ddddddgddddddggt j} t dddddddgddd	dd	d	d	ggt j}t d
dgt j}t d
ddddddgt j}t ddddddddddg
t j}tdddd|||d}| }t|| g|gdd d S )Nr$   r%   r&   r'   r(   r)   r*   r<   r+   r   r,   r-   r.   r/   Z1test_tfidfvectorizer_tf_batch_uniandbigrams_skip5r0   r2   r5   r   r   r   #export_tf_batch_uniandbigrams_skip5   s6    ." 	z3TfIdfVectorizer.export_tf_batch_uniandbigrams_skip5N)r!   r"   r#   staticmethodr9   r:   r;   r=   r>   r?   r@   r   r   r   r   r   ?   s   r   )
__future__r   typingr   Znumpyr3   r   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r   r   r   r   r   <module>   s   /