a
    ==ict                     @   s4   d dl mZ d dlmZ d dlZG dd deZdS )    )schema)
ModelLayerNc                       s&   e Zd Zd fdd	Zdd Z  ZS )AddBiasNadd_biasc                    s   t t| ||| t|tjs(J dt| jdksBJ d| jd }|dksfJ d	|t
d| }|r||nd| |df}| jd|g||d	| _t| j|ff| d
| _d S )NzIncorrect input typer   z6AddBias expects limited dimensions of the input tensorz,AddBias expects input dimensions > 0, got {}g      ?ZUniformFill)minmaxb)
param_nameshapeZinitializerZ	optimizeroutput)superr   __init__
isinstancer   ZScalarlenZ
field_typer
   formatmathsqrtZcreate_paramr   baseZget_next_blob_referenceoutput_schema)selfmodelinput_recordZ	bias_initZ
bias_optimnameZ
input_dimsscale	__class__ n/home/droni/.local/share/virtualenvs/DPS-5Je3_V2c/lib/python3.9/site-packages/caffe2/python/layers/add_bias.pyr      s.    
zAddBias.__init__c                 C   s(   |j | j | jg | j dd d S )N   )	broadcast)Addr   Zfield_blobsr   r   )r   netr   r   r   add_ops*   s    
zAddBias.add_ops)NNr   )__name__
__module____qualname__r   r"   __classcell__r   r   r   r   r      s     r   )Zcaffe2.pythonr   Zcaffe2.python.layers.layersr   r   r   r   r   r   r   <module>   s   