GNU bug report logs - #60545
Keras h5py Version Mismatch

Previous Next

Package: guix;

Reported by: Zacchaeus Scheffer <Zacchaeus.Scheffer <at> synaptics.com>

Date: Wed, 4 Jan 2023 07:35:03 UTC

Severity: normal

Merged with 60608

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Zacchaeus Scheffer <Zacchaeus.Scheffer <at> synaptics.com>
To: "bug-guix <at> gnu.org" <bug-guix <at> gnu.org>
Subject: Keras h5py Version Mismatch
Date: Wed, 4 Jan 2023 01:37:34 +0000
[Message part 1 (text/plain, inline)]
Hi Guix!


It would seem that the current keras version expects an earlier h5py version for loading models.  Specifically, running:

from tensorflow.keras.models import load_model
model = load_model("model.h5")

fails with:

  File "/gnu/store/idfn4l2kxil9id21v1yci4jcw6103fah-profile/lib/python3.9/site-packages/tensorflow/python/keras/engine/saving.py", line 228, in load_model
    model_config = json.loads(model_config.decode('utf-8'))
AttributeError: 'str' object has no attribute 'decode'

The above works fine in my local pip environment (see below).  A quick search online indicates that this can be fixed by downgrading h5py to version 2.10.  The current h5py version in guix is 3.6.

My assumption is that this could also be fixed with an upgrade to keras, but upgrading keras sounds much more involved.  For a short-term fix, would it be possible to add back a package definition for an earlier h5py in addition to the current version?  I'm sure an appropriate version exists somewhere in guix's git history, though my git-foo is too weak for me to check.


Thanks,
Zacchae


P.S.
working (pip): keras 2.10.0, h5py 3.7.0
not working (current guix): keras 2.2.4, h5py 3.6.0
[Message part 2 (text/html, inline)]

This bug report was last modified 2 years and 134 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.