2012-05-29 4 views
2

Новое для Scipy.scipy.test() терпит неудачу со многими ошибками утверждения

Я установил scipy и numpy, но ween Я запускаю scipy.test() Я получаю много тестов. Я пытался найти некоторые общие причины, и я нашел несколько:

>>> import scipy 
>>> scipy.test() 
Running unit tests for scipy 
NumPy version 1.6.2 
NumPy is installed in /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy 
SciPy version 0.10.1 
SciPy is installed in /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy 
Python version 2.7.3 (default, Apr 19 2012, 00:55:09) [GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] 
nose version 1.1.2 
... 

AssertionError: 
Arrays are not almost equal to 7 decimals 
... 
AssertionError: 
Not equal to tolerance rtol=1e-10, atol=1e-305 
... 
AssertionError: 
Arrays are not almost equal to 4 decimals 
... 
AssertionError: 
Max |adiff|: 92783.6 
Max |rdiff|: 0.353942 

Звуки для меня, как проблема MPI или что-то, но я would't знаю.

Любая помощь была бы принята с благодарностью.

Лучший, Джонатан.

-------- EDIT --------- Пробовал его с помощью scipy.test (verbose = 10). Большинство тестов, похоже, работают нормально. Сбой начинается с ОШИБКИ. это то, что я получаю:

ERROR: Failure: DeprecationWarning (
The scipy.maxentropy module is deprecated in scipy 0.10, and scheduled to be 
removed in 0.11. 

If you are using some of the functionality in this module and are of the 
opinion that it should be kept or moved somewhere - or you are even interested 
to maintain/improve this whole module - please ask on the scipy-dev mailing 
list. 

The logsumexp function has already been moved to scipy.misc.) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/loader.py", line 390, in loadTestsFromName 
    addr.filename, addr.module) 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/importer.py", line 39, in importFromPath 
    return self.importFromDir(dir_path, fqname) 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/importer.py", line 86, in importFromDir 
    mod = load_module(part_fqname, fh, filename, desc) 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/maxentropy/__init__.py", line 19, in <module> 
    DeprecationWarning) 
DeprecationWarning: 
The scipy.maxentropy module is deprecated in scipy 0.10, and scheduled to be 
removed in 0.11. 

If you are using some of the functionality in this module and are of the 
opinion that it should be kept or moved somewhere - or you are even interested 
to maintain/improve this whole module - please ask on the scipy-dev mailing 
list. 

The logsumexp function has already been moved to scipy.misc. 

====================================================================== 
FAIL: test_asum (test_blas.TestFBLAS1Simple) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/lib/blas/tests/test_blas.py", line 58, in test_asum 
    assert_almost_equal(f([3,-4,5]),12) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 467, in assert_almost_equal 
    raise AssertionError(msg) 
AssertionError: 
Arrays are not almost equal to 7 decimals 
ACTUAL: 0.0 
DESIRED: 12 

====================================================================== 
FAIL: test_dot (test_blas.TestFBLAS1Simple) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/lib/blas/tests/test_blas.py", line 67, in test_dot 
    assert_almost_equal(f([3,-4,5],[2,5,1]),-9) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 467, in assert_almost_equal 
    raise AssertionError(msg) 
AssertionError: 
Arrays are not almost equal to 7 decimals 
ACTUAL: 0.0 
DESIRED: -9 

====================================================================== 
FAIL: test_nrm2 (test_blas.TestFBLAS1Simple) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/lib/blas/tests/test_blas.py", line 78, in test_nrm2 
    assert_almost_equal(f([3,-4,5]),math.sqrt(50)) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 467, in assert_almost_equal 
    raise AssertionError(msg) 
AssertionError: 
Arrays are not almost equal to 7 decimals 
ACTUAL: 0.0 
DESIRED: 7.0710678118654755 

====================================================================== 
FAIL: test_basic.TestNorm.test_overflow 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/case.py", line 197, in runTest 
    self.test(*self.arg) 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/linalg/tests/test_basic.py", line 581, in test_overflow 
    assert_almost_equal(norm(a), a) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 451, in assert_almost_equal 
    return assert_array_almost_equal(actual, desired, decimal, err_msg) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 846, in assert_array_almost_equal 
    header=('Arrays are not almost equal to %d decimals' % decimal)) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 677, in assert_array_compare 
    raise AssertionError(msg) 
AssertionError: 
Arrays are not almost equal to 7 decimals 

(mismatch 100.0%) 
x: array(-0.0) 
y: array([ 1.00000002e+20], dtype=float32) 

====================================================================== 
FAIL: test_basic.TestNorm.test_stable 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/case.py", line 197, in runTest 
    self.test(*self.arg) 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/linalg/tests/test_basic.py", line 586, in test_stable 
    assert_almost_equal(norm(a) - 1e4, 0.5) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 467, in assert_almost_equal 
    raise AssertionError(msg) 
