o
    wi                     @   sr   d dl Z d dlmZ d dlmZmZ d dlZd dlmZ dZ	dZ
e Zdd e_ejd	ejjdddZdS )    N)Path)	MagicMockpatch)llmz-/home/TestData/nlp/megatron_llama/llama-ci-hfz/tmp/imported_nemo2c                 C   s   |     S )N)detachcpunumpy)torch_tensor r
   \/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/tests/export/test_model_loading.py<lambda>   s    r   GPUreturnc                  C   s   t jt jd} t j| dt ttd}| sJ |d  s!J |d  s)J td}|jddd |d	 }|d
 }t	
dttd ddlm} |||d |||d W d   n1 sbw   Y  tjtdd dS )z>
    Test if model loading works for tensorrt_llm export.
    )configzhf://)output_pathweightscontextz/tmp/trtllm_exported_modelT)parentsexist_okmcore_exportlocal_exportzsys.modules)tensorrt_llmztensorrt_llm._utilsr   )load_nemo_modelFN)ignore_errors)r   
LlamaModelLlama2Config7Bimport_ckptHF_PATHr   OUTPUT_PATHexistsmkdirr   dictdummy_module.nemo.export.trt_llm.nemo_ckpt_loader.nemo_filer   shutilrmtree)model	nemo_pathexport_pathexport_path_mcoreexport_path_localr   r
   r
   r   test_model_loading   s(   r+   )r   N)r$   pathlibr   unittest.mockr   r   pytestnemo.collectionsr   r   r   r"   torch_to_numpymarkrun_only_onunitr+   r
   r
   r
   r   <module>   s   

