/// <summary> /// Получить данные слоя. /// </summary> /// <param name="returnType">Тип возвращаемых значений.</param> /// <returns>Возвращаемые значения.</returns> public override dynamic GetData(LayerReturnType returnType) { switch (returnType) { case LayerReturnType.Neurons: return(_neurons); case LayerReturnType.Map: //TODO: Доделать. throw new NotImplementedException(); default: throw new Exception("Неизвестный тип возвращаемого значения!"); } }
/// <summary> /// Вывести данные слоя (возвращает словарь индекс/нейрон). /// </summary> public override dynamic GetData(LayerReturnType returnType) { if (!_isInitialized) throw new Exception("Слой не инициализирован и не может вернуть значения!"); // Независимо от типа возвращаем словарь нейронов // Ключ - номер нейрона, значение - сам нейрон. var indexToNeuronDictionary = new Dictionary<int, Neuron>(); var index = 0; foreach (var neuron in _layerNeurons) { indexToNeuronDictionary.Add(index, neuron); ++index; } return indexToNeuronDictionary; }
/// <summary> /// Получить данные слоя. /// </summary> /// <param name="returnType">Тип возвращаемого значения.</param> /// <returns>Возвращает данные слоя.</returns> public override dynamic GetData(LayerReturnType returnType) { if (!_isInitialized) { throw new Exception("Слой не инициализирован и не может вернуть значения!"); } switch (returnType) { case LayerReturnType.Map: return(FilterMatrix.DoMapFiltering(Map)); case LayerReturnType.Neurons: // TODO: Реализовать возврат нейронов. throw new NotImplementedException(); default: throw new Exception("Неизвестный тип возвращаемого значения!"); } }
/// <summary> /// Получить данные слоя. /// </summary> /// <param name="returnType">Тип возвращаемых значений.</param> /// <returns>Возвращаемые значения.</returns> public override dynamic GetData(LayerReturnType returnType) { if (!_isInitialized) { throw new Exception("Слой не инициализирован и не может вернуть значения!"); } var figureMap = PoolingMatrix.DoMaxPooling(Map); switch (returnType) { case LayerReturnType.Map: return(figureMap); case LayerReturnType.Neurons: var output = figureMap.ToNeuronList(_isNeedActivateNeurons); _isNeedActivateNeurons = false; return(output); default: throw new Exception("Неизвестный тип возвращаемого значения!"); } }
/// <summary> /// Вернуть данные слоя. /// </summary> /// <param name="returnType">Возвращаемый тип.</param> /// <returns>Возвращает данные слоя.</returns> public abstract dynamic GetData(LayerReturnType returnType);