MyCaffe  1.12.2.41
Deep learning software for Windows C# programmers.
MyCaffe.layers.beta.TextDataLayer< T > Class Template Reference

The TextDataLayer loads data from text data files for an encoder/decoder type model. This layer is initialized with the MyCaffe.param.TextDataParameter. More...

Inheritance diagram for MyCaffe.layers.beta.TextDataLayer< T >:
MyCaffe.layers.Layer< T >

Public Member Functions

 TextDataLayer (CudaDnn< T > cuda, Log log, LayerParameter p)
 The TextDataLayer constructor. More...
 
void PreProcessInputFiles (TextDataParameter p)
 Load the input and target files and convert each into a list of lines each containing a list of words per line. More...
 
override BlobCollection< T > PreProcessInput (PropertySet customInput, out int nSeqLen, BlobCollection< T > colBottom=null)
 The PreprocessInput allows derivative data layers to convert a property set of input data into the bottom blob collection used as intput. More...
 
override bool PreProcessInput (string strEncInput, int? nDecInput, BlobCollection< T > colBottom)
 Preprocess the input data for the RUN phase. More...
 
override List< Tuple< string, int, double > > PostProcessOutput (Blob< T > blobSoftmax, int nK=1)
 Convert the maximum index within the softmax into the word index, then convert the word index back into the word and return the word string. More...
 
override string PostProcessOutput (int nIdx)
 Convert the index to the word. More...
 
override void LayerSetUp (BlobCollection< T > colBottom, BlobCollection< T > colTop)
 Setup the layer. More...
 
override void Reshape (BlobCollection< T > colBottom, BlobCollection< T > colTop)
 Data layers have no bottoms, so reshaping is trivial. More...
 
- Public Member Functions inherited from MyCaffe.layers.Layer< T >
 Layer (CudaDnn< T > cuda, Log log, LayerParameter p)
 The Layer constructor. More...
 
void Dispose ()
 Releases all GPU and host resources used by the Layer. More...
 
virtual void ConnectLoss (LossLayer< T > layer)
 Called to connect the loss OnLoss event to a specified layer (typically the data layer). More...
 
virtual List< Tuple< string, int, double > > PostProcessLogitsOutput (int nCurIdx, Blob< T > blobLogits, Layer< T > softmax, int nAxis, int nK=1)
 The PostProcessLogitsOutput allows derivative data layers to post-process the results, converting them back into text results (e.g., detokenizing). More...
 
virtual string PostProcessFullOutput (Blob< T > blobSoftmax)
 The PostProcessFullOutput allows derivative data layers to post-process the results, usually be detokenizing the data in the blobSoftmax. More...
 
virtual void SetOnDebug (EventHandler< GetWorkBlobArgs< T > > fn)
 Set the OnDebug event. More...
 
virtual void ResetOnDebug (EventHandler< GetWorkBlobArgs< T > > fn)
 Reset the OnDebug event, disabling it. More...
 
virtual bool ReInitializeParameters (WEIGHT_TARGET target)
 Re-initialize the parameters of the layer. More...
 
void SetNetReshapeRequest ()
 Called by the Net when requesting a reshape. More...
 
void SetPhase (Phase phase)
 Changes the layer's Phase to the one specified. More...
 
void Setup (BlobCollection< T > colBottom, BlobCollection< T > colTop)
 Implements common Layer setup functionality. More...
 
virtual void SetNetParameterUsed (NetParameter np)
 This function allows other layers to gather needed information from the NetParameters if any, and is called when initialzing the Net. More...
 
void ConvertToBase (BlobCollection< T > col)
 ConvertToBase converts any blobs in a collection that are in half size to the base size. More...
 
double Forward (BlobCollection< T > colBottom, BlobCollection< T > colTop)
 Given the bottom (input) Blobs, this function computes the top (output) Blobs and the loss. More...
 
void Backward (BlobCollection< T > colTop, List< bool > rgbPropagateDown, BlobCollection< T > colBottom)
 Given the top Blob error gradients, compute the bottom Blob error gradients. More...
 
double loss (int nTopIdx)
 Returns the scalar loss associated with the top Blob at a given index. More...
 
void set_loss (int nTopIdx, double dfLoss)
 Sets the loss associated with a top Blob at a given index. More...
 
