mailr3242 - /branches/multi_processor/specific_fns/model_free.py


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

Header


Content

Posted by garyt on March 27, 2007 - 17:04:
Author: varioustoxins
Date: Tue Mar 27 17:04:02 2007
New Revision: 3242

URL: http://svn.gna.org/viewcvs/relax?rev=3242&view=rev
Log:
changes to add minimise command processing for multiprocessing
 

Modified:
    branches/multi_processor/specific_fns/model_free.py

Modified: branches/multi_processor/specific_fns/model_free.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/multi_processor/specific_fns/model_free.py?rev=3242&r1=3241&r2=3242&view=diff
==============================================================================
--- branches/multi_processor/specific_fns/model_free.py (original)
+++ branches/multi_processor/specific_fns/model_free.py Tue Mar 27 17:04:02 
2007
@@ -28,11 +28,14 @@
 from re import match, search
 from string import replace, split
 import sys
+import cStringIO #FIXME: temporary for pickle tests
+import marshal   #FIXME: temporary for pickle tests
 
 from base_class import Common_functions
 from maths_fns.mf import Mf
 from minimise.generic import generic_minimise
-from float import isNaN,isInf 
+from float import isNaN,isInf
+from multi.mpi4py_processor import  MF_minimise_command
 
 
 class Model_free(Common_functions):
@@ -2325,12 +2328,84 @@
 
 
 
-            # Initialise the function to minimise.
-            ######################################
-
-            self.mf = Mf(init_params=self.param_vector, 
param_set=self.param_set, diff_type=diff_type, diff_params=diff_params, 
scaling_matrix=self.scaling_matrix, num_res=num_res, 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=self.relax.data.gx, gh=self.relax.data.gh, 
g_ratio=self.relax.data.g_ratio, h_bar=self.relax.data.h_bar, 
mu0=self.relax.data.mu0, num_params=num_params, vectors=xh_unit_vectors)
-
-
+#            # Initialise the function to minimise.
+#            ######################################
+#            print 'initialise Mf'
+#            print 'init_params',self.param_vector
+#            print 'param_se',self.param_set
+#            print 'diff_type',diff_type
+#            print 'diff_params',diff_params
+#            print 'scaling_matrix',self.scaling_matrix
+#            print 'num_res',num_res
+#            print 'equations',equations
+#            print 'param_types',param_types
+#            print 'param_values',param_values
+#            print 'relax_data',relax_data
+#            print 'errors',relax_error
+#            print 'bond_length',r
+#            print 'csa=',csa
+#            print 'num_frq',num_frq
+#            print 'frq',frq
+#            print 'num_ri',num_ri
+#            print 'remap_table',remap_table
+#            print 'noe_r1_table',noe_r1_table
+#            print 'ri_labels',ri_labels
+#            print 'gx',self.relax.data.gx
+#            print 'gh',self.relax.data.gh
+#            print 'g_ratio',self.relax.data.g_ratio
+#            print 'h_bar',self.relax.data.h_bar
+#            print 'mu0',self.relax.data.mu0
+#            print 'num_params',num_params
+#            print 'vectors',xh_unit_vectors
+#
+#            data_list =  [ 'initialise Mf',
+#             'init_params',self.param_vector,
+#             'param_set',self.param_set,
+#             'diff_type',diff_type,
+#             'diff_params',diff_params,
+#             'scaling_matrix',self.scaling_matrix,
+#             'num_res',num_res,
+#             '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',self.relax.data.gx,
+#             'gh',self.relax.data.gh,\
+#             'g_ratio',self.relax.data.g_ratio,
+#             'h_bar',self.relax.data.h_bar,
+#             'mu0',self.relax.data.mu0,
+#             'num_params',num_params,
+#             'vectors',xh_unit_vectors]
+#            for elem in data_list:
+#                marshal.loads(marshal.dumps(elem))
+#            self.mf = Mf(init_params=self.param_vector, 
param_set=self.param_set, diff_type=diff_type,
+#                         diff_params=diff_params, 
scaling_matrix=self.scaling_matrix, num_res=num_res,
+#                         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=self.relax.data.gx, 
gh=self.relax.data.gh,
+#                         g_ratio=self.relax.data.g_ratio, 
h_bar=self.relax.data.h_bar,
+#                         mu0=self.relax.data.mu0, num_params=num_params, 
vectors=xh_unit_vectors)
+            command=MF_minimise_command()
+            command.set_mf(init_params=self.param_vector, 
param_set=self.param_set, diff_type=diff_type,
+                         diff_params=diff_params, 
scaling_matrix=self.scaling_matrix, num_res=num_res,
+                         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=self.relax.data.gx, 
gh=self.relax.data.gh,
+                         g_ratio=self.relax.data.g_ratio, 
h_bar=self.relax.data.h_bar,
+                         mu0=self.relax.data.mu0, num_params=num_params, 
vectors=xh_unit_vectors)
+            #test.assert_mf_equivalent(self.mf)
+            ##self.mf=test.mf
             # Setup the minimisation algorithm when constraints are present.
             ################################################################
 
@@ -2362,20 +2437,32 @@
             # Back-calculation.
             ###################
 
+            #FIXME could be neater?
             if min_algor == 'back_calc':
-                return self.mf.calc_ri()
+                return command.build_mf().calc_ri()
 
 
             # Minimisation.
             ###############
-
+            #FIXME remove old version
+#            if constraints:
+#                results = generic_minimise(func=self.mf.func, 
dfunc=self.mf.dfunc, d2func=self.mf.d2func, args=(), x0=self.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=1, 
print_flag=print_flag)
+#            else:
+#                results = generic_minimise(func=self.mf.func, 
dfunc=self.mf.dfunc, d2func=self.mf.d2func, args=(), x0=self.param_vector, 
min_algor=min_algor, min_options=min_options, func_tol=func_tol, 
grad_tol=grad_tol, maxiter=max_iterations, full_output=1, 
print_flag=print_flag)
+#            if results == None:
+#                return
+            #FIXME??? strange contraints
             if constraints:
-                results = generic_minimise(func=self.mf.func, 
dfunc=self.mf.dfunc, d2func=self.mf.d2func, args=(), x0=self.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=1, 
print_flag=print_flag)
+                command.set_minimise(args=(), x0=self.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=1,
+                          print_flag=print_flag)
             else:
-                results = generic_minimise(func=self.mf.func, 
dfunc=self.mf.dfunc, d2func=self.mf.d2func, args=(), x0=self.param_vector, 
min_algor=min_algor, min_options=min_options, func_tol=func_tol, 
grad_tol=grad_tol, maxiter=max_iterations, full_output=1, 
print_flag=print_flag)
-            if results == None:
-                return
-            self.param_vector, self.func, iter, fc, gc, hc, self.warning = 
results
+                command.set_minimise(args=(), x0=self.param_vector, 
min_algor=min_algor, min_options=min_options,
+                          func_tol=func_tol, grad_tol=grad_tol, 
maxiter=max_iterations, full_output=1,
+                          print_flag=print_flag)
+            command.run(None)
+
+            self.param_vector, self.func, iter, fc, gc, hc, self.warning = 
command.results
             self.iter_count = self.iter_count + iter
             self.f_count = self.f_count + fc
             self.g_count = self.g_count + gc




Related Messages


Powered by MHonArc, Updated Thu Mar 29 12:20:13 2007