CoolFace
Apppublic

Linhz/ViMNer

sourceHugging Faceupdated 2y agoView on Hugging Face
1likes
predict.cpython-39.pyc80 linesDownload Raw Back to __pycache__
1a

2��df�.�@s�ddlZddlZddlZe�e�ZddlmZddlm	Z	Gdd�de3�ZGdd�de4�Zdd	�Z
Gd5d�de6�ZGdd
�d
e�Zdd�Zdd�Zdd�Zdd�ZdS)�N)�7transforms)�Imagec@seZdZdZddd�ZdS)�SBInputExamplezBA single training/test example for simple sequence classification.NcCs||_||_||_||_dS)a Constructs a InputExample.8 9        Args:10            guid: Unique id for the example.11            text_a: string. The untokenized text of the first sequence. For single12            sequence tasks, only this sequence must be specified.13            text_b: (Optional) string. The untokenized text of the second sequence.14            Only must be specified for sequence pair tasks.15            label: (Optional) string. The label of the example. This should be16            specified for train and dev examples, but not for test examples.17        N��guid�text_a�text_b�img_id)�selfrrrr	�label�auxlabel�r
�:E:\demo_datn\pythonProject1\Model\MultimodelNER\predict.py�__init__
szSBInputExample.__init__)NN��__name__�18__module__�__qualname__�__doc__rr
r
r
rr19src@seZdZdZdd�ZdS)�SBInputFeaturesz A single set of features of datacCs"||_||_||_||_||_dS)N��	input_ids�20input_mask�added_input_mask�segment_ids�img_feat)r21rrrrrr
r
rr$s22zSBInputFeatures.__init__Nrr
r
r
rr!srcCstd|�t|dd���}g}g}g}d}|D]t}|��}|�d�rV|�d�dd}q,|dkr�t|�dkr,|�|�|�|�g}d}q,|�d	�d}|�|�q,t|�dkr�|�|�|�|�Wd23�n1s�0Ytdtt|���tdtt|���||fS)
uv24    Đọc dữ liệu từ tệp và trả về dưới dạng danh sách các từ và danh sách hình ảnh.25    uChuẩn bị dữ liệu từ�utf8)�encoding�zIMGID:�z.jpgr�	NuSố lượng mẫu: uSố lượng hình ảnh: )�print�open�strip�26startswith�split�len�append�str)�filename�f�data�imgs�sentence�imgid�line�wordr
r
r�27sbreadfile,s42829303132(r1c@s6eZdZdZdd�Zdd�Zdd�Zedd	d33��ZdS)�
DataProcessorzEBase class for data converters for sequence classification data sets.cCs34t��dS)z7Gets a collection of `InputExample`s for the train set.N��NotImplementedError�r35�data_dirr
r
r�get_train_examplesQsz DataProcessor.get_train_examplescCs36t��dS)z5Gets a collection of `InputExample`s for the dev set.Nr3r5r
r
r�get_dev_examplesUszDataProcessor.get_dev_examplescCs37t��dS)z*Gets the list of labels for this data set.Nr3�r38r
r
r�39get_labelsYszDataProcessor.get_labelsNcCst|�S)z!Reads a tab separated value file.)r1)�cls�40input_file�	quotecharr
r
r�_read_sbtsv]szDataProcessor._read_sbtsv)N)	rrrrr7r8r:�classmethodr>r
r
r
rr2Nsr2c@sPeZdZdZdd�Zdd�Zdd�Zdd	�Zd41d�Zdd
�Z	dd�Z42dd�ZdS)�
MNERProcessorz&Processor for the CoNLL-2003 data set.cCs&|�tj�|d��\}}|�||d�S)�See base class.z	train.txt�train�r>�os�path�join�_create_examples�r43r6r+r,r
r
rr7fsz MNERProcessor.get_train_examplescCs&|�tj�|d��\}}|�||d�S)rAzdev.txt�devrCrHr
r
rr8kszMNERProcessor.get_dev_examplescCs&|�tj�|d��\}}|�||d�S�rAztest.txt�testrCrHr
r
r�get_test_examplespszMNERProcessor.get_test_examplescCsgd�S)N)zI-LOCzB-MISCzI-PERzI-ORGzB-LOCzI-MISCzB-ORG�OzB-PER�X�<s>�</s>r
r9r
r
rr:usXzMNERProcessor.get_labelscCsgd�S)N)rM�B�IrNrOrPr
r9r
r
r�
get_auxlabels�szMNERProcessor.get_auxlabelscCs$|��}dd�t|d�D�}|dS)NcSsi|]\}}||�qSr
r
��.0�irr
r
r�44<dictcomp>��z4MNERProcessor.get_start_label_id.<locals>.<dictcomp>rrO�r:�	enumerate�r45�46label_list�	label_mapr
r
r�get_start_label_id�sz MNERProcessor.get_start_label_idcCs$|��}dd�t|d�D�}|dS)NcSsi|]\}}||�qSr
r
rTr
r
rrW�rXz3MNERProcessor.get_stop_label_id.<locals>.<dictcomp>rrPrYr[r
r
r�get_stop_label_id�szMNERProcessor.get_stop_label_idc	CsRg}t|�D]@\}}d||f}d�|�}d}	||}47|�t|||	|48d��q|S�Nz%s-%s� r�rZrFr'r)r49�linesr,�set_type�examplesrVr-rrrr	r
r
rrG�s50�zMNERProcessor._create_examplesN)rrrrr7r8rLr:rSr^r_rGr
r
r
rr@cssr@c51	CsRg}t|�D]@\}}d||f}d�|�}d}||}	|�t||||	d��q|Sr`rb)52rcr,rdrerVr-rrrr	r
r
r�create_exampless53�rfcCs"ttj�|d��\}}t||d�SrJ)r1rDrErFrf)r6r+r,r
r
r�get_test_examples_predict
srgcCst�|��d�}||�}|S)N�RGB)rr"�convert)�54image_path�	transform�imager
r
r�
image_processsrmc55Cs�g}d}t�t�ddg�t�|�t��t��t�dd�g�}t|�D�]r\}}	|	j�	d�}56g}t|57�D]\}}
|�58|
�}|�|�qft|�|dkr�|d|d�}g}g}|�
d�|�
d�t|�D]\}}|�
|�|�
d�q�|�
d	�|�
d�|�|�}dgt|�}dgt|�d59}t|�|k�r^|�
d�|�
d�|�
d�|�
d��q$t|�|k�spJ�t|�|k�s�J�t|�|k�s�J�|	j}tj�||�}tj�|��s�d|v�r�t|�zt||�}Wn,|d7}tj�|d�}t||�}YqD0|dk�r�t�d
�t�d|	j�t�dd�dd�|D���t�dd�dd�|D���t�dd�dd�|D���t�dd�dd�|D���|�
t|||||d��qDtdt|��|S)Nr�)g60ףp=61�?g�v��/�?g�C�l���?)gZd;�O�?gy�&1��?g�������?rar�rOrP�1�NaNzbackground.jpgz*** Example ***zguid: %sz62tokens: %scSsg|]}t|��qSr
�r(�rU�xr
r
r�63<listcomp>WrXz;convert_mm_examples_to_features_predict.<locals>.<listcomp>z
input_ids: %scSsg|]}t|��qSr
rrrsr
r
rruXrXzinput_mask: %scSsg|]}t|��qSr
rrrsr
r
rruYrXzsegment_ids: %scSsg|]}t|��qSr
rrrsr
r
rru[rXrz#the number of problematic samples: )r�Compose�Resize�64RandomCrop�RandomHorizontalFlip�ToTensor�	NormalizerZrr%�tokenize�extendr&r'�convert_tokens_to_idsr	rDrErF�existsr!rm�logger�inforrr()re�max_seq_length�	tokenizer�	crop_size�path_img�features�countrk�ex_index�example�textlist�tokensrVr0�token�ntokensrrrr�65image_namerjrl�image_path_failr
r
r�'convert_mm_examples_to_features_predicts���6667686970717273747576777879����r�)�torch�loggingrD�	getLoggerrr��torchvisionr�PILr�objectrrr1r2r@rfrgrmr�r
r
r
r�<module>s80"