AssertionError: 
Arrays are not almost equal to 7 decimals 
ACTUAL: -10000.0 
DESIRED: 0.5 

====================================================================== 
FAIL: test_basic.TestNorm.test_types 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/case.py", line 197, in runTest 
    self.test(*self.arg) 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/linalg/tests/test_basic.py", line 568, in test_types 
    assert_allclose(norm(x), np.sqrt(14), rtol=tol) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 1213, in assert_allclose 
    verbose=verbose, header=header) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 677, in assert_array_compare 
    raise AssertionError(msg) 
AssertionError: 
Not equal to tolerance rtol=2.38419e-06, atol=0 

(mismatch 100.0%) 
x: array(1.0842021724855044e-19) 
y: array(3.7416573867739413) 

====================================================================== 
FAIL: test_asum (test_blas.TestFBLAS1Simple) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/linalg/tests/test_blas.py", line 99, in test_asum 
    assert_almost_equal(f([3,-4,5]),12) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 467, in assert_almost_equal 
    raise AssertionError(msg) 
AssertionError: 
Arrays are not almost equal to 7 decimals 
ACTUAL: 0.0 
DESIRED: 12 

====================================================================== 
FAIL: test_dot (test_blas.TestFBLAS1Simple) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/linalg/tests/test_blas.py", line 109, in test_dot 
    assert_almost_equal(f([3,-4,5],[2,5,1]),-9) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 467, in assert_almost_equal 
    raise AssertionError(msg) 
AssertionError: 
Arrays are not almost equal to 7 decimals 
ACTUAL: 0.0 
DESIRED: -9 

====================================================================== 
FAIL: test_nrm2 (test_blas.TestFBLAS1Simple) 
---------------------------------------------------------------------- 
Traceback (most recent call last): 
    File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scipy/linalg/tests/test_blas.py", line 127, in test_nrm2 
    assert_almost_equal(f([3,-4,5]),math.sqrt(50)) 
    File "/Library/Python/2.7/site-packages/numpy/testing/utils.py", line 467, in assert_almost_equal 
    raise AssertionError(msg) 
AssertionError: 
Arrays are not almost equal to 7 decimals 
ACTUAL: 0.0 
DESIRED: 7.0710678118654755 

---------------------------------------------------------------------- 
Ran 5101 tests in 56.140s 


FAILED (KNOWNFAIL=12, SKIP=42, errors=1, failures=9) 
<nose.result.TextTestResult run=5101 errors=1 failures=9> 

Мне очень жаль, что я понятия не имею, что означают ошибки.

+0

кажется, что numoy терпит неудачу, а также. Проблема в том, что она ожидает 7-8 цифр после десятичной точки, тогда как она получает точность 3. Любая идея? Я думал, что это может быть компилятор Fortran, но я думаю, что numpy не использует Fortran. –

+0

Ошибки Scipy кажутся типичными для того, что получается из-за неправильной (= ABI несовместимости с Veclib) компилятором Fortran на OSX. Любые ошибки Numpy, скорее всего, не связаны с ними - трудно сказать, не видя их. Вы можете найти их полезными: http://projects.scipy.org/scipy/ticket/1476 http://projects.scipy.org/scipy/ticket/1496 –

ответ

2

Ошибки Scipy кажутся типичными для того, что получается из-за неправильной (= ABI несовместимости с Veclib) компилятором Fortran на OSX. Ошибки Numpy, скорее всего, не связаны с ними - трудно сказать, не видя их.

Беспорядок с несовместимостьми двоичного интерфейса и компиляторами Fortran на OSX является неудачным и применяется ко всему коду Fortran, но не очень легко фиксируется разработчиками Scipy --- за исключением того, что если обнаружен неправильный компилятор Fortran, сборка должна быть выполнена сбой с сообщением об ошибке информативного ...

Вы можете найти их полезный: http://projects.scipy.org/scipy/ticket/1476http://projects.scipy.org/scipy/ticket/1496

0

Можете ли вы запустить scipy.test(verbose=10), пожалуйста? Это напечатает больше информации и поможет найти что-то не так.

+0

Спасибо за ответ! Я попробовал это с подробным вариантом, я отредактировал вывод в вышеприведенном сообщении. Это дает след для сбоев, но я не знаю, как это прочитать. –

0

Похоже, вы сталкиваетесь с ситуацией, описанной в this mailing list.

В обсуждении упоминается, что это может относиться к ошибке в SciPy. Существует bug report, описывающий вашу ситуацию. Вы можете следовать этому отчету.

Смежные вопросы