virtual bool AllowForceBackward (int nBottomIdx)
 Return whether to allow More...
 
bool param_propagate_down (int nParamIdx)
 Returns whether or not the Layer should compute gradients w.r.t. a parameter at a particular index given by a parameter index. More...
 
void set_param_propagate_down (int nParamIdx, bool bPropagate)
 Sets whether or not the Layer should compute gradients w.r.t. a parameter at a particular index given by a parameter index. More...
 
void SetEnablePassthrough (bool bEnable)
 Enables/disables the pass-through mode. More...
 

Protected Member Functions

override void dispose ()
 Release all internal blobs. More...
 
bool Skip ()
 Skip to the next data input. More...
 
void Next ()
 Proceeds to the next data item. When shuffling, the next item is randomly selected. More...
 
override void forward (BlobCollection< T > colBottom, BlobCollection< T > colTop)
 Run the Forward computation, which fills the data into the top (output) Blobs. More...
 
override void backward (BlobCollection< T > colTop, List< bool > rgbPropagateDown, BlobCollection< T > colBottom)
 Not implemented - data Layers do not perform backward.. More...
 
- Protected Member Functions inherited from MyCaffe.layers.Layer< T >
void dispose (ref Layer< T > l)
 Helper method used to dispose internal layers. More...
 
void dispose (ref Blob< T > b)
 Helper method used to dispose internal blobs. More...
 
void dispose (ref BlobCollection< T > rg, bool bSetToNull=true)
 Dispose the blob collection. More...
 
GetIterationArgs getCurrentIteration ()
 Fires the OnGetIteration event to query the current iteration. More...
 
long convert_to_full (int nCount, long hMem)
 Convert half memory to full memory. More...
 
void convert (BlobCollection< T > col)
 Convert a collection of blobs from / to half size. More...
 
virtual bool reshapeNeeded (BlobCollection< T > colBottom, BlobCollection< T > colTop, bool bReset=true)
 Tests the shapes of both the bottom and top blobs and if they are the same as the previous sizing, returns false indicating that no reshape is needed. More...
 
bool compareShapes (BlobCollection< T > colBottom, BlobCollection< T > colTop)
 Compare the shapes of the top and bottom and if the same, return true, otherwise false. More...
 
void setShapes (BlobCollection< T > colBottom, BlobCollection< T > colTop)
 Set the internal shape sizes - used when determining if a Reshape is necessary. More...
 
virtual void setup_internal_blobs (BlobCollection< T > col)
 Derivative layers should add all internal blobws to the 'col' provided. More...
 
void CheckBlobCounts (BlobCollection< T > colBottom, BlobCollection< T > colTop)
 Called by the Layer::Setup function to check the number of bottom (input) and top (output) Blobs provided match the expected number of blobs expected via the {EactNum,Min,Max}{Bottom,Top}Blobs functions. More...
 
void SetLossWeights (BlobCollection< T > colTop)
 Called by Layer::Setup to initialize the weights associated with any top (output) Blobs in the loss function ans store non-zero loss weights in the diff Blob. More...
 
LayerParameter convertLayerParam (LayerParameter pChild, LayerParameter pParent)
 Called to convert a parent LayerParameterEx, used in blob sharing, with a child layer parameter. More...
 
bool shareParameter (Blob< T > b, List< int > rgMinShape, bool bAllowEndsWithComparison=false)
 Attempts to share a parameter Blob if another parameter Blob with the same name and accpetable size is found. More...
 
bool shareLayerBlob (Blob< T > b, List< int > rgMinShape)
 Attempts to share a Layer Blob if another parameter Blob with the same name and acceptable size is found. More...
 
bool shareLayerBlobs (Layer< T > layer)
 Attempts to share the Layer blobs and internal_blobs with matching names and sizes with those in another matching layer. More...
 
virtual WorkspaceArgs getWorkspace ()
 Returns the WorkspaceArgs used to share a workspace between Layers. More...
 
virtual bool setWorkspace (ulong lSizeInBytes)
 Sets the workspace size (in items) and returns true if set, false otherwise. More...
 
void check_nan (Blob< T > b)
 Checks a Blob for NaNs and throws an exception if found. More...
 
convert (double df)
 Converts a double to a generic. More...
 
convert (float f)
 Converts a float to a generic. More...
 
double convertD (T df)
 Converts a generic to a double value. More...
 
