mailr10144 - in /branches/multi_processor_merge/specific_fns/model_free: mf_minimise.py multi_processor_commands.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on January 07, 2010 - 17:59:
Author: bugman
Date: Thu Jan  7 17:59:00 2010
New Revision: 10144

URL: http://svn.gna.org/viewcvs/relax?rev=10144&view=rev
Log:
Simplification of the model-free target function class initialisation.

This has been shifted back into specific_fns/model_free/mf_minimise.py!  This 
does not need to be
done by the multi-processing code.  Silencing can be performed later by 
modifying the 'verbosity'
variable in this class.


Modified:
    branches/multi_processor_merge/specific_fns/model_free/mf_minimise.py
    
branches/multi_processor_merge/specific_fns/model_free/multi_processor_commands.py

Modified: 
branches/multi_processor_merge/specific_fns/model_free/mf_minimise.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/multi_processor_merge/specific_fns/model_free/mf_minimise.py?rev=10144&r1=10143&r2=10144&view=diff
==============================================================================
--- branches/multi_processor_merge/specific_fns/model_free/mf_minimise.py 
(original)
+++ branches/multi_processor_merge/specific_fns/model_free/mf_minimise.py Thu 
Jan  7 17:59:00 2010
@@ -1542,6 +1542,12 @@
             relax_data, relax_error, equations, param_types, param_values, 
r, csa, num_frq, frq, num_ri, remap_table, noe_r1_table, ri_labels, gx, gh, 
num_params, xh_unit_vectors, diff_type, diff_params = 
self._minimise_data_setup(model_type, min_algor, num_data_sets, min_options, 
spin=spin, sim_index=sim_index)
 
 
+            # Initialise the function to minimise.
+            ######################################
+
+            self.mf = Mf(init_params=param_vector, model_type=model_type, 
diff_type=diff_type, diff_params=diff_params, scaling_matrix=scaling_matrix, 
num_spins=num_spins, equations=equations, param_types=param_types, 
param_values=param_values, relax_data=relax_data, errors=relax_error, 
bond_length=r, csa=csa, num_frq=num_frq, frq=frq, num_ri=num_ri, 
remap_table=remap_table, noe_r1_table=noe_r1_table, ri_labels=ri_labels, 
gx=gx, gh=gh, h_bar=h_bar, mu0=mu0, num_params=num_params, 
vectors=xh_unit_vectors)
+
+
             # Setup the minimisation algorithm when constraints are present.
             ################################################################
 
@@ -1606,15 +1612,14 @@
                 for sub_grid_index, sub_grid_info in 
enumerate(sub_grid_list):
                     # Grid search initialisation.
                     command = MF_grid_command()
-                    command.set_mf(init_params=param_vector, 
model_type=model_type, diff_type=diff_type, diff_params=diff_params, 
scaling_matrix=scaling_matrix, num_spins=num_spins, equations=equations, 
param_types=param_types, param_values=param_values, relax_data=relax_data, 
errors=relax_error, bond_length=r, csa=csa, num_frq=num_frq, frq=frq, 
num_ri=num_ri, remap_table=remap_table, noe_r1_table=noe_r1_table, 
ri_labels=ri_labels, gx=gx, gh=gh, h_bar=h_bar, mu0=mu0, 
num_params=num_params, vectors=xh_unit_vectors)
 
                     # Constrained optimisation.
                     if constraints:
-                        command.set_minimise(args=(), x0=param_vector, 
min_algor=min_algor, min_options=min_options, func_tol=func_tol, 
grad_tol=grad_tol, maxiter=max_iterations, A=A, b=b, full_output=True, 
verbosity=verbosity)
+                        command.set_minimise(mf=self.mf, 
model_type=model_type, args=(), x0=param_vector, min_algor=min_algor, 
min_options=min_options, func_tol=func_tol, grad_tol=grad_tol, 
maxiter=max_iterations, A=A, b=b, full_output=True, verbosity=verbosity)
 
                     # Unconstrained optimisation.
                     else:
-                        command.set_minimise(args=(), x0=param_vector, 
min_algor=min_algor, min_options=min_options, func_tol=func_tol, 
grad_tol=grad_tol, maxiter=max_iterations, full_output=True, 
verbosity=verbosity)
+                        command.set_minimise(mf=self.mf, 
model_type=model_type, args=(), x0=param_vector, min_algor=min_algor, 
min_options=min_options, func_tol=func_tol, grad_tol=grad_tol, 
maxiter=max_iterations, full_output=True, verbosity=verbosity)
 
                     # Set up the model-free memo and add it to the processor 
queue.
                     memo = MF_grid_memo(super_grid_memo)
@@ -1625,11 +1630,8 @@
                 # Minimisation initialisation.
                 command = MF_minimise_command()
 
