Bug 1893659

Summary: pymc3 needs theano to 1.0.5 in F32
Product: [Fedora] Fedora Reporter: Sergio Pascual <sergio.pasra>
Component: python-theanoAssignee: Jerry James <loganjerry>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 32CC: igor.raits, loganjerry
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-theano-1.0.5-2.fc32 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-12-07 01:16:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1893658    

Description Sergio Pascual 2020-11-02 10:18:20 UTC
The package python-pymc3 cannot be installed in F32 because it requires theano 1.0.5   As afar as I can see it's backwards compatible with 1.0.4 

Could you update it in F32 also?

Tanks

Comment 1 Jerry James 2020-11-02 18:53:34 UTC
I did a mock build on x86_64 for F32 and got a test failure:

FAIL: test_boolean (theano.tensor.tests.test_subtensor.T_subtensor)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Theano-rel-1.0.5/theano/tensor/tests/test_subtensor.py", line 375, in test_boolean
    assert_array_equal(numpy_inc_subtensor(numpy_n, mask, 1), val)
  File "/usr/lib64/python3.8/site-packages/numpy/testing/_private/utils.py", line 935, in assert_array_equal
    assert_array_compare(operator.__eq__, x, y, err_msg=err_msg,
  File "/usr/lib64/python3.8/site-packages/numpy/testing/_private/utils.py", line 846, in assert_array_compare
    raise AssertionError(msg)
AssertionError: 
Arrays are not equal

Mismatched elements: 3 / 6 (50%)
Max absolute difference: 1.
Max relative difference: 1.
 x: array([[0., 1., 2.],
       [3., 4., 5.]])
 y: array([[1., 2., 3.],
       [3., 4., 5.]])


I don't know what would cause that.  It looks like what you really need, though, is the PyMC fork of Theano, which is now up to version 1.0.10:

https://github.com/pymc-devs/theano-pymc

I can try switching to the new upstream.  I wasn't aware it existed until just now.  Are you interested in comaintaining Theano?  It's a complicated and fussy package, so I would be glad of help with it.

Comment 2 Jerry James 2020-11-03 00:01:47 UTC
Hmmmmm, building version 1.0.10 in a Rawhide mock chroot generates exactly the same failure.  I wonder if there has been some change in numpy recently that is causing the failure.

Comment 3 Jerry James 2020-11-03 20:54:23 UTC
Okay, I figured out the problem.  Can you look over this scratch build and see if anything looks amiss to you?

https://koji.fedoraproject.org/koji/taskinfo?taskID=54868082

If not, I will update to that version in F32+.

Comment 4 Sergio Pascual 2020-11-14 10:41:48 UTC
yes, I can help with theano. My fas username is sergiopr

I can't build with mock in F32 because there is no flexiblas



No matching package to install: 'pkgconfig(flexiblas)'
Not all dependencies satisfied
Error: Some packages could not be found.

Comment 5 Jerry James 2020-11-25 17:15:00 UTC
I have updated Fedora 33 and Rawhide to version 1.0.11 of the PyMC fork.  The Fedora 33 build should land in the testing repository tonight.  However, when I try to build that version for Fedora 32, I get test failures.  It looks like numpy 1.18 is not sufficient; 1.19 in Fedora 33 and Rawhide computes the expected values.  I'm worried that updating might break sympy.  I'll try updating just to version 1.0.5 and see if that works.

Comment 6 Sergio Pascual 2020-11-25 23:06:24 UTC
(In reply to Jerry James from comment #5)
> I have updated Fedora 33 and Rawhide to version 1.0.11 of the PyMC fork. 
> The Fedora 33 build should land in the testing repository tonight.  However,
> when I try to build that version for Fedora 32, I get test failures.  It
> looks like numpy 1.18 is not sufficient; 1.19 in Fedora 33 and Rawhide
> computes the expected values.  I'm worried that updating might break sympy. 
> I'll try updating just to version 1.0.5 and see if that works.

A have new bug in F34, it says that python3-pymc3 can't be installed. Could it be related with your update?

can't install python3-pymc3:
  - nothing provides python3.9dist(theano) >= 1.0.5 needed by python3-pymc3-3.9.3-2.fc34.noarch

https://bugzilla.redhat.com/show_bug.cgi?id=1901575

Comment 7 Fedora Update System 2020-11-26 04:57:39 UTC
FEDORA-2020-553f5fc41b has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-553f5fc41b

Comment 8 Jerry James 2020-11-26 04:59:48 UTC
(In reply to Sergio Pascual from comment #6)
> A have new bug in F34, it says that python3-pymc3 can't be installed. Could
> it be related with your update?

Yes, the new version Provides python3.9dist(theano-pymc) instead.  Sorry about that.  I didn't notice the change.

I just submitted an update for version 1.0.5 in Fedora 32.

Comment 9 Fedora Update System 2020-11-27 02:18:38 UTC
FEDORA-2020-553f5fc41b has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-553f5fc41b`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-553f5fc41b

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Jerry James 2020-11-27 03:50:58 UTC
Oh, and I finally remembered to add you as an admin on the python-theano project.  Sorry for my forgetfulness.  I have also withdrawn the Fedora 33 update, as it will break both sympy and pymc3.

Comment 11 Fedora Update System 2020-11-27 17:11:56 UTC
FEDORA-2020-553f5fc41b has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-553f5fc41b

Comment 12 Fedora Update System 2020-11-28 03:04:10 UTC
FEDORA-2020-553f5fc41b has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-553f5fc41b`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-553f5fc41b

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 13 Fedora Update System 2020-12-07 01:16:02 UTC
FEDORA-2020-553f5fc41b has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.