float convertF (T df)
 Converts a generic to a float value. More...
 
double[] convertD (T[] rg)
 Converts an array of generic values into an array of double values. More...
 
T[] convert (double[] rg)
 Converts an array of double values into an array of generic values. More...
 
float[] convertF (T[] rg)
 Converts an array of float values into an array of generic values. More...
 
T[] convert (float[] rg)
 Converts an array of float values into an array of generic values. More...
 
int val_at (T[] rg, int nIdx)
 Returns the integer value at a given index in a generic array. More...
 
Size size_at (Blob< T > b)
 Returns the Size of a given two element Blob, such as one that stores Blob size information. More...
 

Properties

override int? MinBottomBlobs [get]
 When running in TRAIN or TEST phase, returns 0 for data layers have no bottom (input) Blobs. When running in RUN phase, returns 3 Blobs: dec_input, enc_input | enc_inputr, enc_clip. More...
 
override int? MaxBottomBlobs [get]
 When running in TRAIN or TEST phase, returns 0 for data layers have no bottom (input) Blobs. When running in RUN phase, returns 4 Blobs: dec_input, enc_input, enc_inputr, enc_clip. More...
 
override int MinTopBlobs [get]
 Returns the minimum number of required top (output) Blobs: dec, dclip, enc, eclip, vocabcount, label (only valid on TRAIN or TEST) More...
 
override int MaxTopBlobs [get]
 Returns the maximum number of required top (output) Blobs: dec, dclip, enc, encr, eclip, vocabcount, label (only valid on TRAIN or TEST) More...
 
Vocabulary Vocabulary [get]
 Returns the vocabulary of the data sources. More...
 
IterationInfoIterationInfo [get]
 Returns information on the current iteration. More...
 
override bool SupportsPreProcessing [get]
 Should return true when pre processing methods are overriden. More...
 
override bool SupportsPostProcessing [get]
 Should return true when pre postprocessing methods are overriden. More...
 
- Properties inherited from MyCaffe.layers.Layer< T >
LayerParameter.? LayerType parent_layer_type [get]
 Optionally, specifies the parent layer type (e.g. LOSS, etc.) More...
 
virtual bool SupportsPreProcessing [get]
 Should return true when PreProcessing methods are overriden. More...
 
virtual bool SupportsPostProcessing [get]
 Should return true when pre PostProcessing methods are overriden. More...
 
virtual bool SupportsPostProcessingLogits [get]
 Should return true when pre PostProcessingLogits methods are overriden. More...
 
virtual bool SupportsPostProcessingFullOutput [get]
 Should return true when PostProcessingFullOutput is supported. More...
 
BlobCollection< T > blobs [get]
 Returns the collection of learnable parameter Blobs for the Layer. More...
 
BlobCollection< T > internal_blobs [get]
 Returns the collection of internal Blobs used by the Layer. More...
 
LayerParameter layer_param [get]
 Returns the LayerParameter for this Layer. More...
 
LayerParameter.LayerType type [get]
 Returns the LayerType of this Layer. More...
 
virtual int ExactNumBottomBlobs [get]
 Returns the exact number of bottom (input) Blobs required by the Layer, or -1 if no exact number is required. More...
 
virtual int MinBottomBlobs [get]
 Returns the minimum number of bottom (input) Blobs required by the Layer, or -1 if no minimum number is required. More...
 
virtual int MaxBottomBlobs [get]
 Returns the maximum number of bottom (input) Blobs required by the Layer, or -1 if no maximum number is required. More...
 
virtual int ExactNumTopBlobs [get]
 Returns the exact number of top (output) Blobs required by the Layer, or -1 if no exact number is required. More...
 
virtual int MinTopBlobs [get]
 Returns the minimum number of top (output) Blobs required by the Layer, or -1 if no minimum number is required. More...
 
virtual int MaxTopBlobs [get]
 Returns the maximum number of top (output) Blobs required by the Layer, or -1 if no maximum number is required. More...
 
virtual bool EqualNumBottomTopBlobs [get]
 Returns true if the Layer requires and equal number of bottom (input) and top (output) Blobs. More...
 
virtual bool AutoTopBlobs [get]
 Return whether "anonymous" top (output) Blobs are created automatically by the Layer. More...
 
double forward_timing [get]
 Returns the timing of the last forward pass in milliseconds. More...
 
