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

Reply via email to