- Timestamp:
- Feb 9, 2016, 7:11:35 AM (9 years ago)
- Branches:
- Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
- Children:
- d72064
- Parents:
- b8f2ea
- git-author:
- Frederik Heber <heber@…> (02/08/16 17:44:31)
- git-committer:
- Frederik Heber <heber@…> (02/09/16 07:11:35)
- Location:
- src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/PotentialAction/FitCompoundPotentialAction.cpp
rb8f2ea rb40690 96 96 graph, 97 97 params.training_file.get(), 98 params.max_iterations.get(), 98 99 params.threshold.get(), 99 100 params.best_of_howmany.get()); -
src/Actions/PotentialAction/FitCompoundPotentialAction.def
rb8f2ea rb40690 23 23 // ValueStorage by the token "Z" -> first column: int, Z, "Z" 24 24 // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value 25 #define paramtypes (boost::filesystem::path)(std::vector<const element *>)(unsigned int)(double) 26 #define paramtokens ("training-file")("fragment-charges")("take-best-of")("set-threshold") 27 #define paramdescriptions ("optional file to write training data to")("charges specifying the fragment")("take the best among this many approximations")("Require L2 error to be smaller than threshold, overrides number of attempts") 28 #define paramdefaults (PARAM_DEFAULT(""))(NOPARAM_DEFAULT)(PARAM_DEFAULT(3))(PARAM_DEFAULT(1.)) 29 #define paramreferences (training_file)(fragment)(best_of_howmany)(threshold) 25 #define paramtypes (boost::filesystem::path)(std::vector<const element *>)(unsigned int)(double)(unsigned int) 26 #define paramtokens ("training-file")("fragment-charges")("take-best-of")("set-threshold")("set-max-iterations") 27 #define paramdescriptions ("optional file to write training data to")("charges specifying the fragment")("take the best among this many approximations")("Require L2 error to be smaller than threshold, overrides number of attempts")("sets the maximum number of iterations spent on the optimization of parameters") 28 #define paramdefaults (PARAM_DEFAULT(""))(NOPARAM_DEFAULT)(PARAM_DEFAULT(3))(PARAM_DEFAULT(1.))(PARAM_DEFAULT(100)) 29 #define paramreferences (training_file)(fragment)(best_of_howmany)(threshold)(max_iterations) 30 30 #define paramvalids \ 31 31 (DummyValidator<boost::filesystem::path>()) \ 32 32 (STLVectorValidator< std::vector<const element *> >(1,99, ElementValidator())) \ 33 33 (PositiveValidator<unsigned int>()) \ 34 (PositiveValidator<double>()) 34 (PositiveValidator<double>()) \ 35 (PositiveValidator<unsigned int>()) 35 36 36 37 #undef statetypes -
src/Actions/PotentialAction/FitPotentialAction.cpp
rb8f2ea rb40690 147 147 graph, 148 148 params.training_file.get(), 149 params.max_iterations.get(), 149 150 params.threshold.get(), 150 151 params.best_of_howmany.get()); -
src/Actions/PotentialAction/FitPotentialAction.def
rb8f2ea rb40690 23 23 // ValueStorage by the token "Z" -> first column: int, Z, "Z" 24 24 // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value 25 #define paramtypes (boost::filesystem::path)(std::string)(std::vector<const element *>)(std::vector<const element *>)(unsigned int)(double) 26 #define paramtokens ("training-file")("potential-type")("potential-charges")("fragment-charges")("take-best-of")("set-threshold") 27 #define paramdescriptions ("optional file to write training data to")("potential type to fit")("charges specifying the potential")("charges specifying the fragment")("take the best among this many approximations")("Require L2 error to be smaller than threshold, overrides number of attempts") 28 #define paramdefaults (PARAM_DEFAULT(""))(NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(PARAM_DEFAULT(3))(PARAM_DEFAULT(1.)) 29 #define paramreferences (training_file)(potentialtype)(charges)(fragment)(best_of_howmany)(threshold) 25 #define paramtypes (boost::filesystem::path)(std::string)(std::vector<const element *>)(std::vector<const element *>)(unsigned int)(double)(unsigned int) 26 #define paramtokens ("training-file")("potential-type")("potential-charges")("fragment-charges")("take-best-of")("set-threshold")("set-max-iterations") 27 #define paramdescriptions ("optional file to write training data to")("potential type to fit")("charges specifying the potential")("charges specifying the fragment")("take the best among this many approximations")("Require L2 error to be smaller than threshold, overrides number of attempts")("sets the maximum number of iterations spent on the optimization of parameters") 28 #define paramdefaults (PARAM_DEFAULT(""))(NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(NOPARAM_DEFAULT)(PARAM_DEFAULT(3))(PARAM_DEFAULT(1.))(PARAM_DEFAULT(100)) 29 #define paramreferences (training_file)(potentialtype)(charges)(fragment)(best_of_howmany)(threshold)(max_iterations) 30 30 #define paramvalids \ 31 31 (DummyValidator<boost::filesystem::path>()) \ … … 34 34 (STLVectorValidator< std::vector<const element *> >(1,99, ElementValidator())) \ 35 35 (PositiveValidator<unsigned int>()) \ 36 (PositiveValidator<double>()) 36 (PositiveValidator<double>()) \ 37 (PositiveValidator<unsigned int>()) 37 38 38 39 #undef statetypes -
src/FunctionApproximation/FunctionApproximation.cpp
rb8f2ea rb40690 57 57 const TrainingData &_data, 58 58 FunctionModel &_model, 59 const double _precision) : 59 const double _precision, 60 const unsigned int _maxiterations) : 60 61 input_dimension(_data.getTrainingInputs().size()), 61 62 output_dimension(_data.getTrainingOutputs().size()), 62 63 precision(_precision), 64 maxiterations(_maxiterations), 63 65 input_data(_data.getTrainingInputs()), 64 66 output_data(_data.getTrainingOutputs()), … … 196 198 ret=dlevmar_bc_dif( 197 199 &FunctionApproximation::LevMarCallback, 198 p, x, m, n, lb, ub, NULL, 100 0, opts, info, work, covar, this); // no Jacobian, caller allocates work memory, covariance estimated200 p, x, m, n, lb, ub, NULL, 100, opts, info, work, covar, this); // no Jacobian, caller allocates work memory, covariance estimated 199 201 } else if (mode == ParameterDerivative) { 200 202 ret=dlevmar_bc_der( 201 203 &FunctionApproximation::LevMarCallback, 202 204 &FunctionApproximation::LevMarDerivativeCallback, 203 p, x, m, n, lb, ub, NULL, 100 0, opts, info, work, covar, this); // no Jacobian, caller allocates work memory, covariance estimated205 p, x, m, n, lb, ub, NULL, 100, opts, info, work, covar, this); // no Jacobian, caller allocates work memory, covariance estimated 204 206 } else { 205 207 ASSERT(0, "FunctionApproximation::operator() - Unknown jacobian method chosen."); -
src/FunctionApproximation/FunctionApproximation.hpp
rb8f2ea rb40690 81 81 * \param _model FunctionModel to use in approximation 82 82 * \param _precision desired precision of fit 83 * \param _maxiterations maximum number of iterations for LevMar's optimization 83 84 */ 84 85 FunctionApproximation( 85 86 const TrainingData &_data, 86 87 FunctionModel &_model, 87 const double _precision); 88 const double _precision, 89 const unsigned int _maxiterations); 88 90 89 91 /** Constructor of the class FunctionApproximation. … … 97 99 const size_t &_output_dimension, 98 100 FunctionModel &_model, 99 const double _precision) : 101 const double _precision, 102 const unsigned int _maxiterations) : 100 103 input_dimension(_input_dimension), 101 104 output_dimension(_output_dimension), 102 model(_model), 103 precision(_precision) 105 precision(_precision), 106 maxiterations(_maxiterations), 107 model(_model) 104 108 {} 105 109 /** Destructor for class FunctionApproximation. … … 197 201 //!> desired precision given to LevMar 198 202 const double precision; 203 //!> maximum number of iterations for LevMar 204 const unsigned int maxiterations; 199 205 200 206 //!> current input set of training data -
src/Potentials/PotentialTrainer.cpp
rb8f2ea rb40690 71 71 const HomologyGraph &_graph, 72 72 const boost::filesystem::path &_trainingfile, 73 const unsigned int _maxiterations, 73 74 const double _threshold, 74 75 const unsigned int _best_of_howmany) const … … 120 121 ELOG(2, "threshold parameter always overrules max_runs, both are specified."); 121 122 // now perform the function approximation by optimizing the model function 122 FunctionApproximation approximator(data, *model, _threshold );123 FunctionApproximation approximator(data, *model, _threshold, _maxiterations); 123 124 if (model->isBoxConstraint() && approximator.checkParameterDerivatives()) { 124 125 double l2error = std::numeric_limits<double>::max(); -
src/Potentials/PotentialTrainer.hpp
rb8f2ea rb40690 36 36 const HomologyGraph &_graph, 37 37 const boost::filesystem::path &_trainingfile, 38 const unsigned int _maxiterations, 38 39 const double _threshold, 39 40 const unsigned int _best_of_howmany) const;
Note:
See TracChangeset
for help on using the changeset viewer.