CoolFace
Apppublic

wolf6/GARBAGE

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
experimental.cpython-311.pyc69 linesDownload Raw Back to __pycache__
1�

27�,h�*���ddlZddlZddlZddlmZddlmZmZddl	m3Z4Gd�dej��ZGd�dej��Z
Gd�d	ej��ZGd5�dej��ZGd�d
ejj��ZGd�dejj��ZGd�dej��ZGd�dej��ZGd�dej��Zdd�ZdS)�N)�Conv�DWConv)�attempt_downloadc�&��eZdZd�fd�	Zd�Z�xZS)�	CrossConv����?Fc���tt|�����t||z��}t	||d|fd|f��|_t	|||df|df|���|_|o||k|_dS)Nr	)�g)�superr�__init__�intr�cv1�cv2�add)6�self�c1�c2�k�sr�e�shortcut�c_�	__class__s7         ��N/content/drive/MyDrive/garbage.v1i.yolov7pytorch/yolov7/models/experimental.pyrzCrossConv.__init__s����
�i����'�'�)�)�)�
��a��[�[����B��A���A��/�/�����B��A���A��!�4�4�4����(��b������c��|jr+||�|�|����zn'|�|�|����S�N)rrr�r�xs  r�forwardzCrossConv.forwardsE��,0�H�O�q�4�8�8�D�H�H�Q�K�K�(�(�(�(�$�(�(�4�8�8�A�;�;�:O�:O�Or)rr	r	r8F��__name__�9__module__�__qualname__rr"�
__classcell__�rs@rrr10sS�������)�)�)�)�)�)�P�P�P�P�P�P�Prrc�&��eZdZd�fd�	Zd�Z�xZS)�SumFc����tt|�����||_t	|dz11��|_|r4t
jtj	d|��dzd���|_12dSdS)Nr	r13�T)�
requires_grad)r
r*r�weight�range�iter�nn�	Parameter�torch�arange�w)r�nr.rs   �rrzSum.__init__sz���
�c�4���!�!�#�#�#�����!�a�%�L�L��	��	P��\�5�<��A�#6�#6�"6��":�$�O�O�O�D�F�F�F�	P�	Prc���|d}|jr>tj|j��dz}|jD]}|||dz||zz}�n|jD]}|||dzz}�|S)Nrr,r	)r.r3�sigmoidr5r0)rr!�yr5�is     rr"zSum.forward!s���
�a�D���;�	!��
�d�f�%�%��)�A��Y�
(�
(����!�a�%��1�Q�4��'���
(��Y�
!�
!����!�a�%��L����r�Fr#r(s@rr*r*sR�������P�P�P�P�P�P�	�	�	�	�	�	�	rr*c�&��eZdZd�fd�	Zd�Z�xZS)�	MixConv2d�r	rr	Tc������	�14�tt|�����t���}|rGt	jd|dz15|������16�17fd�t|��D���	n�|gdg|zz}tj	|dz|d���}|tj18|dd���z}|tj���dzz}d|d<tj�
||d�	��d����	tj��	��fd19�t|��D����|_tj|��|_tjdd�
��|_dS)Nrg�����ư>c�@��g|]}�|k�����S�)�sum)�.0rr:s  �r�20<listcomp>z&MixConv2d.__init__.<locals>.<listcomp>4s%���8�8�8�Q�1��6�,�,�.�.�8�8�8rr	�����)r)�axisr,)�rcondc21���g|]>}tj�t�|���|��|dzd�����?S)r,F)�bias)r1�Conv2dr)rCrrrrrs  ����rrDz&MixConv2d.__init__.<locals>.<listcomp>=sH���q�q�q�^_��	�"�c�"�Q�%�j�j�!�A�$��1�Q�4�1�9�SX� Y� Y� Y�q�q�qrg�������?T)�inplace)r
r=r�lenr3�linspace�floorr/�np�eye�roll�array�linalg�lstsq�roundr1�22ModuleList�m�BatchNorm2d�bn�	LeakyReLU�act)rrrrr�equal_ch�groups�b�arr:rs ` ``    @@�rrzMixConv2d.__init__/sp��������
�i����'�'�)�)�)��Q�����		>���q�&�4�-��4�4�:�:�<�<�A�8�8�8�8�%��-�-�8�8�8�B�B����s�V�|�#�A���v��z�6�R�0�0�0�A�
����A�A�&�&�&�&�A�
���!����!�!�A��A�a�D������A�T��2�2�1�5�;�;�=�=�B���q�q�q�q�q�q�q�ch�io�cp�cp�q�q�q�r�r����.��$�$����<��T�2�2�2����rc	����|�|�tj�fd�|jD��d������zS)Nc�&��g|]
}|�����SrArA)rCrWr!s  �rrDz%MixConv2d.forward.<locals>.<listcomp>Bs!���.D�.D�.D��q�q��t�t�.D�.D�.Drr	)r[rYr3�catrWr s `rr"zMixConv2d.forwardAsI����4�8�8�D�G�G�E�I�.D�.D�.D�.D�T�V�.D�.D�.D�a�$H�$H�I�I�J�J�J�Jr)r>r	Tr#r(s@rr=r=-sS�������3�3�3�3�3�3�$K�K�K�K�K�K�Krr=c�&��eZdZ�fd�Zdd�Z�xZS)�Ensemblec�V��tt|�����dSr)r
rdr)rrs �rrzEnsemble.__init__Gs%���
�h����&�&�(�(�(�(�(rFc��g}|D]'}|�|||��d���(tj|d��}|dfS)Nrr	)�appendr3rb)rr!�augmentr9�modules     rr"zEnsemble.forwardJsV�����	,�	,�F�
�H�H�V�V�A�w�'�'��*�+�+�+�+�
�I�a��O�O���$�w�rr;r#r(s@rrdrdEsL�������)�)�)�)�)��������rrdc��eZdZdZeejdg��ejdg��ejdg��fd���Zed���ZdS)�ORT_NMSzONNX-Runtime NMS operation�d��������?��?c�Z�|j}|jd}tjdd��}t	jd||f�����d�|��}	t	jdd|z���|��}23t	j|ftj	����|��}t	j24|	d|d|25dgd��j���}|�tj	��}|S)Nrrl��dtype)
�device�shape�random�randintr3�sort�tor4�zeros�int64rb�T�26contiguous)
�ctx�boxes�scores�max_output_boxes_per_class�
iou_threshold�score_thresholdrr�batch�num_det�batches�idxsrx�selected_indicess
             rr"zORT_NMS.forwardYs��������Q����.��C�(�(���-��5�7�*�5�5�:�:�<�<�Q�?�B�B�6�J�J���|�C��w��/�/�2�2�6�:�:����W�J�e�k�:�:�:�=�=�f�E�E�� �9�g�d�m�U�4�[�$�t�*�%M�q�Q�Q�S�^�^�`�`��+�.�.�u�{�;�;���rc�6�|�d|||||��S)N�NonMaxSuppression��op)rr}r~rr�r�s      r�symboliczORT_NMS.symbolicjs"���t�t�'���8R�Ta�cr�s�s�srN)	r$r%r&�__doc__�staticmethodr3�tensorr"r�rArrrkrkWs�������$�$��,8�5�<���+>�+>�*�e�l�D�6�2�2� ,���d�V� 4� 4� � � ��\� � �t�t��\�t�t�trrkc�^�eZdZdZe							dd	���Ze							dd27���ZdS)
�TRT_NMSzTensorRT NMS operationrEr	rmrl�1rrnc28�29�|j\}30}}tjd||31dftj���}
tj|32|d��}tj|33|��}tjd||34|ftj���}|
|||fS)Nrr	rp�)rsr3ru�int32�randn)r|r}r~�background_class�35box_codingr��max_output_boxes�plugin_version�score_activationr��36batch_size�	num_boxes�num_classesr��	det_boxes�37det_scores�det_classess                 rr"zTRT_NMS.forwardqs���.4�\�*�38�I�{��-��#3�j�!�_�E�K�X�X�X���K�39�,<�a�@�@�	��[��-=�>�>�40��m�A�{�Z�AQ�4R�Z_�Ze�f�f�f���	�:�{�:�:rc41
�\�|�d|||||||||	d���}42|43\}}}}||||fS)NzTRT::EfficientNMS_TRTr�)�background_class_i�box_coding_i�iou_threshold_f�max_output_boxes_i�plugin_version_s�score_activation_i�score_threshold_f�outputsr�)
rr}r~r�r�r�r�r�r�r��out�nums�classess
             rr�zTRT_NMS.symbolic�s\���d�d�*���&6� *�#0�&6�$2�&6�%4���44�45��(+�$��e�V�W��U�F�G�+�+rN)rEr	rmrlr�rrn)r$r%r&r�r�r"r�rArrr�r�os������� � ��46�������;�;�;��\�;�&�#%��#�"%� #�"#�!%�,�,�,��\�,�,�,rr�c�*��eZdZdZd47�fd�	Zd	�Z�xZS)�ONNX_ORTz,onnx module with ONNX-Runtime NMS operation.rlrmrn�N�Pc���t�����|r|ntjd��|_tj|g���|��|_tj|g���|��|_tj|g���|��|_||_	tjgd�gd�gd�gd�gtj48|j���|_||_dS)N�cpu)r	rr	r)rr	rr	)��r��?r)rr�rr�)rqrr)
r
rr3rrr�rw�max_objr�r��max_wh�float32�convert_matrix�	n_classes�rr��	iou_thres�score_thresr�rrr�rs       �rrzONNX_ORT.__init__�s����
�������� &�?�f�f�E�L��,?�,?����|�W�I�.�.�1�1�&�9�9���"�\�9�+�6�6�9�9�&�A�A���$�|�[�M�:�:�=�=�f�E�E������#�l�L�L�L�,�,�,�HY�HY�HY�[l�[l�[l�+m�16��26�+�?�?�?���!����rc���|dd�dd�dd�f}|dd�dd�dd�f}|dd�dd�dd�f}|jdkr|}n||z}||jz}|�dd���\}}|���|jz}||z}|�dd�����}	t�||	|j	|j49|j��}50|51dd�df|52dd�df}}|||dd�f}
|||dd�f���}|||dd�f}|�d�����}tj||
||gd��S)Nr��r	r,T)�keepdimr)r�r��max�floatr��	transposer{rk�applyr�r�r��	unsqueezer3rb)rr!r}�confr~�	max_score�category_id�dis�nmsbox�max_score_tpr��X�Y�selected_boxes�selected_categories�selected_scoress                rr"zONNX_ORT.forward�s����!�!�!�Q�Q�Q����(�������A�A�A�q��s��|���1�1�1�a�a�a����8����>�Q����F�F�
�d�N�F�
��$�$��!'���A�t��!<�!<��	�;����!�!�D�K�/������ �*�*�1�a�0�0�;�;�=�=��"�=�=���t�|�T�M_�ae�au�v�v������1��%�'7����1��'=�1���q�!�Q�Q�Q�w���)�!�Q����'�2�8�8�:�:��#�A�q�!�!�!�G�,��
�K�K��N�N� � �"�"���y�!�^�-@�/�R�TU�V�V�Vr)rlrmrnr�Nr��r$r%r&r�rr"r'r(s@rr�r��sY�������6�6�53!�54!�55!�56!�57!�58!�W�W�W�W�W�W�Wrr�c�*��eZdZdZd	�fd�	Zd�Z�xZS)59�ONNX_TRTz(onnx module with TensorRT NMS operation.rlrmrnNr�c����t�����|�J�|r|ntjd��|_d|_d|_||_||_d|_d|_	||_60||_dS)Nr�)rE)r	r�r)r
rr3rrr�r�r�r�r�r�r�r�r�s       �rrzONNX_TRT.__init__�s}���
���������~�~�~� &�?�f�f�E�L��,?�,?��� #������&������!��� !���*��� ����rc�.�|dd�dd�dd�f}|dd�dd�dd�f}|dd�dd�dd�f}|jdkr|}n||z}t�|||j|j|j|j|j|j|j	�	�	\}}}}||||fS)Nr�r�r	)61r�r�r�r�r�r�r�r�r�r�)	rr!r}r�r~r�r�r�r�s	         rr"zONNX_TRT.forward�s����!�!�!�Q�Q�Q����(�������A�A�A�q��s��|���1�1�1�a�a�a����8����>�Q����F�F�
�d�N�F�6=�m�m�E�6�SW�Sh�jn�jy�DH�DV�X\�Xd�DH�DW�Y]�Yn�DH�DX�7Z�7Z�3���J���	�:�{�:�:r�rlrmrnNNr�r�r(s@rr�r��sR�������2�2�!�!�!�!�!�!�
;�
;�
;�
;�
;�
;�
;rr�c�*��eZdZdZd	�fd�	Zd�Z�xZS)62�End2Endz1export onnx or tensorrt model with NMS operation.rlrmrnNr�c���t�����|r|ntjd��}t	|t63��s|�J�|�|��|_d|jjd_|�tnt|_|�||||||��|_|j���dS)Nr�TrE)
r
rr3rr�64isinstancerrw�model�end2endr�r��patch_model�eval)	rr�r�r�r�r�rrr�rs	        �rrzEnd2End.__init__�s����
��������!�:���u�|�E�':�':���&�#�'�'�9�6�>�>�9��X�X�f�%�%��65�'+��66����$�'-�~�8�8�8����'�'���K��QW�Yb�c�c�����������rc�Z�|�|��}|�|��}|Sr)r�r�r s  rr"zEnd2End.forward�s%���J�J�q�M�M���L�L��O�O���rr�r�r(s@rr�r��sR�������;�;�������������rr�c	��t��}t|t��r|n|gD]�}t|��t	j||���}|�||�d��rdnd����	���67������|���D]�}t|��tjtjtjtjtjfvrd|_�Rt|��tjurd|_�ut|��t,urt/��|_��t3|��dkr|dSt5d|z��dD]'}t7||t9|d|�����(|S)	N)�map_location�emar�Tr	rEzEnsemble created with %s68)�names�stride)rdr��listrr3�loadrg�getr��fuser��modules�typer1�	HardswishrZ�ReLU�ReLU6�SiLUrK�Upsample�recompute_scale_factorr�set�_non_persistent_buffers_setrL�print�setattr�getattr)�weightsr�r�r5�ckptrWrs       r�attempt_loadr��s����J�J�E�"�7�D�1�1�
@�W�W��y�X�X��������z�!�,�7�7�7��
���T�4�8�8�E�?�?�?�%�%��@�F�F�H�H�M�M�O�O�T�T�V�V�W�W�W�W��]�]�_�_�2�2����7�7�r�|�R�\�2�7�B�H�b�g�N�N�N��A�I�I�
�!�W�W���
#�
#�'+�A�$�$�
�!�W�W��_�_�,/�E�E�A�)��69�5�z�z�Q����R�y��
�*�W�4�5�5�5�$�	5�	5�A��E�1�g�e�B�i��3�3�4�4�4�4��rr)�numpyrOrtr3�torch.nnr1�
models.commonrr�utils.google_utilsr�Modulerr*r=rVrd�autograd�Functionrkr�r�r�r�r�rArr�<module>r�s1������
�
�
�
�����������&�&�&�&�&�&�&�&�/�/�/�/�/�/�P�P�P�P�P��	�P�P�P������"�)����*K�K�K�K�K��	�K�K�K�0�����r�}����$t�t�t�t�t�e�n�%�t�t�t�0-,�-,�-,�-,�-,�e�n�%�-,�-,�-,�`"W�"W�"W�"W�"W�r�y�"W�"W�"W�H;�;�;�;�;�r�y�;�;�;�>�����b�i����*�����r