MfB.ddlZddlZddlZddlZddlmZddlZddlmZmZm Z m Z ddl m Z m Z ddlmZddlmZddlmZmZmZddlmZddlZd Zd Zd Zed kr6ejZed e dede dede dede dede dede dede!dede!dede"dedd ed!d e#Z$ee$dSdS)"N)tqdm)IMAGE_TOKEN_INDEXDEFAULT_IMAGE_TOKENDEFAULT_IM_START_TOKENDEFAULT_IM_END_TOKEN)conv_templatesSeparatorStyle)load_pretrained_model)disable_torch_init)tokenizer_image_tokenprocess_imagesget_model_name_from_path)Imagectjt|z fdtdtDS)z0Split a list into n (roughly) equal-sized chunksc*g|]}||zSr).0i chunk_sizelsts a/opt/hpcaas/.mounts/fs-036153e63d56f4dc2/home/jiuhai/llama3-mlp3x/llava/eval/model_vqa_science.py zsplit_list..s& H H HAC!J,  H H Hr)mathceillenrange)rnrs` @r split_listrsL3s88a<((J H H H H Hq#c((J)G)G H H HHrc2t||}||S)N)r)rrkchunkss r get_chunkr#s Q  F !9rc ttj|j}t |}t ||j|d\}}}}tj ttj|j d}t||j |j}tj|j}tjtj|dt|d} t%t'|D]\} } | d} | dd } | d d d }|}d | vr| d }t-j tj|j|}t3|g||jd }|d }|jg}t?|jddrt@tBztDzdz|z}n tBdz|z}d|z}nd}d}|j#r|dzdz}|dzdz}tH|j%&}|'|j(d ||'|j(dd|)}tU||tVdd }tYj-5|.||||j/d krdnd|j/dgdd}dddn #1swxYwY|0|dd }tcj2}| 3tj4| ||dd ||iddz| 5| 6dS)Nzcuda:0) device_maprT)exist_okwid conversationsrvaluezimagemm_use_im_start_endF z z@Answer with the option's letter from the given choices directly.pt)return_tensorsi})images image_sizes do_sample temperature eos_token_idmax_new_tokens use_cache)skip_special_tokensz <|end|>) question_idprompttext answer_idmodel_idmetadata)7r ospath expanduser model_pathrr model_basejsonloadopen question_filer# num_chunks chunk_idx answers_filemakedirsdirname enumeraterreplacestriprjoin image_folderr config unsqueezehalfcudasizegetattrrrrsingle_pred_promptr conv_modecopyappend_messageroles get_promptr rtorchinference_modegenerater7 batch_decode shortuuiduuidwritedumpsflushclose)argsrE model_name tokenizermodelimage_processor context_len questionsrMans_filerlineidxquestionqs cur_prompt image_filer- image_tensorr4r5convr= input_ids output_idsoutputsans_ids r eval_modelrsR##DO44J)*55J5J:W[Wfhr@H6I6I6I2Iuo{ $rw11$2DEEsKKLLI)T_dnEEI7%%d&788LK --====L#&&HT)__--5544j(+ g  & &y" 5 5 ; ; = = d??gJJrw||D,=zJJKKE)5'?ELQQRSTL!++A..3355::<rs pppppppppppp========555555******ZZZZZZZZZZ III  BBBH z $X $ & &F S:MNNN S$??? (sB??? )=STTT (sNKKK  CDDD S!<<<  C;;; eSAAA +LAAA .|DDD     DJtr