o
    so™i¤"  ã                   @  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„Zddd	„Zd
S )ÚTfIdfVectorizerHelperÚparamsr   ÚreturnÚNonec                 K  s˜   d}d}d}d}d}d}d}|||||||g}	|	D ]}
|
|v s&J d|
› ƒ‚q|| | _ || | _|| | _|| | _|| | _|| | _|| | _d S )	NÚmodeÚmin_gram_lengthÚmax_gram_lengthÚmax_skip_countÚngram_countsÚngram_indexesÚpool_int64szMissing attribute: ©r   r   r   r   r   r   r   )Úselfr   r   r   r   r   r   r   r   Úrequired_attrÚi© r   ú_/home/ubuntu/.local/lib/python3.10/site-packages/onnx/backend/test/case/node/tfidfvectorizer.pyÚ__init__   s0   ù






zTfIdfVectorizerHelper.__init__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ÚhelperÚ	make_noder   r   r   r   r   r   r   )r   r   r   r   Úmake_node_noweights0   s   öz)TfIdfVectorizerHelper.make_node_noweightsN)r   r   r	   r
   )r	   r   )Ú__name__Ú
__module__Ú__qualname__r   r!   r   r   r   r   r      s    
r   c                   @  sn   e Zd Zeddd„ƒZeddd„ƒZeddd„ƒZedd	d
„ƒZeddd„ƒZeddd„ƒZ	eddd„ƒZ
dS )r   r	   r
   c               	   C  s¤   t  g d¢¡ t j¡} t  g d¢¡ t j¡}t  ddg¡ t j¡}t  g d¢¡ t j¡}t  g d¢¡ t j¡}tdddd|||d	}| ¡ }t|| g|gd
d d S )N©é   r&   é   r'   r'   é   é   é   r(   é   r*   r)   ©ç        r-   r-   r-   ç      ð?r.   r.   r   é   ©r   r&   é   r'   r/   r+   r*   ©
r1   r'   r+   r/   r+   r*   r(   r)   r*   r(   ÚTFr1   r   Ú*test_tfidfvectorizer_tf_only_bigrams_skip0©r   r   Úname©	ÚnpÚarrayÚastypeÚint32Úfloat32Úint64r   r!   r   ©ÚinputÚoutputr   r   r   r   Únoder   r   r   Úexport_tf_only_bigrams_skip0@   ó.   ÿù	
üz,TfIdfVectorizer.export_tf_only_bigrams_skip0c               	   C  s´   t  g d¢g d¢g¡ t j¡} t  g d¢g d¢g¡ t j¡}t  ddg¡ t j¡}t  g d¢¡ t j¡}t  g d¢¡ t j¡}td	d
d
d|||d}| ¡ }t|| g|gdd d S )N©r&   r&   r'   r'   r'   r(   ©r)   r*   r(   r+   r*   r)   ©r-   r-   r-   r-   r-   r-   r-   )r-   r-   r-   r-   r.   r-   r.   r   r/   r0   r2   r3   r1   r   Ú/test_tfidfvectorizer_tf_batch_onlybigrams_skip0r5   r7   r>   r   r   r   Ú!export_tf_batch_onlybigrams_skip0\   ó6   ÿþÿù	
üz1TfIdfVectorizer.export_tf_batch_onlybigrams_skip0c               	   C  s¤   t  g d¢¡ t j¡} t  g d¢¡ t j¡}t  ddg¡ t j¡}t  g d¢¡ t j¡}t  g d¢¡ t j¡}tdddd|||d}| ¡ }t|| g|gd	d
 d S )Nr%   )r.   r.   r.   r   )r   r&   r1   )r+   r*   r(   r)   r*   r(   r3   r1   r   Ú.test_tfidfvectorizer_tf_onlybigrams_levelemptyr5   r7   r>   r   r   r   Ú export_tf_onlybigrams_levelemptyz   rC   z0TfIdfVectorizer.export_tf_onlybigrams_levelemptyc               	   C  s¤   t  g d¢¡ t j¡} t  g d¢¡ t j¡}t  ddg¡ t j¡}t  g d¢¡ t j¡}t  g d¢¡ t j¡}tdddd	|||d
}| ¡ }t|| g|gdd d S )Nr%   )r-   r-   r-   r-   r.   ç      @r.   r   r/   r0   r2   r3   r1   r+   r   Ú)test_tfidfvectorizer_tf_onlybigrams_skip5r5   r7   r>   r   r   r   Úexport_tf_onlybigrams_skip5–   rC   z+TfIdfVectorizer.export_tf_onlybigrams_skip5c               	   C  s´   t  g d¢g d¢g¡ t j¡} t  g d¢g d¢g¡ t j¡}t  ddg¡ t j¡}t  g d¢¡ t j¡}t  g d¢¡ t j¡}td	d
d
d|||d}| ¡ }t|| g|gdd d S )NrD   rE   rF   r,   r   r/   r0   r2   r3   r1   r+   r   Ú/test_tfidfvectorizer_tf_batch_onlybigrams_skip5r5   r7   r>   r   r   r   Ú!export_tf_batch_onlybigrams_skip5²   rI   z1TfIdfVectorizer.export_tf_batch_onlybigrams_skip5c               	   C  s¤   t  g d¢¡ t j¡} t  g d¢¡ t j¡}t  ddg¡ t j¡}t  g d¢¡ t j¡}t  g d¢¡ t j¡}tddd	d
|||d}| ¡ }t|| g|gdd d S )Nr%   )r-   rL   r.   r-   r.   rL   r.   r   r/   r0   r2   r3   r&   r1   r+   r   Ú+test_tfidfvectorizer_tf_uniandbigrams_skip5r5   r7   r>   r   r   r   Úexport_tf_uniandbigrams_skip5Ð   rC   z-TfIdfVectorizer.export_tf_uniandbigrams_skip5c               	   C  s´   t  g d¢g d¢g¡ t j¡} t  g d¢g d¢g¡ t j¡}t  ddg¡ t j¡}t  g d¢¡ t j¡}t  g d¢¡ t j¡}td	d
dd|||d}| ¡ }t|| g|gdd d S )NrD   rE   )r-   rL   r-   r-   r-   r-   r-   )r-   r-   r.   r-   r.   r.   r.   r   r/   r0   r2   r3   r&   r1   r+   r   Ú1test_tfidfvectorizer_tf_batch_uniandbigrams_skip5r5   r7   r>   r   r   r   Ú#export_tf_batch_uniandbigrams_skip5ì   rI   z3TfIdfVectorizer.export_tf_batch_uniandbigrams_skip5N)r	   r
   )r"   r#   r$   ÚstaticmethodrB   rH   rK   rN   rP   rR   rT   r   r   r   r   r   ?   s    r   )Ú
__future__r   Útypingr   Únumpyr8   r   r   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   r   r   r   r   r   Ú<module>   s   /