MyCaffe  1.12.2.41
Deep learning software for Windows C# programmers.
MyCaffeTemporalDatabase.cs
1using MyCaffe.basecode;
3using MyCaffe.db.image;
4using System;
5using System.Collections.Generic;
7using System.Diagnostics;
8using System.Linq;
9using System.Runtime.InteropServices;
10using System.Security.Cryptography;
11using System.Text;
12using System.Threading;
13using System.Threading.Tasks;
14
18namespace MyCaffe.db.temporal
19{
30 {
31 SettingsCaffe m_settings;
32 PropertySet m_prop;
33 CryptoRandom m_random = null;
34 EventWaitHandle m_evtInitializing = null;
35 EventWaitHandle m_evtInitialized = null;
36 EventWaitHandle m_evtAbortInitialization = null;
37 bool m_bEnabled = false;
38 static object m_syncObject = new object();
39 DB_ITEM_SELECTION_METHOD m_valueSelectionMethod = DB_ITEM_SELECTION_METHOD.RANDOM;
40 DB_LABEL_SELECTION_METHOD m_itemSelectionMethod = DB_LABEL_SELECTION_METHOD.RANDOM;
41 Log m_log;
42 DB_LOAD_METHOD m_loadMethod = DB_LOAD_METHOD.LOAD_ON_DEMAND;
43 int m_nLoadLimit = 0;
44 Guid m_userGuid;
45 DatasetCollection m_rgDataSets = new DatasetCollection();
46 Dictionary<int, TemporalSet> m_rgTemporalSets = new Dictionary<int, TemporalSet>();
47
54 {
55 m_log = log;
56 m_prop = prop;
57 InitializeComponent();
58 }
59
64 public MyCaffeTemporalDatabase(IContainer container)
65 {
66 container.Add(this);
67
68 InitializeComponent();
69 }
70
76 public void CleanUp(int nDsId = 0, bool bForce = false)
77 {
78 foreach (TemporalSet ts in m_rgTemporalSets.Values)
79 {
80 ts.CleanUp();
81 }
82
83 m_rgTemporalSets.Clear();
84 m_rgDataSets.CleanUp(nDsId);
85 }
86
92 public static void CreateDatabaseTables(ConnectInfo ci, bool bTemporalOnly)
93 {
94 if (ci == null)
96
98 if (bTemporalOnly)
99 {
100 dbMgr.CreateTemporalTables();
101 }
102 else
103 {
104 Exception excpt = dbMgr.CreateDatabase();
105
106 if (excpt != null)
107 throw excpt;
108 }
109 }
110
111
118 public void Reset()
119 {
120 foreach (KeyValuePair<int, TemporalSet> kv in m_rgTemporalSets)
121 {
122 kv.Value.Reset();
123 }
124 }
125
134 public int GetTotalSize(int nDsId, Phase phase, int nHistoricalSteps, int nFutureSteps)
135 {
136 DataSet ds = m_rgDataSets.Find(nDsId);
137 if (ds == null)
138 return 0;
139
140 SourceDescriptor sd = (phase == Phase.TRAIN) ? ds.Dataset.TrainingSource : ds.Dataset.TestingSource;
141
142 if (sd == null)
143 return 0;
144
145 if (sd.TemporalDescriptor == null)
146 return 0;
147
148 int nStepsPerBlock = nHistoricalSteps + nFutureSteps;
149 int? nTotalSteps = sd.TemporalDescriptor.ValueItemDescriptors.Max(p => p.Steps);
150 if (!nTotalSteps.HasValue || nTotalSteps.Value < nStepsPerBlock)
151 m_log.FAIL("Stream: " + sd.Name + " - The number of historical and future steps must be less than the number of steps in the temporal data stream. The steps per block = " + nStepsPerBlock.ToString() + " and the total steps = " + nTotalSteps.ToString() + " items.");
152
153 int nRowBlocks = nTotalSteps.Value - nStepsPerBlock;
154 int nTotal = sd.TemporalDescriptor.ValueItemDescriptors.Count * nRowBlocks;
155
156 return nTotal;
157 }
158
165 {
166 DataSet ds = m_rgDataSets.Find(nDsId);
167 if (ds == null)
168 return null;
169
170 return ds.Dataset;
171 }
172
179 {
180 DataSet ds = m_rgDataSets.Find(strDs);
181 if (ds == null)
182 {
183 DatabaseLoader dbLoader = new DatabaseLoader();
184 return dbLoader.LoadDatasetFromDb(strDs);
185 }
186
187 return ds.Dataset;
188 }
189
195 public int GetDatasetID(string strDs)
196 {
197 return m_rgDataSets.GetDatasetID(strDs);
198 }
199
207 public double GetDatasetLoadedPercentById(int nDatasetID, out double dfTraining, out double dfTesting)
208 {
209 DataSet ds = m_rgDataSets.Find(nDatasetID);
210 if (ds == null)
211 {
212 dfTraining = 0;
213 dfTesting = 0;
214 return 0;
215 }
216
217 return ds.GetLoadPercent(out dfTraining, out dfTesting);
218 }
219
227 public double GetDatasetLoadedPercentByName(string strDataset, out double dfTraining, out double dfTesting)
228 {
229 return GetDatasetLoadedPercentById(GetDatasetID(strDataset), out dfTraining, out dfTesting);
230 }
231
237 public string GetDatasetName(int nDsId)
238 {
239 DataSet ds = m_rgDataSets.Find(nDsId);
240 if (ds == null)
241 return null;
242
243 return ds.Dataset.Name;
244 }
245
251 public static Tuple<DB_LABEL_SELECTION_METHOD, DB_ITEM_SELECTION_METHOD> GetSelectionMethod(SettingsCaffe s)
252 {
253 DB_ITEM_SELECTION_METHOD itemSelectionMethod = DB_ITEM_SELECTION_METHOD.NONE;
254 DB_LABEL_SELECTION_METHOD valueSelectionMethod = DB_LABEL_SELECTION_METHOD.NONE;
255
257 itemSelectionMethod |= DB_ITEM_SELECTION_METHOD.RANDOM;
258
260 valueSelectionMethod |= DB_LABEL_SELECTION_METHOD.RANDOM;
261
262 return new Tuple<DB_LABEL_SELECTION_METHOD, DB_ITEM_SELECTION_METHOD>(valueSelectionMethod, itemSelectionMethod);
263 }
264
270 public static Tuple<DB_LABEL_SELECTION_METHOD, DB_ITEM_SELECTION_METHOD> GetSelectionMethod(ProjectEx p)
271 {
272 DB_ITEM_SELECTION_METHOD valueSelectionMethod = DB_ITEM_SELECTION_METHOD.NONE;
273 DB_LABEL_SELECTION_METHOD itemSelectionMethod = DB_LABEL_SELECTION_METHOD.NONE;
274
276 valueSelectionMethod |= DB_ITEM_SELECTION_METHOD.RANDOM;
277
279 itemSelectionMethod |= DB_LABEL_SELECTION_METHOD.RANDOM;
280
281 return new Tuple<DB_LABEL_SELECTION_METHOD, DB_ITEM_SELECTION_METHOD>(itemSelectionMethod, valueSelectionMethod);
282 }
283
288 public Tuple<DB_LABEL_SELECTION_METHOD, DB_ITEM_SELECTION_METHOD> GetSelectionMethod()
289 {
290 return new Tuple<DB_LABEL_SELECTION_METHOD, DB_ITEM_SELECTION_METHOD>(m_itemSelectionMethod, m_valueSelectionMethod);
291 }
292
299 {
300 return m_rgDataSets.FindSourceByID(nSrcId);
301 }
302
308 public SourceDescriptor GetSourceByName(string strSrc)
309 {
310 return m_rgDataSets.FindSourceByName(strSrc);
311 }
312
318 public int GetSourceID(string strSrc)
319 {
321 if (sd == null)
322 return 0;
323
324 return sd.ID;
325 }
326
332 public string GetSourceName(int nSrcId)
333 {
334 SourceDescriptor sd = GetSourceById(nSrcId);
335 if (sd == null)
336 return null;
337
338 return sd.Name;
339 }
340
346 public bool ReloadDataset(int nDsId)
347 {
348 UnloadDatasetById(nDsId);
349 return InitializeWithDsId1(m_settings, nDsId);
350 }
351
357 public bool UnloadDatasetById(int nDsId)
358 {
359 if (nDsId > 0)
360 {
361 DataSet ds = m_rgDataSets.Find(nDsId);
362 if (ds != null)
363 {
364 m_rgDataSets.CleanUp(nDsId);
365 return true;
366 }
367 }
368 else
369 {
370 m_rgDataSets.CleanUp(0);
371 }
372
373 return false;
374 }
375
381 public bool UnloadDatasetByName(string strDataset)
382 {
383 return UnloadDatasetById(GetDatasetID(strDataset));
384 }
385
391 {
392 return DB_VERSION.TEMPORAL;
393 }
394
407 {
408 m_prop = prop;
409 }
410
425 public bool InitializeWithDsId1(SettingsCaffe s, int nDataSetID, string strEvtCancel = null, int nPadW = 0, int nPadH = 0, PropertySet prop = null)
426 {
427 m_settings = s;
428 m_evtAbortInitialization = new AutoResetEvent(false);
429
430 DataSet ds = m_rgDataSets.Find(nDataSetID);
431 if (ds == null)
432 {
433 DatabaseLoader dsLoader = new DatabaseLoader();
434 DatasetDescriptor dsd = dsLoader.LoadDatasetFromDb(nDataSetID);
435 ds = m_rgDataSets.Add(dsd, m_log);
436 }
437
438 if (prop == null)
439 prop = m_prop;
440
441 if (prop == null)
442 throw new Exception("You must first call SetInitializationProperties with the properties to use for initialization.");
443
444 bool bNormalizeData = prop.GetPropertyAsBool("NormalizedData", true);
445 int nHistSteps = prop.GetPropertyAsInt("HistoricalSteps", 0);
446 int nFutureSteps = prop.GetPropertyAsInt("FutureSteps", 0);
447 int nChunks = prop.GetPropertyAsInt("Chunks", 1024);
448
449 if (nHistSteps == 0)
450 throw new Exception("The historical steps are missing from the properties, please add the 'HistoricalSteps' property with a value > 0.");
451 if (nFutureSteps == 0)
452 throw new Exception("The future steps are missing from the properties, please add the 'FutureSteps' property with a value > 0.");
453
454 if (nHistSteps < 0 || nFutureSteps < 0)
455 throw new Exception("The historical and future steps must be > 0.");
456
457 return ds.Load(s.DbLoadMethod, s.DbLoadLimit, s.DbAutoRefreshScheduledReplacementPercent, s.DbAutoRefreshScheduledUpdateInMs, bNormalizeData, nHistSteps, nFutureSteps, nChunks, m_evtAbortInitialization);
458 }
459
472 public bool InitializeWithDs1(SettingsCaffe s, DatasetDescriptor ds1, string strEvtCancel = null, PropertySet prop = null)
473 {
474 return InitializeWithDsId1(s, ds1.ID, strEvtCancel, 0, 0, prop);
475 }
476
489 public bool InitializeWithDsName1(SettingsCaffe s, string strDs, string strEvtCancel = null, PropertySet prop = null)
490 {
491 int nDsID = m_rgDataSets.GetDatasetID(strDs);
492 if (nDsID == 0)
493 {
495 nDsID = db.GetDatasetID(strDs);
496 if (nDsID == 0)
497 return false;
498 }
499
500 return InitializeWithDsId1(s, nDsID, strEvtCancel, 0, 0, null);
501 }
502
509 public bool LoadDatasetByID1(int nDsId, string strEvtCancel = null)
510 {
512 s.DbLoadMethod = DB_LOAD_METHOD.LOAD_ALL;
513 s.DbLoadLimit = 0;
514 return InitializeWithDsId1(s, nDsId, strEvtCancel);
515 }
516
523 public bool LoadDatasetByName1(string strDs, string strEvtCancel = null)
524 {
526 s.DbLoadMethod = DB_LOAD_METHOD.LOAD_ALL;
527 s.DbLoadLimit = 0;
528 return InitializeWithDsName1(s, strDs, strEvtCancel);
529 }
530
531 private TemporalSet getTemporalSet(int nSrcId)
532 {
533 TemporalSet ts = null;
534
535 if (m_rgTemporalSets.ContainsKey(nSrcId))
536 {
537 ts = m_rgTemporalSets[nSrcId];
538 }
539 else
540 {
541 ts = m_rgDataSets.FindTemporalSetBySourceID(nSrcId);
542 m_rgTemporalSets.Add(nSrcId, ts);
543 }
544
545 return ts;
546 }
547
560 public SimpleTemporalDatumCollection QueryTemporalItem(int nQueryIdx, int nSrcId, ref int? nItemIdx, ref int? nValueIdx, DB_LABEL_SELECTION_METHOD? itemSelectionOverride = null, DB_ITEM_SELECTION_METHOD? valueSelectionOverride = null, bool bEnableDebug = false, string strDebugPath = null)
561 {
562 TemporalSet ts = getTemporalSet(nSrcId);
563 DB_LABEL_SELECTION_METHOD itemSelection = (itemSelectionOverride.HasValue) ? itemSelectionOverride.Value : m_itemSelectionMethod;
564 DB_ITEM_SELECTION_METHOD valueSelection = (valueSelectionOverride.HasValue) ? valueSelectionOverride.Value : m_valueSelectionMethod;
565
566 return ts.GetData(nQueryIdx, ref nItemIdx, ref nValueIdx, itemSelection, valueSelection, 1, bEnableDebug, strDebugPath);
567 }
568
569
575 {
577 }
578
585 {
586 if (item.HasValue)
587 m_itemSelectionMethod = item.Value;
588 if (value.HasValue)
589 m_valueSelectionMethod = value.Value;
590 }
591
592 //---------------------------------------------------------------------
593 // Not Implemented
594 //---------------------------------------------------------------------
595 #region Not Implemented
596 public int FindItemIndex(int nSrcId, DateTime dt, string strDescription)
597 {
598 throw new NotImplementedException();
599 }
600
601 public SimpleDatum GetItem(int nItemID, params int[] rgSrcId)
602 {
603 throw new NotImplementedException();
604 }
605
606 public int GetItemCount(int nSrcId, string strFilterVal = null, int? nBoostVal = null, bool bBoostValIsExact = false)
607 {
608 TemporalSet ts = getTemporalSet(nSrcId);
609 return ts.GetCount();
610 }
611
612 public SimpleDatum GetItemMean(int nSrcId)
613 {
614 throw new NotImplementedException();
615 }
616
617 public List<SimpleDatum> GetItems(int nSrcId, int[] rgIdx, string strFilterVal = null, int? nBoostVal = null, bool bBoostValIsExact = false)
618 {
619 throw new NotImplementedException();
620 }
621
622 public List<SimpleDatum> GetItemsFromIndex(int nSrcId, int nStartIdx, int nQueryCount = int.MaxValue, string strFilterVal = null, int? nBoostVal = null, bool bBoostValIsExact = false, bool bAttemptDirectLoad = false)
623 {
624 throw new NotImplementedException();
625 }
626
627 public List<SimpleDatum> GetItemsFromTime(int nSrcId, DateTime dtStart, int nQueryCount = int.MaxValue, string strFilterVal = null, int? nBoostVal = null, bool bBoostValIsExact = false)
628 {
629 throw new NotImplementedException();
630 }
631
632 public bool GetLoadItemDataCriteria()
633 {
634 throw new NotImplementedException();
635 }
636
637 public bool GetLoadItemDebugData()
638 {
639 throw new NotImplementedException();
640 }
641
642 public SimpleDatum QueryItem(int nSrcId, int nIdx, DB_LABEL_SELECTION_METHOD? labelSelectionOverride = null, DB_ITEM_SELECTION_METHOD? imageSelectionOverride = null, int? nLabel = null, bool bLoadDataCriteria = false, bool bLoadDebugData = false)
643 {
644 return null;
645 }
646
647 public SimpleDatum QueryItemMean(int nSrcId)
648 {
649 return null;
650 }
651
652 public SimpleDatum QueryItemMeanFromDataset(int nDatasetId)
653 {
654 return null;
655 }
656
657 public SimpleDatum QueryItemMeanFromDb(int nSrcId)
658 {
659 return null;
660 }
661
662 #endregion
663 }
664}
The ConnectInfo class specifies the server, database and username/password used to connect to a datab...
Definition: ConnectInfo.cs:14
The CryptoRandom is a random number generator that can use either the standard .Net Random objec or t...
Definition: CryptoRandom.cs:14
The Log class provides general output in text form.
Definition: Log.cs:13
void FAIL(string str)
Causes a failure which throws an exception with the desciptive text.
Definition: Log.cs:394
The ProjectEx class manages a project containing the solver description, model description,...
Definition: ProjectEx.cs:15
bool EnableRandomSelection
Returns whether or not random image selection is enabled. When enabled, images are randomly selected ...
Definition: ProjectEx.cs:648
bool EnableLabelBalancing
Returns whether or not label balancing is enabled. When enabled, first the label set is randomly sele...
Definition: ProjectEx.cs:630
Specifies a key-value pair of properties.
Definition: PropertySet.cs:16
The SettingsCaffe defines the settings used by the MyCaffe CaffeControl.
bool EnableRandomInputSelection
Get/set random image selection. When enabled, images are randomly selected from the entire set,...
double DbAutoRefreshScheduledReplacementPercent
Get/set the automatic refresh scheduled update replacement percentage used on refresh (default = 0....
int DbLoadLimit
Get/set the image database load limit.
DB_LOAD_METHOD DbLoadMethod
Get/set the image database loading method.
int DbAutoRefreshScheduledUpdateInMs
Get/set the automatic refresh scheduled udpate period (default = 10000, only applies when ImageDbLoad...
bool EnableLabelBalancing
Get/set label balancing. When enabled, first the label set is randomly selected and then the image is...
The SimpleDatum class holds a data input within host memory.
Definition: SimpleDatum.cs:161
The SimpleTemporalDatumCollection manages a collection of SimpleTemporalDatum objects.
Definition: SimpleDatum.cs:91
int ID
Get/set the database ID of the item.
string Name
Get/set the name of the item.
The DatasetDescriptor class describes a dataset which contains both a training data source and testin...
SourceDescriptor TrainingSource
Get/set the training data source.
SourceDescriptor TestingSource
Get/set the testing data source.
The SourceDescriptor class contains all information describing a data source.
TemporalDescriptor TemporalDescriptor
Get/set the temporal descriptor (if any).
List< ValueItemDescriptor > ValueItemDescriptors
Returns the value item descriptor.
int GetDatasetID(string strName, ConnectInfo ci=null)
Returns a datasets ID given its name.
Definition: Database.cs:4612
The DatabaseManagement class is used to create the image database.
void CreateTemporalTables()
Create the temporal tables.
Exception CreateDatabase(bool bUpdateDatabase=false)
The CreateDatabae creates a new instance of the database in Microsoft SQL.
The EntitiesConnection class defines how to connect to the database via Entity Frameworks.
static ConnectInfo GlobalDatabaseConnectInfo
Get/set the global database connection info.
The DataSet class loads the training and testing data.
Definition: DataSet.cs:17
DatasetDescriptor Dataset
Return the dataset descriptor.
Definition: DataSet.cs:55
double GetLoadPercent(out double dfTraining, out double dfTesting)
Return the load percentage for the dataset.
Definition: DataSet.cs:91
bool Load(DB_LOAD_METHOD loadMethod, int nLoadLimit, double dfReplacementPct, int nRefreshUpdateMs, bool bNormalizedData, int nHistoricalSteps, int nFutureSteps, int nChunks, EventWaitHandle evtCancel)
Load the training and testing data.
Definition: DataSet.cs:118
The DatasetLoader is used to load descriptors from the database.
DatasetDescriptor LoadDatasetFromDb(string strDs)
Load a dataset with the specified name from the database.
The DatabaseTemporal is used to manage all temporal specific database objects.
The DatasetCollection manages a set of datasets.
TemporalSet FindTemporalSetBySourceID(int nSrcID)
Find the temporal set associated with the source ID.
SourceDescriptor FindSourceByID(int nSrcID)
Find the source descriptor associated with the source ID.
void CleanUp(int nDsID)
Release all resources used by the dataset with the specified ID.
DataSet Find(int nDatasetID)
Find and return the dataset associated with the dataset ID.
DataSet Add(DatasetDescriptor dsd, Log log)
Add a new dataset to the collection if it does not already exist.
SourceDescriptor FindSourceByName(string strSrc)
Find the source descriptor associated with the source Name.
int GetDatasetID(string strDs)
Returns the dataset ID associated with the dataset name.
[Temporal Database] The MyCaffeTemporalDatabase provides an enhanced in-memory temporal database used...
double GetDatasetLoadedPercentByName(string strDataset, out double dfTraining, out double dfTesting)
Return the load percentage for a dataset.
bool LoadDatasetByName1(string strDs, string strEvtCancel=null)
Load the dataset specified by the dataset name.
static Tuple< DB_LABEL_SELECTION_METHOD, DB_ITEM_SELECTION_METHOD > GetSelectionMethod(SettingsCaffe s)
Returns the item/value selection methods based on the SettingsCaffe settings.
bool InitializeWithDs1(SettingsCaffe s, DatasetDescriptor ds1, string strEvtCancel=null, PropertySet prop=null)
Initialize the database with the specified dataset descriptor.
bool UnloadDatasetById(int nDsId)
Unload the dataset specified by the dataset ID.
DatasetDescriptor GetDatasetById(int nDsId)
Return the dataset descriptor of the dataset with the specified ID.
SourceDescriptor GetSourceByName(string strSrc)
Get the source given its name.
void SetSelectionMethod(DB_LABEL_SELECTION_METHOD? item, DB_ITEM_SELECTION_METHOD? value)
Sets the label and image selection methods.
SourceDescriptor GetSourceById(int nSrcId)
Get the source given its ID.
static void CreateDatabaseTables(ConnectInfo ci, bool bTemporalOnly)
Create the database tables used by the MyCaffeTemporalDatabase.
void CleanUp(int nDsId=0, bool bForce=false)
Cleanup all resources used by the dataset specified (or all when no dataset is specified).
Tuple< DB_LABEL_SELECTION_METHOD, DB_ITEM_SELECTION_METHOD > GetSelectionMethod()
Returns the item and value selection method used.
string GetDatasetName(int nDsId)
Returns the dataset name given its ID.
void SetInitializationProperties(PropertySet prop)
Set the initialization properties to use when initializing a dataset.
int GetSourceID(string strSrc)
Get the source ID given its name.
static Tuple< DB_LABEL_SELECTION_METHOD, DB_ITEM_SELECTION_METHOD > GetSelectionMethod(ProjectEx p)
Returns the item/value selection methods based on the ProjectEx settings.
MyCaffeTemporalDatabase(IContainer container)
The constructor.
void SetConnection(ConnectInfo ci)
Set the database connection to use.
bool InitializeWithDsName1(SettingsCaffe s, string strDs, string strEvtCancel=null, PropertySet prop=null)
Initialize the database with the specified dataset name.
int GetDatasetID(string strDs)
Return the dataset ID of the dataset with the specified dataset name.
SimpleTemporalDatumCollection QueryTemporalItem(int nQueryIdx, int nSrcId, ref int? nItemIdx, ref int? nValueIdx, DB_LABEL_SELECTION_METHOD? itemSelectionOverride=null, DB_ITEM_SELECTION_METHOD? valueSelectionOverride=null, bool bEnableDebug=false, string strDebugPath=null)
Returns a block of static, observed and known data from the database where one block is a set of (his...
bool ReloadDataset(int nDsId)
Reload the dataset with the specified dataset ID.
MyCaffeTemporalDatabase(Log log, PropertySet prop)
The constructor.
int GetTotalSize(int nDsId, Phase phase, int nHistoricalSteps, int nFutureSteps)
Returns the total number of blocks in the database where one block is a set of (historical and future...
DB_VERSION GetVersion()
Returns the version of the database (e.g., TEMPORAL).
bool LoadDatasetByID1(int nDsId, string strEvtCancel=null)
Load the dataset specified by the dataset ID.
bool UnloadDatasetByName(string strDataset)
Unload the dataset specified by the dataset name.
bool InitializeWithDsId1(SettingsCaffe s, int nDataSetID, string strEvtCancel=null, int nPadW=0, int nPadH=0, PropertySet prop=null)
Initialize the database with the specified dataset ID.
DatasetDescriptor GetDatasetByName(string strDs)
Return the dataset descriptor of the dataset with the specified dataset name.
double GetDatasetLoadedPercentById(int nDatasetID, out double dfTraining, out double dfTesting)
Return the load percentage for dataset ID.
string GetSourceName(int nSrcId)
Get the source name given its ID.
The TemporalSet manages a set of temporal data for a given data source.
Definition: TemporalSet.cs:21
SimpleTemporalDatumCollection GetData(int nQueryIdx, ref int? nItemIdx, ref int? nValueIdx, DB_LABEL_SELECTION_METHOD itemSelectionMethod, DB_ITEM_SELECTION_METHOD valueSelectionMethod, int nValueStepOffset=1, bool bEnableDebug=false, string strDebugPath=null)
Get a data set consisting of the static, historical, and future data for a selected item where the st...
Definition: TemporalSet.cs:338
void CleanUp()
Release all resources used by the temporal set and shut down all internal threads.
Definition: TemporalSet.cs:99
The Component class is a standard Microsoft.NET class that implements the IComponent interface and is...
Definition: Component.cs:18
Teh IXTemporalDatabaseBase interface defines the general interface to the in-memory temporal database...
Definition: Interfaces.cs:827
The descriptors namespace contains all descriptor used to describe various items stored within the da...
The MyCaffe.basecode contains all generic types used throughout MyCaffe.
Definition: Annotation.cs:12
DB_ITEM_SELECTION_METHOD
Defines the item (e.g., image or temporal item) selection method.
Definition: Interfaces.cs:278
DB_LOAD_METHOD
Defines how to laod the items into the in-memory database.
Definition: Interfaces.cs:154
Phase
Defines the Phase under which to run a Net.
Definition: Interfaces.cs:61
DB_VERSION
Defines the image database version to use.
Definition: Interfaces.cs:397
DB_LABEL_SELECTION_METHOD
Defines the label selection method.
Definition: Interfaces.cs:333
The MyCaffe.db.image namespace contains all image database related classes.
Definition: Database.cs:18
The MyCaffe.db.temporal namespace contains all classes used to create the MyCaffeTemporalDatabase in-...
The MyCaffe namespace contains the main body of MyCaffe code that closesly tracks the C++ Caffe open-...
Definition: Annotation.cs:12