2using System.Collections.Generic;
25 bool m_bEnableBertVersion;
37 m_bEnableBertVersion = p.
gelu_param.enable_bert_version;
55 long hBottomData = colBottom[0].gpu_data;
56 long hTopData = colTop[0].mutable_gpu_data;
57 int nCount = colBottom[0].count();
59 m_cuda.gelu_fwd(nCount, hBottomData, hTopData, m_bEnableBertVersion);
81 long hTopData = colTop[0].gpu_data;
82 long hTopDiff = colTop[0].gpu_diff;
83 long hBottomDiff = colBottom[0].mutable_gpu_diff;
84 long hBottomData = colBottom[0].gpu_data;
85 int nCount = colBottom[0].count();
87 m_cuda.gelu_bwd(nCount, hTopDiff, hTopData, hBottomDiff, hBottomData, m_bEnableBertVersion);
The Log class provides general output in text form.
The BlobCollection contains a list of Blobs.
The CudaDnn object is the main interface to the Low-Level Cuda C++ DLL.
CudaDnn< T > m_cuda
Specifies the CudaDnn connection to Cuda.
LayerParameter.LayerType m_type
Specifies the Layer type.
The NeuronLayer is an interface for layers that take one blob as input (x) and produce only equally-s...
The GeluLayer implements the New GELU activation function currently in Google BERT repo (same as Open...
override void backward(BlobCollection< T > colTop, List< bool > rgbPropagateDown, BlobCollection< T > colBottom)
Computes the error gradient w.r.t. the GELU value inputs.
override void forward(BlobCollection< T > colBottom, BlobCollection< T > colTop)
Forward computation
GeluLayer(CudaDnn< T > cuda, Log log, LayerParameter p)
The GeluLayer constructor.
Specifies the base parameter for all layers.
LayerType
Specifies the layer type.
GeluParameter gelu_param
Returns the parameter set when initialized with LayerType.GELU
The MyCaffe.basecode contains all generic types used throughout MyCaffe.
The MyCaffe.common namespace contains common MyCaffe classes.
The MyCaffe.layers.gpt namespace contains all GPT related layers.
The MyCaffe.param namespace contains parameters used to create models.
The MyCaffe namespace contains the main body of MyCaffe code that closesly tracks the C++ Caffe open-...