double forward_timing_average [get]
 Returns the average timing of the forward passes in milliseconds. More...
 
double backward_timing [get]
 Returns the timing of the last backward pass in milliseconds. More...
 
double backward_timing_average [get]
 Returns the average timing of the backward passes in milliseconds. More...
 

Events

EventHandler< OnGetDataArgsOnGetData
 The OnGetTrainingData is called during each forward pass after getting the training data for the pass. More...
 
- Events inherited from MyCaffe.layers.Layer< T >
EventHandler< WorkspaceArgsOnGetWorkspace
 Specifies the OnGetWorkspace event that fires when the getWorkspace() function is called by a layer to get a shareable workspace to conserve GPU memory. More...
 
EventHandler< WorkspaceArgsOnSetWorkspace
 Specifies the OnSetWorkspace event that fires when the setWorkspace() function is called by a layer to get a shareable workspace to conserve GPU memory. More...
 
EventHandler< GetIterationArgsOnGetIteration
 Specifies the OnGetIteration event that fires when a layer needs to get the current iteration from the solver. More...
 
EventHandler< GetWorkBlobArgs< T > > OnDebug
 Specifies the OnGetWorkBlob event that is only supported when debugging to get a work blob from the primary Net holding this layer. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MyCaffe.layers.Layer< T >
static Layer< T > Create (CudaDnn< T > cuda, Log log, LayerParameter p, CancelEvent evtCancel, IXDatabaseBase db=null, TransferInput trxinput=null)
 Create a new Layer based on the LayerParameter. More...
 
- Protected Attributes inherited from MyCaffe.layers.Layer< T >
LayerParameter.LayerType m_type = LayerParameter.LayerType._MAX
 Specifies the Layer type. More...
 
CudaDnn< T > m_cuda
 Specifies the CudaDnn connection to Cuda. More...
 
Log m_log
 Specifies the Log for output. More...
 
LayerParameter m_param
 Specifies the LayerParameter describing the Layer. More...
 
Phase m_phase
 Specifies the Phase under which the Layer is run. More...
 
BlobCollection< T > m_colBlobs
 Specifies the learnable parameter Blobs of the Layer. More...
 
BlobCollection< T > m_colInternalBlobs = new BlobCollection<T>()
 Specifies internal blobs used by the layer. More...
 
DictionaryMap< bool > m_rgbParamPropagateDown
 Specifies whether or not to compute the learnable diff of each parameter Blob. More...
 
DictionaryMap< double > m_rgLoss
 Specifies the loss values that indeicate whether each top (output) Blob has a non-zero weight in the objective function.. More...
 
m_tOne
 Specifies a generic type equal to 1.0. More...
 
m_tZero
 Specifies a generic type equal to 0.0. More...
 
bool m_bEnablePassthrough = false
 Enables/disables the pass-through mode for the layer. Default = false. More...
 
bool m_bUseHalfSize = false
 Specifies that the half size of the top (if any) should be converted to the base size. More...
 
bool m_bConvertTopOnFwd = false
 Specifies whether or not the layer should convert the top on the forward pass when using half sized memory (typically only done with input data). More...
 
bool m_bConvertTopOnBwd = true
 Specifies whether or not to convert the top on the backward pass when using half sized memory (typically not done on loss layers). More...
 
bool m_bConvertBottom = true
 Specifies whether or not the layer should convert the bottom when using half sized memory. More...
 
bool m_bReshapeOnForwardNeeded = true
 Specifies whether or not the reshape on forward is needed or not. More...
 
bool m_bNetReshapeRequest = false
 Specifies whether the reshape is requested from a Net.Reshape call or not. More...
 
LayerParameter.? LayerType m_parentLayerType = null
 Specifies the layer type of the parent. More...
 

Detailed Description

The TextDataLayer loads data from text data files for an encoder/decoder type model. This layer is initialized with the MyCaffe.param.TextDataParameter.

Template Parameters
TSpecifies the base type float or double. Using float is recommended to conserve GPU memory.

Definition at line 19 of file TextDataLayer.cs.

Constructor & Destructor Documentation

◆ TextDataLayer()

The TextDataLayer constructor.

