mailRe: r23323 - /branches/disp_speed_compare/


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

Header


Content

Posted by Edward d'Auvergne on May 22, 2014 - 14:14:
I just tried this in your branch (you'll have to svnmerge it
yourself), and I see one interesting failure:

======================================================================
FAIL: test_ns_cpmg_2site_expanded_no_rex1
(test_suite.unit_tests._lib._dispersion.test_ns_cpmg_2site_expanded.Test_ns_cpmg_2site_expanded)
Test the r2eff_ns_cpmg_2site_expanded() function for no exchange when dw = 
0.0.
----------------------------------------------------------------------
Traceback (most recent call last):
  File 
"/data/relax/branches/disp_speed/test_suite/unit_tests/_lib/_dispersion/test_ns_cpmg_2site_expanded.py",
line 91, in test_ns_cpmg_2site_expanded_no_rex1
    self.calc_r2eff()
  File 
"/data/relax/branches/disp_speed/test_suite/unit_tests/_lib/_dispersion/test_ns_cpmg_2site_expanded.py",
line 59, in calc_r2eff
    self.assertAlmostEqual(R2eff[i], 2.0)
AssertionError: 1e+100 != 2.0 within 7 places

----------------------------------------------------------------------

This is one of those examples I mentioned where R2eff is 1e100 rather
than R20.  If you make these unit tests for all lib.dispersion
modules, you will be able to identify and eliminate a large quantify
of edge case failures.  These edge case failures will severely affect
optimisation, even if the final result is not on the edge.

Regards,

Edward



On 22 May 2014 14:10, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
Hi Troels,

Here is an example of these unit tests:

http://article.gmane.org/gmane.science.nmr.relax.scm/21072

I think you will be able to see that this comprehensively shows the
'NS CPMG 2-site expanded' model exploding on almost all edge cases
where there is no exchange.  This is in the trunk.  Feel free to 'svn
cp' and modify this for all lib.dispersion modules.  Some small
modifications are required for your branch, and for the models with
phi_ex and tex parameters, and for R1rho.  Don't worry about the tests
failing in the trunk for the 3.2.1 release - I'll simply deactivate
them from the release.

Cheers,

Edward








On 22 May 2014 13:21, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
Hi,

I would recommend putting this one directly into your 'disp_speed'
branch.  It's ok if the scope of a branch expands a bit.  But it would
be best there as that is where you'll be fixing.  It's also ok if we
deactivate the test when you ask me to merge it back to trunk:

$ grep "def " test_suite/[sg]*/*.py | grep -v "def test" | grep _test_

Anyway, those function values of 9.999999999999999e+201 in the bug
report https://gna.org/bugs/index.php?22032 are likely to be because
of the problem of R2eff being 1e100 when it should be R20.  I can see
that in a single line of the original submission:

k: 0 xk: [ 1, 1, 0, 0.5, 1] fk: inf

Here dw is 0.0, but the chi-squared value is inf.  I really think that
the unit tests I suggested rather than the system tests will instantly
isolate these problems for you.  I'll set up one up for you in the
trunk so you can see how they are incredibly simple to create, and how
powerful they are for exposing such problems!  With these unit tests,
you can check multiple edge cases ('No Rex', failure points, etc.)
within a few milliseconds.  For testing and debugging individual
functions, unit tests are the way to go.

Regards,

Edward


On 22 May 2014 12:55, Troels Emtekær Linnet <tlinnet@xxxxxxxxxxxxx> wrote:
Hi Edward.

This one would be obvious.
https://gna.org/bugs/index.php?22032
That will prove that catching of errors has been improved.

Then I plan to test things from:
https://gna.org/bugs/index.php?22024

Here I have tried a range of things, that failed.
I had a nagging feeling that this was because of error catching.

I already tried a little, and I am not so sure anymore.
Now I will nail that down, and once at for all prove for myself what
is happening.

I foresee that this will be one of those times, that I knew I was
right, and I was not...
But I cannot let i go, before I have tested it.

You have already mentioned it many times, that data is almost flat lines 
for
pA=0.99, dw under 1 ppm.

But now thinking about it.
I can just copy the cpmg_synthetic script, and compare.

Best
Troels









2014-05-22 11:20 GMT+02:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
You can see some details of this problem in the
devel_scripts/broken_branch_recovery.py script.

Regards,

Edward



On 22 May 2014 11:19, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
Hi,

Commits cannot be migrated between branches, as that makes the merge
back to trunk a nightmare.  This has happened once before in relax, a
long, long time ago, and I'd prefer to avoid that hell.  I had to
manually port each commit, one-by-one back into the trunk from the
mangled branch.  I know that this problem exists in both git and svn.
Can you just write them directly into 'disp_speed'?  What system tests
do you plan on adding?

Cheers,

Edward





On 22 May 2014 11:14, Troels Emtekær Linnet <tlinnet@xxxxxxxxxxxxx> 
wrote:
Hi Ed.

I am just playing a little.

I do not want to write system test right now in trunk, that I know 
will fail.

So, I will write them in "disp_speed_compare".
Then I will try to see if I can import from "disp_speed_compare" to
"disp_speed".

If not, I will just copy over manually and try it.

Best
Troels




2014-05-22 11:00 GMT+02:00 Edward d'Auvergne <edward@xxxxxxxxxxxxx>:
It might be too difficult to synchronise the two branches, then manage
to merge them together (well one after the other) into the trunk.

Regards,

Edward

On 22 May 2014 10:58, Edward d'Auvergne <edward@xxxxxxxxxxxxx> wrote:
Hi Troels,

Do you mean the unit tests of lib.dispersion rather than system 
tests?
 For merging everything together, it might be better to add the unit
tests to the trunk.  Or even better to your 'disp_speed' branch.
Otherwise you will not see these changes in the 'disp_speed' branch.

Regards,

Edward





On 22 May 2014 10:42,  <tlinnet@xxxxxxxxxxxxx> wrote:
Author: tlinnet
Date: Thu May 22 10:42:17 2014
New Revision: 23323

URL: http://svn.gna.org/viewcvs/relax?rev=23323&view=rev
Log:
Branch created from trunk to compare to the disp_speed branch.

The branch will be used to write a range of system tests that should
fail in the trunk, and now pass in the disp_speed branch.

This is to investigate:
Bug #22024 (https://gna.org/bugs/index.php?22024) Minimisation 
space for CR72 is catastrophic. The chi2 surface over dw and pA is 
bounded.


Added:
    branches/disp_speed_compare/
      - copied from r23322, trunk/


_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-commits mailing list
relax-commits@xxxxxxx

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits

_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@xxxxxxx

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel



Related Messages


Powered by MHonArc, Updated Thu May 22 15:00:15 2014