o
    i                     @   s6   d dl Z ddlmZ e dZdddZdd	d
ZdS )    N   )vision_transformerdinov2F   c                 C   s   | j d| _ d| j v rLt|| j| j| j| j| j| j| j	| j
| j| jd}tj| j  di |}|r7||jfS tj| j  di || j| jd}|j}|||fS )NZ_memeffZvit)img_size
patch_sizeinit_values	ffn_layerblock_chunksqkv_bias	proj_biasffn_biasnum_register_tokensinterpolate_offsetinterpolate_antialias)drop_path_ratedrop_path_uniform )archremovesuffixdictr   Z
layerscaler	   r
   r   r   r   r   r   r   vits__dict__	embed_dimr   r   )argsonly_teacherr   
vit_kwargsZteacherstudentr   r   r   </data/cameron/moge_repo/moge/model/dinov2/models/__init__.pybuild_model   s4   



r   c                 C   s   t | j|| jjdS )N)r   r   )r   r   ZcropsZglobal_crops_size)cfgr   r   r   r   build_model_from_cfg*   s   r!   )Fr   )F)logging r   r   	getLoggerloggerr   r!   r   r   r   r   <module>   s
   

