o
    i                     @   s^   d dl Z d dlZd dlmZ d dlmZ d dlmZ G dd de jZe	dkr-e 
  dS dS )    N)parameterized)create_model_and_input_data)get_available_devicesc                   @   sf   e Zd Zedd e D dd Zedd e D dd Zedd e D d	d
 ZdS )
TestModelsc                 C      g | ]}|fqS  r   .0devicer   r   P/home/ubuntu/.local/lib/python3.10/site-packages/test/test_model_architecture.py
<listcomp>       zTestModels.<listcomp>c                 C   L   |dkrt j s| d tdddd|d\}}||}| |jd d S )	NcudaCUDA not availablelinear
   @       r
   r   r   torchr   is_availableskipTestr   assertEqualshapeselfr
   model
input_dataoutputr   r   r   test_toy_linear_model      


z TestModels.test_toy_linear_modelc                 C   r   r   r   r   r   r   r   r      r   c                 C   r   )	Nr   r   ln_linear_sigmoidr   r   r   r   r   r   r   r   r   r   test_ln_linear_activation_model   r#   z*TestModels.test_ln_linear_activation_modelc                 C   r   r   r   r   r   r   r   r   )   r   c                 C   r   )	Nr   r   transformer_blockr   r   r   r   )r      r   r   r   r   r   r   test_transformer_block)   r#   z!TestModels.test_transformer_blockN)	__name__
__module____qualname__r   expandr   r"   r%   r(   r   r   r   r   r      s    

r   __main__)unittestr   r   #torchao.testing.model_architecturesr   torchao.utilsr   TestCaser   r)   mainr   r   r   r   <module>   s   &