MyCaffe
1.12.2.41
Deep learning software for Windows C# programmers.
|
(Depreciated - use MyCaffeTrainerDual instead.) The MyCaffeTrainerRNN is used to perform recurrent neural-network training tasks on an instance of the MyCaffeControl. More...
Public Member Functions | |
MyCaffeTrainerRNN () | |
The constructor. More... | |
MyCaffeTrainerRNN (IContainer container) | |
The constructor. More... | |
bool | GetUpdateSnapshot (out int nIteration, out double dfAccuracy) |
Returns true when the training is ready for a snap-shot, false otherwise. More... | |
DatasetDescriptor | GetDatasetOverride (int nProjectID, ConnectInfo ci=null) |
Returns a dataset override to use (if any) instead of the project's dataset. If there is no dataset override null is returned and the project's dataset is used. More... | |
void | CleanUp () |
Releases any resources used by the component. More... | |
void | Initialize (string strProperties, IXMyCaffeCustomTrainerCallback icallback) |
Initializes a new custom trainer by loading the key-value pair of properties into the property set. More... | |
float[] | Run (Component mycaffe, int nN) |
Create a new trainer and use it to run a single run cycle. More... | |
byte[] | Run (Component mycaffe, int nN, out string type) |
Run the network using the run technique implemented by this trainer. More... | |
void | Test (Component mycaffe, int nIterationOverride, ITERATOR_TYPE type=ITERATOR_TYPE.ITERATION) |
Create a new trainer and use it to run a test cycle. More... | |
void | Train (Component mycaffe, int nIterationOverride, ITERATOR_TYPE type=ITERATOR_TYPE.ITERATION, TRAIN_STEP step=TRAIN_STEP.NONE) |
Create a new trainer and use it to run a training cycle. More... | |
void | OnInitialize (InitializeArgs e) |
The OnIntialize callback fires when initializing the trainer. More... | |
void | OnShutdown () |
The OnShutdown callback fires when shutting down the trainer. More... | |
void | OnGetData (GetDataArgs e) |
The OnGetData callback fires from within the Train method and is used to get a new observation data. More... | |
void | OnConvertOutput (ConvertOutputArgs e) |
The OnConvertOutput callback fires from within the Run method and is used to convert the network output into its native format. More... | |
void | OnTestAccuracyUpdate (TestAccuracyUpdateArgs e) |
The OnTestAccuracyUpdate callback fires from within the Run method and is used to give the recipient the chance to determine whether the label detected is correct or not. More... | |
void | OnUpdateStatus (GetStatusArgs e) |
The OnGetStatus callback fires on each iteration within the Train method. More... | |
void | OnWait (WaitArgs e) |
The OnWait callback fires when waiting for a shutdown. More... | |
double | GetProperty (string strProp) |
Returns a specific property value. More... | |
void | OpenUi () |
Open the user interface for the trainer, of one exists. More... | |
BucketCollection | PreloadData (Log log, CancelEvent evtCancel, int nProjectID, PropertySet propertyOverride=null, ConnectInfo ci=null) |
The PreloadData method gives the custom trainer an opportunity to pre-load any data. More... | |
string | ResizeModel (Log log, string strModel, BucketCollection rgVocabulary) |
The ResizeModel method gives the custom trainer the opportunity to resize the model if needed. More... | |
Protected Member Functions | |
virtual DatasetDescriptor | get_dataset_override (int nProjectID, ConnectInfo ci=null) |
Returns a dataset override to use (if any) instead of the project's dataset. If there is no dataset override null is returned and the project's dataset is used. More... | |
virtual string | get_information () |
Returns information describing the specific trainer, such as the gym used, if any. More... | |
virtual IxTrainerRNN | create_trainerD (Component caffe) |
Optionally overridden to return a new type of trainer. More... | |
virtual IxTrainerRNN | create_trainerF (Component caffe) |
Optionally overridden to return a new type of trainer. More... | |
virtual void | dispose () |
Override to dispose of resources used. More... | |
virtual void | initialize (InitializeArgs e) |
Override called by the Initialize method of the trainer. More... | |
virtual void | shutdown () |
Override called from within the CleanUp method. More... | |
virtual bool | getData (GetDataArgs e) |
Override called by the OnGetData event fired by the Trainer to retrieve a new set of observation collections making up a set of experiences. More... | |
virtual bool | convertOutput (ConvertOutputArgs e) |
Override called by the OnConvertOutput event fired by the Trainer to convert the network output into its native format. More... | |
virtual void | testAccuracyUpdate (TestAccuracyUpdateArgs e) |
Override called by the OnTestAccuracyUpdate event fired from within the Run method and is used to give the recipient the chance to determine whether the label detected is correct or not. More... | |
virtual bool | get_update_snapshot (out int nIteration, out double dfAccuracy) |
Returns true when the training is ready for a snap-shot, false otherwise. More... | |
virtual void | openUi () |
Called by OpenUi, override this when a UI (via WCF) should be displayed. More... | |
virtual BucketCollection | preloaddata (Log log, CancelEvent evtCancel, int nProjectID, PropertySet propertyOverride=null, ConnectInfo ci=null) |
The preloaddata method gives the custom trainer an opportunity to pre-load any data. More... | |
override void | Dispose (bool disposing) |
Clean up any resources being used. More... | |
Protected Attributes | |
PropertySet | m_properties = null |
Specifies the properties parsed from the key-value pair passed to the Initialize method. More... | |
int | m_nProjectID = 0 |
Specifies the project ID of the project held by the instance of MyCaffe. More... | |
ConnectInfo | m_dsCi = null |
Optionally, specifies the dataset connection info, or null. More... | |
Properties | |
virtual string | name [get] |
Overriden to give the actual name of the custom trainer. More... | |
virtual TRAINING_CATEGORY | category [get] |
Override when using a training method other than the RECURRENT method (the default). More... | |
Stage | Stage [get] |
Returns the Stage.RNN type. More... | |
string | Name [get] |
Returns the name of the custom trainer. This method calls the 'name' override. More... | |
TRAINING_CATEGORY | TrainingCategory [get] |
Returns the training category of the custom trainer (default = REINFORCEMENT). More... | |
bool | IsTrainingSupported [get] |
Returns whether or not Training is supported. More... | |
bool | IsTestingSupported [get] |
Returns whether or not Testing is supported. More... | |
bool | IsRunningSupported [get] |
Returns whether or not Running is supported. More... | |
string | Information [get] |
Returns information describing the trainer. More... | |
Properties inherited from MyCaffe.trainers.IXMyCaffeCustomTrainer | |
Stage | Stage [get] |
Returns the stage that the trainer is running under based on the trainer type. More... | |
string | Name [get] |
Returns the name of the custom trainer. More... | |
TRAINING_CATEGORY | TrainingCategory [get] |
Returns the training category supported by the implementer of the interface. More... | |
bool | IsTrainingSupported [get] |
Returns true when the 'Train' method is supported - this should almost always be true. More... | |
bool | IsTestingSupported [get] |
Returns true when the 'Test' method is supported. More... | |
bool | IsRunningSupported [get] |
Returns true when the 'Run' method is supported. More... | |
string | Information [get] |
Returns general information about the custom trainer. More... | |
(Depreciated - use MyCaffeTrainerDual instead.) The MyCaffeTrainerRNN is used to perform recurrent neural-network training tasks on an instance of the MyCaffeControl.
Currently, the MyCaffeTrainerRNN supports the following trainers, each of which are selected with the 'TrainerType=type' property value within the property set specified when calling the Initialize method.
TrainerType=RNN.SIMPLE - creates the initial simple policy gradient trainer that only supports single-threaded Sigmoid based models.
The following settings are used from the Model and Solver descriptions:
Solver: base_lr - specifies the learning rate used. Model: batch_size - specifies how often accumulated gradients are applied.
Definition at line 32 of file MyCaffeTrainerRNN.cs.
MyCaffe.trainers.MyCaffeTrainerRNN.MyCaffeTrainerRNN | ( | ) |
The constructor.
Definition at line 68 of file MyCaffeTrainerRNN.cs.
MyCaffe.trainers.MyCaffeTrainerRNN.MyCaffeTrainerRNN | ( | IContainer | container | ) |
The constructor.
container | The container of the component. |
Definition at line 77 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.CleanUp | ( | ) |
Releases any resources used by the component.
Implements MyCaffe.trainers.IXMyCaffeCustomTrainer.
Definition at line 351 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Override called by the OnConvertOutput event fired by the Trainer to convert the network output into its native format.
e | Specifies the event arguments. |
Definition at line 222 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Optionally overridden to return a new type of trainer.
Override this method when using the MyCaffeControl that uses the double base type.
caffe | Specifies the MyCaffeControl used. |
Definition at line 130 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Optionally overridden to return a new type of trainer.
Override this method when using the MyCaffeControl that uses the double base type.
caffe | Specifies the MyCaffeControl used. |
Definition at line 160 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Override to dispose of resources used.
Definition at line 185 of file MyCaffeTrainerRNN.cs.
|
protected |
Clean up any resources being used.
disposing | true if managed resources should be disposed; otherwise, false. |
Definition at line 14 of file MyCaffeTrainerRNN.Designer.cs.
|
protectedvirtual |
Returns a dataset override to use (if any) instead of the project's dataset. If there is no dataset override null is returned and the project's dataset is used.
nProjectID | Specifies the project ID associated with the trainer (if any) |
ci | Optionally, specifies the database connection information (default = null). |
Definition at line 108 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Returns information describing the specific trainer, such as the gym used, if any.
Definition at line 117 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Returns true when the training is ready for a snap-shot, false otherwise.
nIteration | Specifies the current iteration. |
dfAccuracy | Returns the current accuracy. |
Definition at line 240 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Override called by the OnGetData event fired by the Trainer to retrieve a new set of observation collections making up a set of experiences.
e | Specifies the getData argments used to return the new observations. |
Definition at line 212 of file MyCaffeTrainerRNN.cs.
DatasetDescriptor MyCaffe.trainers.MyCaffeTrainerRNN.GetDatasetOverride | ( | int | nProjectID, |
ConnectInfo | ci = null |
||
) |
Returns a dataset override to use (if any) instead of the project's dataset. If there is no dataset override null is returned and the project's dataset is used.
nProjectID | Specifies the project ID associated with the trainer (if any) |
ci | Optionally, specifies the database connection information (default = null). |
Implements MyCaffe.trainers.IXMyCaffeCustomTrainer.
Definition at line 319 of file MyCaffeTrainerRNN.cs.
double MyCaffe.trainers.MyCaffeTrainerRNN.GetProperty | ( | string | strProp | ) |
Returns a specific property value.
strProp | Specifies the property to get. |
The following properties are supported by the RNN trainers: 'GlobalIteration'
Implements MyCaffe.trainers.IXMyCaffeCustomTrainer.
Definition at line 573 of file MyCaffeTrainerRNN.cs.
bool MyCaffe.trainers.MyCaffeTrainerRNN.GetUpdateSnapshot | ( | out int | nIteration, |
out double | dfAccuracy | ||
) |
Returns true when the training is ready for a snap-shot, false otherwise.
nIteration | Specifies the current iteration. |
dfAccuracy | Specifies the current accuracy. |
Implements MyCaffe.trainers.IXMyCaffeCustomTrainer.
Definition at line 308 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Override called by the Initialize method of the trainer.
When providing a new trainer, this method is not used.
e | Specifies the initialization arguments. |
Definition at line 196 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.Initialize | ( | string | strProperties, |
IXMyCaffeCustomTrainerCallback | icallback | ||
) |
Initializes a new custom trainer by loading the key-value pair of properties into the property set.
strProperties | Specifies the key-value pair of properties each separated by ';'. For example the expected format is 'key1'='value1';'key2'='value2';... |
icallback | Specifies the parent callback. |
Implements MyCaffe.trainers.IXMyCaffeCustomTrainer.
Definition at line 377 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.OnConvertOutput | ( | ConvertOutputArgs | e | ) |
The OnConvertOutput callback fires from within the Run method and is used to convert the network output into its native format.
e | Specifies the event arguments. |
Implements MyCaffe.trainers.IxTrainerCallbackRNN.
Definition at line 521 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.OnGetData | ( | GetDataArgs | e | ) |
The OnGetData callback fires from within the Train method and is used to get a new observation data.
Implements MyCaffe.trainers.IxTrainerCallback.
Definition at line 512 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.OnInitialize | ( | InitializeArgs | e | ) |
The OnIntialize callback fires when initializing the trainer.
Implements MyCaffe.trainers.IxTrainerCallback.
Definition at line 496 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.OnShutdown | ( | ) |
The OnShutdown callback fires when shutting down the trainer.
Implements MyCaffe.trainers.IxTrainerCallback.
Definition at line 504 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.OnTestAccuracyUpdate | ( | TestAccuracyUpdateArgs | e | ) |
The OnTestAccuracyUpdate callback fires from within the Run method and is used to give the recipient the chance to determine whether the label detected is correct or not.
e | Specifies the argument sent with the callback. |
Implements MyCaffe.trainers.IxTrainerCallbackRNN.
Definition at line 530 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.OnUpdateStatus | ( | GetStatusArgs | e | ) |
The OnGetStatus callback fires on each iteration within the Train method.
Implements MyCaffe.trainers.IxTrainerCallback.
Definition at line 538 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.OnWait | ( | WaitArgs | e | ) |
The OnWait callback fires when waiting for a shutdown.
Implements MyCaffe.trainers.IxTrainerCallback.
Definition at line 559 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Called by OpenUi, override this when a UI (via WCF) should be displayed.
Definition at line 257 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.OpenUi | ( | ) |
Open the user interface for the trainer, of one exists.
Implements MyCaffe.trainers.IXMyCaffeCustomTrainer.
Definition at line 605 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
The preloaddata method gives the custom trainer an opportunity to pre-load any data.
log | Specifies the output log to use. |
evtCancel | Specifies the cancel event. |
nProjectID | Specifies the project ID if any. |
propertyOverride | Optionally, specifies the properites to override those already specified during initialization (default = null). |
ci | Optionally, specifies the database connection information (default = null). |
Definition at line 270 of file MyCaffeTrainerRNN.cs.
BucketCollection MyCaffe.trainers.MyCaffeTrainerRNN.PreloadData | ( | Log | log, |
CancelEvent | evtCancel, | ||
int | nProjectID, | ||
PropertySet | propertyOverride = null , |
||
ConnectInfo | ci = null |
||
) |
The PreloadData method gives the custom trainer an opportunity to pre-load any data.
log | Specifies the output log to use. |
evtCancel | Specifies the cancel event. |
nProjectID | Specifies the project ID used, if any. |
propertyOverride | Optionally, specifies the properites to override those already specified during initialization (default = null). |
ci | Optionally, specifies the database connection information (default = null). |
Implements MyCaffe.trainers.IXMyCaffeCustomTrainerRNN.
Definition at line 619 of file MyCaffeTrainerRNN.cs.
string MyCaffe.trainers.MyCaffeTrainerRNN.ResizeModel | ( | Log | log, |
string | strModel, | ||
BucketCollection | rgVocabulary | ||
) |
The ResizeModel method gives the custom trainer the opportunity to resize the model if needed.
strModel | Specifies the model descriptor. |
rgVocabulary | Specifies the vocabulary. |
log | Specifies the output log. |
Note, this method is called after PreloadData.
Implements MyCaffe.trainers.IXMyCaffeCustomTrainerRNN.
Definition at line 632 of file MyCaffeTrainerRNN.cs.
float[] MyCaffe.trainers.MyCaffeTrainerRNN.Run | ( | Component | mycaffe, |
int | nN | ||
) |
Create a new trainer and use it to run a single run cycle.
mycaffe | Specifies the MyCaffeControl to use. |
nN | Specifies the number of samples to run. |
Implements MyCaffe.trainers.IXMyCaffeCustomTrainerRNN.
Definition at line 415 of file MyCaffeTrainerRNN.cs.
byte[] MyCaffe.trainers.MyCaffeTrainerRNN.Run | ( | Component | mycaffe, |
int | nN, | ||
out string | type | ||
) |
Run the network using the run technique implemented by this trainer.
mycaffe | Specifies an instance to the MyCaffeControl component. |
nN | Specifies the number of samples to run. |
type | Specifies the output data type returned as a raw byte stream. |
Implements MyCaffe.trainers.IXMyCaffeCustomTrainerRNN.
Definition at line 438 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Override called from within the CleanUp method.
Definition at line 203 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.Test | ( | Component | mycaffe, |
int | nIterationOverride, | ||
ITERATOR_TYPE | type = ITERATOR_TYPE.ITERATION |
||
) |
Create a new trainer and use it to run a test cycle.
mycaffe | Specifies the MyCaffeControl to use. |
nIterationOverride | Specifies the iterations to run if greater than zero. |
type | Specifies the type of iterator to use. |
Implements MyCaffe.trainers.IXMyCaffeCustomTrainer.
Definition at line 460 of file MyCaffeTrainerRNN.cs.
|
protectedvirtual |
Override called by the OnTestAccuracyUpdate event fired from within the Run method and is used to give the recipient the chance to determine whether the label detected is correct or not.
e | Specifies the argument sent with the callback. |
Definition at line 231 of file MyCaffeTrainerRNN.cs.
void MyCaffe.trainers.MyCaffeTrainerRNN.Train | ( | Component | mycaffe, |
int | nIterationOverride, | ||
ITERATOR_TYPE | type = ITERATOR_TYPE.ITERATION , |
||
TRAIN_STEP | step = TRAIN_STEP.NONE |
||
) |
Create a new trainer and use it to run a training cycle.
mycaffe | Specifies the MyCaffeControl to use. |
nIterationOverride | Specifies the iterations to run if greater than zero. |
type | Specifies the type of iterator to use. |
step | Optionally, specifies whether or not to step the training for debugging (default = NONE). |
Implements MyCaffe.trainers.IXMyCaffeCustomTrainer.
Definition at line 479 of file MyCaffeTrainerRNN.cs.
|
protected |
Optionally, specifies the dataset connection info, or null.
Definition at line 45 of file MyCaffeTrainerRNN.cs.
|
protected |
Specifies the project ID of the project held by the instance of MyCaffe.
Definition at line 41 of file MyCaffeTrainerRNN.cs.
|
protected |
Specifies the properties parsed from the key-value pair passed to the Initialize method.
Definition at line 37 of file MyCaffeTrainerRNN.cs.
|
getprotected |
Override when using a training method other than the RECURRENT method (the default).
Definition at line 97 of file MyCaffeTrainerRNN.cs.
|
get |
Returns information describing the trainer.
Definition at line 597 of file MyCaffeTrainerRNN.cs.
|
get |
Returns whether or not Running is supported.
Definition at line 343 of file MyCaffeTrainerRNN.cs.
|
get |
Returns whether or not Testing is supported.
Definition at line 335 of file MyCaffeTrainerRNN.cs.
|
get |
Returns whether or not Training is supported.
Definition at line 327 of file MyCaffeTrainerRNN.cs.
|
getprotected |
Overriden to give the actual name of the custom trainer.
Definition at line 89 of file MyCaffeTrainerRNN.cs.
|
get |
Returns the name of the custom trainer. This method calls the 'name' override.
Definition at line 290 of file MyCaffeTrainerRNN.cs.
|
get |
Returns the Stage.RNN type.
Definition at line 282 of file MyCaffeTrainerRNN.cs.
|
get |
Returns the training category of the custom trainer (default = REINFORCEMENT).
Definition at line 298 of file MyCaffeTrainerRNN.cs.