a
    ==icØ  ã                   @   s´   d dl Zd dlm  m  mZ d dlmZ d dl	m
Z
mZ d dlm  mZ d dlm  m  mZ G dd„ dejƒZedkr°d dlZd dlZe d¡ e g d¢¡ e ¡  dS )é    N)ÚgivenÚsettingsc                   @   sH   e Zd Zef de ¡ iej¤Žeddddd„ ƒƒZ	dd„ Z
d	d
„ ZdS )ÚResnetMemongerTestÚwith_shapesé   N)Zmax_examplesÚdeadlinec                 C   sp   t  |tjdd¡}|  |d d |d d k ¡ tj |d d |d d ¡ tj |d d |d d ¡ d S )Nzgpu_0/conv1_wúgpu_0/last_out_L1000r   é   r   )ÚutilsZtest_shared_gradsÚresnetÚcreate_resnet50Ú
assertTrueÚnpÚtestingÚassert_almost_equal)Úselfr   ÚgcZdcÚresults© r   úq/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/caffe2/python/models/resnet_test.pyÚtest_resnet_shared_grads   s    üz+ResnetMemongerTest.test_resnet_shared_gradsc                 C   sl   t  tjd¡}|  |d d |d d k ¡ |  |d dk oF|d dk¡ tj |d d |d d ¡ d S )Nr   r   r	   é   r   )r
   Ztest_forward_onlyr   r   r   r   r   r   ©r   r   r   r   r   Útest_resnet_forward_only   s    þz+ResnetMemongerTest.test_resnet_forward_onlyc                 C   sl   t  tjd¡}|  |d d |d d k ¡ |  |d dk oF|d dk¡ tj |d d |d d ¡ dS )z@
        Test C++ memonger that is only for simple nets
        r   r   r	   é   r   N)r
   Z test_forward_only_fast_simplenetr   r   r   r   r   r   r   r   r   r   Ú'test_resnet_forward_only_fast_simplenet&   s    þz:ResnetMemongerTest.test_resnet_forward_only_fast_simplenet)Ú__name__Ú
__module__Ú__qualname__r   ÚstZbooleansÚhuZgcs_cpu_onlyr   r   r   r   r   r   r   r   r      s
   
	r   Ú__main__i+
  )Zcaffe2z--caffe2_log_level=0z#--caffe2_print_blob_sizes_at_exit=0z--caffe2_gpu_memory_tracking=1)Únumpyr   Zcaffe2.python.models.resnetÚpythonÚmodelsr   Zhypothesis.strategiesÚ
strategiesr   Z
hypothesisr   r   Z"caffe2.python.hypothesis_test_utilZhypothesis_test_utilr    Z0caffe2.python.models.imagenet_trainer_test_utilsZimagenet_trainer_test_utilsr
   ZHypothesisTestCaser   r   ZunittestÚrandomÚseedZ	workspaceZ
GlobalInitÚmainr   r   r   r   Ú<module>   s   &
