diff --git a/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TTrainedNetwork.cxx b/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TTrainedNetwork.cxx index 106a1d78978e524d1ea4e08948fd1c8062c244d5..6fe5aa83744389bfed92b59fbb919cfa1d7c73d9 100644 --- a/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TTrainedNetwork.cxx +++ b/Tracking/TrkUtilityPackages/TrkNeuralNetworkUtils/src/TTrainedNetwork.cxx @@ -23,7 +23,7 @@ TTrainedNetwork::TTrainedNetwork() mLinearOutput=false; mNormalizeOutput=false; maxExpValue=log(std::numeric_limits<double>::max()); - + m_bufferSizeMax=0; } TTrainedNetwork::TTrainedNetwork(Int_t nInput, @@ -49,7 +49,17 @@ TTrainedNetwork::TTrainedNetwork(Int_t nInput, mLinearOutput = linearOutput; mNormalizeOutput = normalizeOutput; maxExpValue = log(std::numeric_limits<double>::max()); - + + int nlayer_max(mnOutput); + for (unsigned i = 0; i < mnHiddenLayerSize.size(); ++i) { + nlayer_max = std::max(nlayer_max, mnHiddenLayerSize[i]); + } + std::vector<TVectorD*>::const_iterator hidden_layer_threshold_vector_end = mThresholdVectors.end(); + hidden_layer_threshold_vector_end--; + for (std::vector<TVectorD*>::const_iterator tr_itr= mThresholdVectors.begin(); tr_itr != hidden_layer_threshold_vector_end; tr_itr++){ + nlayer_max = std::max(nlayer_max, (*tr_itr)->GetNrows()); + } + m_bufferSizeMax=nlayer_max; } void TTrainedNetwork::setOffsets(const std::vector<double>& offsets)