Parameters
cudaSpecifies the CudaDnn connection to Cuda.
logSpecifies the Log for output.
pProvides TextDataParameter text_data_param with options:
  • encoder_source. The encoder data source.
  • decoder_source. The decoder data source.
  • batch_size. The batch size (currently only 1 supported).
  • time_steps. The maximum number of time steps.
  • sample_size. The number of samples to load for training.
  • shuffle. Whether or not to shuffle the data.
  • enable_normal_encoder_output. Whether or not to enable the encoder input with normal ordering.
  • enable_reverse_encoder_output. Whether or not to enable the encoder input with reverse ordering.

Definition at line 60 of file TextDataLayer.cs.

Member Function Documentation

◆ backward()

override void MyCaffe.layers.beta.TextDataLayer< T >.backward ( BlobCollection< T >  colTop,
List< bool >  rgbPropagateDown,
BlobCollection< T >  colBottom 
)
protectedvirtual

Not implemented - data Layers do not perform backward..

Implements MyCaffe.layers.Layer< T >.

Definition at line 646 of file TextDataLayer.cs.

◆ dispose()

override void MyCaffe.layers.beta.TextDataLayer< T >.dispose ( )
protectedvirtual

Release all internal blobs.

Reimplemented from MyCaffe.layers.Layer< T >.

Definition at line 69 of file TextDataLayer.cs.

◆ forward()

override void MyCaffe.layers.beta.TextDataLayer< T >.forward ( BlobCollection< T >  colBottom,
BlobCollection< T >  colTop 
)
protectedvirtual

Run the Forward computation, which fills the data into the top (output) Blobs.

Parameters
colBottomNot used.
colToptop output blob vector (length 1)
  1. $ (N \times C \times H \times W) $ the data outputs.

Implements MyCaffe.layers.Layer< T >.

Definition at line 542 of file TextDataLayer.cs.

◆ LayerSetUp()

override void MyCaffe.layers.beta.TextDataLayer< T >.LayerSetUp ( BlobCollection< T >  colBottom,
BlobCollection< T >  colTop 
)
virtual

Setup the layer.

Parameters
colBottomNot used.
colTopSpecifies the collection of top (output) Blobs.

Implements MyCaffe.layers.Layer< T >.

Definition at line 423 of file TextDataLayer.cs.

◆ Next()

void MyCaffe.layers.beta.TextDataLayer< T >.Next ( )
protected

Proceeds to the next data item. When shuffling, the next item is randomly selected.

Definition at line 470 of file TextDataLayer.cs.

◆ PostProcessOutput() [1/2]

override List< Tuple< string, int, double > > MyCaffe.layers.beta.TextDataLayer< T >.PostProcessOutput ( Blob< T >  blobSoftmax,
int  nK = 1 
)
virtual

Convert the maximum index within the softmax into the word index, then convert the word index back into the word and return the word string.

Parameters
blobSoftmaxSpecifies the softmax output.
nKOptionally, specifies the K top items to return (default = 1).
Returns
The array of word string, index and probabilities corresponding to the softmax output is returned.

Reimplemented from MyCaffe.layers.Layer< T >.

Definition at line 376 of file TextDataLayer.cs.

◆ PostProcessOutput() [2/2]

override string MyCaffe.layers.beta.TextDataLayer< T >.PostProcessOutput ( int  nIdx)
virtual

Convert the index to the word.

Parameters
nIdxSpecifies the index to convert.
Returns
The corresponding word is returned.

Reimplemented from MyCaffe.layers.Layer< T >.

Definition at line 413 of file TextDataLayer.cs.

◆ PreProcessInput() [1/2]

override BlobCollection< T > MyCaffe.layers.beta.TextDataLayer< T >.PreProcessInput ( PropertySet  customInput,
out int  nSeqLen,
BlobCollection< T >  colBottom = null 
)
virtual

The PreprocessInput allows derivative data layers to convert a property set of input data into the bottom blob collection used as intput.

Parameters
customInputSpecifies the custom input data.
nSeqLenSpecifies the sequence length.
colBottomOptionally, specifies the bottom data to fill.
Returns
The bottom data is returned.

The blobs returned should match the blob descriptions returned in the LayerParameter's overrides for 'PrepareRunModelInputs' and 'PrepareRunModel'.

Reimplemented from MyCaffe.layers.Layer< T >.

Definition at line 247 of file TextDataLayer.cs.

◆ PreProcessInput() [2/2]

