Exemplo n.º 1
0
        /// <summary>
        /// Open any datasets that were used by the input layer.
        /// </summary>
        private void OpenDataSet()
        {
            // clear out any data sets already there
            _readDataSet.Clear();
            _dataSetFieldMap.Clear();
            _dataSetIteratorMap.Clear();

            // only add each iterator once
            IDictionary<IMLDataSet, MLDataFieldHolder> uniqueSets = new Dictionary<IMLDataSet, MLDataFieldHolder>();

            // find the unique files
            foreach (IInputField field in _inputFields)
            {
                if (field is InputFieldMLDataSet)
                {
                    var dataSetField = (InputFieldMLDataSet)field;
                    IMLDataSet dataSet = dataSetField.NeuralDataSet;
                    if (!uniqueSets.ContainsKey(dataSet))
                    {
                        IEnumerator<IMLDataPair> iterator = dataSet
                            .GetEnumerator();
                        var holder = new MLDataFieldHolder(
                            iterator, dataSetField);
                        uniqueSets[dataSet] = holder;
                        _readDataSet.Add(iterator);
                    }

                    MLDataFieldHolder holder2 = uniqueSets[dataSet];

                    _dataSetFieldMap[dataSetField] = holder2;
                    _dataSetIteratorMap[holder2.GetEnumerator()] = holder2;
                }
            }
        }
Exemplo n.º 2
0
 private void OpenDataSet()
 {
     this._readDataSet.Clear();
     this._dataSetFieldMap.Clear();
     this._dataSetIteratorMap.Clear();
     IDictionary<IMLDataSet, MLDataFieldHolder> dictionary = new Dictionary<IMLDataSet, MLDataFieldHolder>();
     using (IEnumerator<IInputField> enumerator2 = this._inputFields.GetEnumerator())
     {
         IInputField field;
         InputFieldMLDataSet set;
         IMLDataSet neuralDataSet;
         IEnumerator<IMLDataPair> enumerator;
         MLDataFieldHolder holder;
         MLDataFieldHolder holder2;
         goto Label_006B;
     Label_0036:
         holder2 = dictionary[neuralDataSet];
         this._dataSetFieldMap[set] = holder2;
         this._dataSetIteratorMap[holder2.GetEnumerator()] = holder2;
         goto Label_006B;
     Label_0063:
         if (field is InputFieldMLDataSet)
         {
             goto Label_00B5;
         }
     Label_006B:
         if (!enumerator2.MoveNext() && (0 == 0))
         {
             return;
         }
         goto Label_00CB;
     Label_007C:
         holder = new MLDataFieldHolder(enumerator, set);
         dictionary[neuralDataSet] = holder;
     Label_008F:
         this._readDataSet.Add(enumerator);
         goto Label_0036;
     Label_009E:
         if (dictionary.ContainsKey(neuralDataSet))
         {
             goto Label_0036;
         }
         enumerator = neuralDataSet.GetEnumerator();
         goto Label_00D5;
     Label_00B5:
         set = (InputFieldMLDataSet) field;
         if (0 == 0)
         {
             neuralDataSet = set.NeuralDataSet;
             if (0 != 0)
             {
                 goto Label_008F;
             }
         }
         goto Label_009E;
     Label_00CB:
         field = enumerator2.Current;
         goto Label_0063;
     Label_00D5:
         if (0 == 0)
         {
             goto Label_007C;
         }
         goto Label_0036;
     }
 }