-                # Set up the model-free data.
-                command.set_mf(init_params=param_vector, 
model_type=model_type, diff_type=diff_type, diff_params=diff_params, 
scaling_matrix=scaling_matrix, num_spins=num_spins, equations=equations, 
param_types=param_types, param_values=param_values, relax_data=relax_data, 
errors=relax_error, bond_length=r, csa=csa, num_frq=num_frq, frq=frq, 
num_ri=num_ri, remap_table=remap_table, noe_r1_table=noe_r1_table, 
ri_labels=ri_labels, gx=gx, gh=gh, h_bar=h_bar, mu0=mu0, 
num_params=num_params, vectors=xh_unit_vectors)
-
                 # Set up for optimisation.
-                command.set_minimise(args=(), x0=param_vector, 
min_algor=min_algor, min_options=min_options, func_tol=func_tol, 
grad_tol=grad_tol, maxiter=max_iterations, A=A, b=b, spin_id=spin_id, 
sim_index=sim_index, full_output=True, print_flag=verbosity)
+                command.set_minimise(mf=self.mf, model_type=model_type, 
args=(), x0=param_vector, min_algor=min_algor, min_options=min_options, 
func_tol=func_tol, grad_tol=grad_tol, maxiter=max_iterations, A=A, b=b, 
spin_id=spin_id, sim_index=sim_index, full_output=True, print_flag=verbosity)
 
                 # Set up the model-free memo and add it to the processor 
queue.
                 memo = MF_memo(model_free=self, spin=spin, 
sim_index=sim_index, model_type=model_type, scaling=scaling, 
scaling_matrix=scaling_matrix)

Modified: 
branches/multi_processor_merge/specific_fns/model_free/multi_processor_commands.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/multi_processor_merge/specific_fns/model_free/multi_processor_commands.py?rev=10144&r1=10143&r2=10144&view=diff
==============================================================================
--- 
branches/multi_processor_merge/specific_fns/model_free/multi_processor_commands.py
 (original)
+++ 
branches/multi_processor_merge/specific_fns/model_free/multi_processor_commands.py
 Thu Jan  7 17:59:00 2010
@@ -163,11 +163,8 @@
         # The minimisation map containing the minimisation information.
         self.minimise_map = {'args':(), 'x0':None, 'min_algor':None, 
'min_options':None, 'func_tol':1e-25, 'grad_tol':None, 'maxiter':1e6, 
'A':None, 'b':None, 'l':None, 'u':None, 'c':None, 'dc':None, 'd2c':None, 
'dc':None, 'd2c':None, 'full_output':0, 'print_flag':0, 'print_prefix':""}
 
-        # The map containing the model-free information.
-        self.mf_map = {'init_params':None, 'model_type':None, 
'diff_type':None, 'diff_params':None, 'scaling_matrix':None, 
'num_spins':None, 'equations':None, 'param_types':None, 'param_values':None, 
'relax_data':None, 'errors':None, 'bond_length':None, 'csa':None, 
'num_frq':0, 'frq':None, 'num_ri':None, 'remap_table':None, 
'noe_r1_table':None, 'ri_labels':None, 'gx':0, 'gh':0, 'h_bar':0, 'mu0':0, 
'num_params':None, 'vectors':None}
-
         # A map containing generic information.
-        self.info_map = {'spin_id':None, 'sim_index':None, 'grid_size':1}
+        self.info_map = {'mf':None, 'model_type':None, 'spin_id':None, 
'sim_index':None, 'grid_size':1}
 
         # A flag for silencing output.
         self.silence = False
@@ -183,7 +180,7 @@
                 print('Simulation '+ repr(self.info_map['sim_index'])+ '\n')
 
             # Individual spin print out.
-            if self.mf_map['model_type'] == 'mf' or 
self.mf_map['model_type'] == 'local_tm':
+            if self.model_type == 'mf' or self.model_type == 'local_tm':
                 if self.minimise_map['print_flag'] >= 2:
                     print("\n\n")
                 string = "Fitting to spin: " + self.info_map['spin_id']
@@ -220,9 +217,6 @@
             # Initial print outs.
             self.initial_printout()
 
-            # Initialise the function to minimise.
-            self.mf = Mf(**self.mf_map)
-
             # Minimisation.
             results = generic_minimise(func=self.mf.func, 
dfunc=self.mf.dfunc, d2func=self.mf.d2func, **self.minimise_map)
 
@@ -237,16 +231,16 @@
                 raise Capturing_exception(rank=processor.rank(), 
name=processor.get_name())
 
 
-    #FIXME: bad names
-    def set_mf(self, **kwargs):
-        """Place the model-free information into the mf_map."""
-
-        # Fill out the mf_map using the keyword args.
-        self.mf_map.update(kwargs)
-
-
     def set_minimise(self, **kwargs):
         """Place the minimisation and other information into the appropriate 
maps."""
+
+        # The optimisation class.
+        self.mf = kwargs['mf']
+        del kwargs['mf']
+
+        # The model type.
+        self.model_type = kwargs['model_type']
+        del kwargs['model_type']
 
         # Strip out and store special arguments into the info_map.
         if 'spin_id' in kwargs:




Related Messages


Powered by MHonArc, Updated Thu Jan 07 18:20:02 2010