/usr/local/lib64/python3.6/site-packages/caffe2/python/layers/__pycache__
Edit: /usr/local/lib64/python3.6/site-packages/caffe2/python/layers/__pycache__/conv.cpython-36.pyc (3244B)
3
Eg @ s4 d dl mZ d dlmZ d dlZG dd deZdS ) )schema)
ModelLayerNc
s* e Zd ZdZd fdd Zdd Z ZS )
Conva
Convolutional layer
Input:
- input_record: at least has the shape info of C (num_channels)
- output_dim: number of convolutional filters
- kernel_h, kernel_w: kernel size for h and w
- stride_h, stride_w: stride for h and w
- pad_b, pad_l, pad_r, pad_t: padding sizes, if stride == 1,
'None' value will do auto padding
- order: either 'NHWC' or 'NCHW'
NNHWCconvc s t t| j|||f| t|tjs,td|j j}|dkrHt|t sPtd|dkrbt|t sjtd|| _
|| _|dkrt|t std|dkrt|t std|| _|| _
|dkr|d krt |d d n|}|d krt |d d n|}n$|d krdn|}|d krdn|}|dkrd|
d kr@t |d d n|
}
| d kr^t |d d n| } n$|
d krrdn|
}
| d krdn| } |dkrt|t std |dkrt|t std
|
dkrt|
t std| dkrt| t s td|| _|| _|
| _| | _|dks*td|| _|d
krP|d }||||g}n|dkrn|d }||||g}|dkstd|
r|
ndi f}
|r|n
dddif}| jd||
|d| _| jd|g||d| _tjtj|ff| jd| _d S )NzIncorrect input typer z#kernel_h should be positive integerz#kernel_w should be positive integerz#stride_h should be positive integerz#stride_w should be positive integer zpad_t should be int >= 0zpad_b should be int >= 0zpad_r should be int >= 0zpad_l should be int >= 0r NCHWz$order should either 'NHWC' or 'NCHW'z>Number of input channels in conv parameters should be positiveZ
XavierFillZConstantFillvalueg Zconv_kernel)
param_nameshapeinitializerZ optimizerZ conv_biasoutput)r r )superr __init__
isinstancer ZScalarAssertionErrorZ
field_typer intkernel_hkernel_wstride_hstride_wpad_tpad_bpad_rpad_lorderZcreate_paramkernelbiasnpZfloat32Zget_next_blob_reference
output_schema)selfmodelinput_recordZ
output_dimr r r r r r r r r Zkernel_initZ bias_initZkernel_optimZ
bias_optimnamekwargsZ
input_dimsZinput_cZkernel_shape) __class__ E/usr/local/lib64/python3.6/site-packages/caffe2/python/layers/conv.pyr sx
z
Conv.__init__c
C sN |j | jj | j| jg | jj | j| j| j| j | j
| j| j| j
| jd d S )N) r r r r r r r r r )r r$ Zfield_blobsr r r! r r r r r r r r r )r" netr( r( r) add_opsz s zConv.add_ops)
NNNNr NNNNr )__name__
__module____qualname____doc__r r+
__classcell__r( r( )r' r) r s Zr )Z
caffe2.pythonr Zcaffe2.python.layers.layersr Znumpyr r r( r( r( r)
s