override bool MyCaffe.layers.beta.TextDataLayer< T >.PreProcessInput ( string  strEncInput,
int?  nDecInput,
BlobCollection< T >  colBottom 
)
virtual

Preprocess the input data for the RUN phase.

Parameters
strEncInputSpecifies the encoder input.
nDecInputSpecifies the decoder input.
colBottomSpecifies the bottom blob where the preprocessed data is placed where colBottom[0] contains the preprocessed decoder input.

colBottom[1] contains the preprocessed encoder input (depending on param settings), colBottom[2] contains the preprocessed encoder input reversed (depending on param settings),

NOTE: the LayerSetup must be called before preprocessing input, for during LayerSetup the vocabulary is loaded.

Reimplemented from MyCaffe.layers.Layer< T >.

Definition at line 288 of file TextDataLayer.cs.

◆ PreProcessInputFiles()

void MyCaffe.layers.beta.TextDataLayer< T >.PreProcessInputFiles ( TextDataParameter  p)

Load the input and target files and convert each into a list of lines each containing a list of words per line.

Definition at line 206 of file TextDataLayer.cs.

◆ Reshape()

override void MyCaffe.layers.beta.TextDataLayer< T >.Reshape ( BlobCollection< T >  colBottom,
BlobCollection< T >  colTop 
)
virtual

Data layers have no bottoms, so reshaping is trivial.

Parameters
colBottomNot used.
colTopSpecifies the collection of top (output) Blobs.

Implements MyCaffe.layers.Layer< T >.

Definition at line 480 of file TextDataLayer.cs.

◆ Skip()

bool MyCaffe.layers.beta.TextDataLayer< T >.Skip ( )
protected

Skip to the next data input.

Returns
Returns true if a skip should occur, false otherwise.

Definition at line 457 of file TextDataLayer.cs.

Property Documentation

◆ IterationInfo

Returns information on the current iteration.

Definition at line 119 of file TextDataLayer.cs.

◆ MaxBottomBlobs

override int? MyCaffe.layers.beta.TextDataLayer< T >.MaxBottomBlobs
get

When running in TRAIN or TEST phase, returns 0 for data layers have no bottom (input) Blobs. When running in RUN phase, returns 4 Blobs: dec_input, enc_input, enc_inputr, enc_clip.

Definition at line 87 of file TextDataLayer.cs.

◆ MaxTopBlobs

override int MyCaffe.layers.beta.TextDataLayer< T >.MaxTopBlobs
get

Returns the maximum number of required top (output) Blobs: dec, dclip, enc, encr, eclip, vocabcount, label (only valid on TRAIN or TEST)

Definition at line 103 of file TextDataLayer.cs.

◆ MinBottomBlobs

override int? MyCaffe.layers.beta.TextDataLayer< T >.MinBottomBlobs
get

When running in TRAIN or TEST phase, returns 0 for data layers have no bottom (input) Blobs. When running in RUN phase, returns 3 Blobs: dec_input, enc_input | enc_inputr, enc_clip.

Definition at line 78 of file TextDataLayer.cs.

◆ MinTopBlobs

override int MyCaffe.layers.beta.TextDataLayer< T >.MinTopBlobs
get

Returns the minimum number of required top (output) Blobs: dec, dclip, enc, eclip, vocabcount, label (only valid on TRAIN or TEST)

Definition at line 95 of file TextDataLayer.cs.

◆ SupportsPostProcessing

override bool MyCaffe.layers.beta.TextDataLayer< T >.SupportsPostProcessing
get

Should return true when pre postprocessing methods are overriden.

Definition at line 168 of file TextDataLayer.cs.

◆ SupportsPreProcessing

override bool MyCaffe.layers.beta.TextDataLayer< T >.SupportsPreProcessing
get

Should return true when pre processing methods are overriden.

Definition at line 160 of file TextDataLayer.cs.

◆ Vocabulary

Returns the vocabulary of the data sources.

Definition at line 111 of file TextDataLayer.cs.

Event Documentation

◆ OnGetData

EventHandler<OnGetDataArgs> MyCaffe.layers.beta.TextDataLayer< T >.OnGetData

The OnGetTrainingData is called during each forward pass after getting the training data for the pass.

Definition at line 35 of file TextDataLayer.cs.


The documentation for this class was generated from the following file: