CoolFace
Apppublic

lyzq/malicious-url-app

sourceHugging Faceupdated 6mo agoView on Hugging Face
0likes
deep_model.cpython-314.pyc84 linesDownload Raw Back to __pycache__
1+
23�iA����^RIHt^RIHt^RIHt^RIt^RIt^RI	H3t4Ht^RIH
t
^RIHt^RIHtHt^R	IHt!R5R]P(4t!RR
]6]4tR#)�)�annotations)�Counter)�deepcopyN)�
BaseEstimator�ClassifierMixin)�train_test_split)�nn)�7DataLoader�
TensorDataset)�RANDOM_STATEc�:a�]tRt^tRV3RlltRRltRtV;t#)�CharCNNc8�,�V^8�dQhRRRRRRRRRR/#)	��9vocab_size�int�
embedding_dim�channels�dropout�float�return�None�)�formats"�src\deep_model.py�__annotate__�CharCNN.__annotate__s1��10�11�3�12�s�13�c�14�TY�15�^b�16�c		�,<�\SV`4\P!W^R7Vn\P17!W#^^R7Vn\P18!W#^^R7Vn\P!4Vn	\P!V4Vn\P!\P!V^,V4\P!4\P!V4\P!V^44VnR#)r)�padding_idx)�kernel_size�paddingN)�super�__init__r	�	Embedding�	embedding�Conv1d�conv3�conv5�ReLU�19activation�Dropoutr�20Sequential�Linear�21classifier)�selfrrrr�	__class__s&&&&&�rr$�CharCNN.__init__s����
�������j�Q�O����Y�Y�}�A�q�Q��22��Y�Y�}�A�q�Q��23��'�'�)����z�z�'�*����-�-��I�I�h��l�H�-��G�G�I��J�J�w���I�I�h��"�	24��rc� �V^8�dQhRRRR/#)r�inputsztorch.Tensorrr)rs"rrrs��4�4�l�4�|�4rc	��VPV4P^^4pVPVPV44pVPVP	V44p\25P!V^R7p\26P!V^R7pVP\27P!WV.^R74pVPV4P^4#)�)�dim)r&�	transposer+r(r)�torch�amaxr�catr/�squeeze)r0r4�embeddedr(r)�pooled3�pooled5�featuress&&      r�forward�CharCNN.forwards����>�>�&�)�3�3�A�q�9������28�29�8� 4�5������30�31�8� 4�5���*�*�U��*���*�*�U��*���<�<��	�	�7�*<�!� D�E�����x�(�0�0��3�3r)r+r/r(r)rr&)�__name__�32__module__�__qualname__�__firstlineno__r$rA�__static_attributes__�
__classcell__)r1s@rrrs���33�34�4�4rrc�h�]tRt^)tRRRlltRRltRRltRRltR	tR35t	Rt36RtR
tRt
R#)�CharCNNURLClassifierc�@�V^8�dQhRRRRRRRRRRRRR	RR37RRRRR
/38#)r�39max_lengthr�max_vocab_sizerrrr�40batch_size�epochs�
learning_rate�validation_sizerrr)rs"rr�!CharCNNURLClassifier.__annotate__*sn��/�/��/��/��	/�41�/��
/��/��/��/��/�42�/rc43	�r�WnW nW0nW@nWPnW`nWpnW�nW�nR#)N)	rLrMrrrrNrOrPrQ)44r0rLrMrrrrNrOrPrQs45&&&&&&&&&&rr$�CharCNNURLClassifier.__init__*s5��%��,��*�� �
���$����*��.�rc� �V^8�dQhRRRR/#)r�urls�	list[str]rzdict[str, int]r)rs"rrrR@s������~�rc	��\4pVF!pVPVRVP4K#	VPVP^,464UUu.uFwrEVNK		pppR^R^/p\V^R7F	wr�W�V&K	V#uuppi)Nz<pad>z<unk>)�start)r�updaterL�most_commonrM�	enumerate)	r0rV�counter�url�char�_r[�vocab�idxs	&&       r�_build_vocab�!CharCNNURLClassifier._build_vocab@s����)���C��N�N�3�0����1�2��+2�+>�+>�t�?R�?R�UV�?V�+W�X�+W���t�+W��X��!�W�a�(��"�;�a�8�I�C��$�K�9����	Ys�
B	c� �V^8�dQhRRRR/#)rrVrWrz47np.ndarrayr)rs"rrrRJs������z�rc	�&�\P!\V4VP3\PR7p\V4FFwr4\VRVP4F%wrVVPPV^4W#V3&K'	KH	V#)��dtypeN)�np�zeros�lenrL�int64r\�vocab_�get)r0rV�encoded�row_idxr^�col_idxr_s&&     r�_encode_urls�!CharCNNURLClassifier._encode_urlsJst���(�(�C��I�t���7�r�x�x�H��%�d�O�L�G�!*�3�/@����+A�!B�
��,0�K�K�O�O�D�!�,D���(�)�"C�,��rc��V^8�dQhRR/#)rrrr)rs"rrrRQs��48�49�g�50rc	��\\VP4VPVPVP51R7#))rrrr)rrkrmrrr)r0s&r�_build_model�!CharCNNURLClassifier._build_modelQs2����4�;�;�'��,�,��]�]��L�L�	52�	53rc	��VUu.uFp\V4NK	pp\P!V\PR7pVP	V4Vn\P!^^.4VnVPV4p\VVVPV\R7wrxr�\PP4'dRMRVnVP!4P#VP4Vn\'\P(!V\P*R7\P(!V	\PR74p\'\P(!V\P*R7\P(!V54\PR74p\-W�P.RR7p
\-W�P.RR7p\1V	P344p\1\5V	4V,554p\P(!V\7VR4,.VPR7p\8P:!VR	7p\P<P?VP$PA4VPBR567p\EVP$PG44p\1R4p.Vn$\KVPL4EF%pVP$PO4RpV
F�wppVP#VP4pVP#VP4pVPQ4VP%V4pV!VV4pVPS4VPU4VVPW4\5V4,,
pK�	VP$PY4Rp\PZ!4;_uu_4VF}wppVP#VP4pVP#VP4pVP%V4pV!VV4pVVPW4\5V4,,
pK	R
R
R
4V\5V4,pV\5V4,pVPHP]RV^,R\1V4R\1V4/4VV8gEKTp\EVP$PG44pEK(	VP$P_V4VP$P#R4RVnVP$PY4\1V4Vn0V#uupi +'giEL;i)rg)�	test_size�stratify�random_state�cuda�cpuT�rN�shuffleF��?)�device)�57pos_weight)�lr�infgN�epoch�58train_loss�val_loss)1�strri�asarray�float32rcrm�array�classes_rrrrQrr9r|�is_available�device_rv�to�model_r�tensor�longr59rNr�sumrk�maxr	�BCEWithLogitsLoss�optim�AdamW�60parametersrPr�61state_dict�history_�rangerO�train�	zero_grad�backward�step�item�eval�no_grad�append�load_state_dict�best_val_loss_)r0�X�yr�rV�labelsro�X_train�X_val�y_train�y_val�
train_dataset�val_dataset�train_loader�62val_loader�positive_count�negative_countr��	criterion�	optimizer�63best_state�
best_val_lossr�r��batch_inputs�
batch_targets�logits�lossr��avg_train_loss�avg_val_losss&&&                            r�fit�CharCNNURLClassifier.fitYs	��&'�(�a�d��D�	�a��(����A�R�Z�Z�0���'�'��-������!�Q��(��
��#�#�D�)��)9����*�*��%�*64�&���"'���!8�!8�!:�!:�v�����'�'�)�,�,�T�\�\�:���%��L�L���65�66�3��L�L���
�
�6�67�
�$��L�L��e�j�j�1��L�L��e�m�m�4�68��69"�-�O�O�UY�Z������QV�W�70��w�{�{�}�-���s�7�|�n�<�=���\�\�>�C���4L�#L�"M�VZ�Vb�Vb�c�71��(�(�J�?�	��K�K�%�%�d�k�k�&<�&<�&>�4�CU�CU�%�V�	��d�k�k�4�4�6�7�72��e��
���
��4�;�;�'�E��K�K�����J�/;�+��m�+���t�|�|�<�� -� 0� 0���� >�
��#�#�%����\�2�� ���7���
�
����� ��d�i�i�k�C�
�,>�>�>�73�0<�
�K�K�����H������3=�/�L�-�#/�?�?�4�<�<�#@�L�$1�$4�$4�T�\�\�$B�M�!�[�[��6�F�$�V�]�;�D���	�	��c�-�.@� @�@�H�4>�!�(�#�m�*<�<�N�#�c�+�&6�6�L��M�M� � ��%�!�)�\�5��3H�*�V[�\h�Vi�j�
��m�+� ,�
�%�d�k�k�&<�&<�&>�?�74�=(�@	
���#�#�J�/������u�����������#�M�2������[)�n!���s�U6�/BU;�;Vc	���VUu.uFp\V4NK	ppVPV4p\\P!V\P75R74p\
WPPRR7pVPP4.p\P!4;_uu_4VFYwpVPV4p	\P!V	4P4P4p76VPV774K[	RRR4\P !V4p\P"!RV,78V.4#uupi +'giLJ;i)rgFr~Nr�)r�rrrr9r�r�r79rNr�r�r��sigmoidr}�numpyr�ri�concatenate�column_stack)r0r�r�rVro�dataset�loader�scoresr�r��probs�positive_probss&&          r�
predict_proba�"CharCNNURLClassifier.predict_proba�s���&'�(�a�d��D�	�a��(��#�#�D�)������W�E�J�J� G�H���G����O��������#%��
�]�]�_�_�#)������\�2���
�
�f�-�1�1�3�9�9�;���
�
�e�$�$*��80����/������n� 4�n�E�F�F��)��_�s�E�+A E
�
E	c	�^�VPV4R,R8�P\4#)�NNNg�?)r�r6)r��astyper)r0r�s&&r�predict�CharCNNURLClassifier.predict�s(���"�"�1�%�d�+�s�2�:�:�3�?�?rc	���VPP4pRV9dQVPP4P	4UUu/uFwr#W#P4bK	uppVR&VRV#uuppi)r��model_state_dict_)�__dict__�copyr�r��itemsr})r0�state�key�values&   r�__getstate__�!CharCNNURLClassifier.__getstate__�sk���
�
�"�"�$���u��MQ�[�[�Mc�Mc�Me�Mk�Mk�Mm�)n�Mm�z�s�#�y�y�{�*:�Mm�)n�E�%�&��h�����*os�
A4c	�8�VPPV4RV9dxRV9doVP4VnVPP	VR,4VPPR4VPP
4R#R#R#)r�rmr}N)r�rZrvr�r�r�r�)r0r�s&&r�__setstate__�!CharCNNURLClassifier.__setstate__�ss���
�
���U�#��%�'�H��,=��+�+�-�D�K��K�K�'�'��.A�(B�C��K�K�N�N�5�!��K�K����	->�'r)rNr�rr�r�rrrOr�rPrLrMr�rQrmN)	���� �@g�?i�g����MbP?g�������?)rCrDrErFr$rcrrrvr�r�r�r�r�rGrrrrJrJ)s3��/�,��81�N�`G� @��rrJ)�82__future__r�collectionsrr�rr�rir9�sklearn.baserr�sklearn.model_selectionrr	�torch.utils.datar83r�84src.configr�ModulerrJrrr�<module>r�sC��"�����7�4��6�#�4�b�i�i�4�2`�=�/�`r