john_connor
john_connor

Reputation: 157

Yet another "h5py is running against HDF5 1.10.5 when it was built against 1.10.4" error while trying to run OpenMMD

I'm trying to directly convert real-person videos to the motion of animation models (i.e. Miku, Anmicius) following the instructions located here :

https://github.com/peterljq/OpenMMD

and here :

https://www.youtube.com/watch?v=hKx6jl9a5-I

after having issued all the commands proposed,this is what happens :

C:\Users\marietto2020\Desktop\MMD\OpenMMD\OpenMMD 1.0\3d-pose-baseline-vmd
(tensorflow) λ openposeto3d

´╗┐es (40 sloc) 1.62 KB
"´╗┐es" is not recognized as an internal or external command or as a batch file.
Please input the path of result from OpenPose Execution: JSON folder
Input is limited to English characters and numbers.
Ôûáthe path of result from OpenPose Execution (JSON folder): json
--------------
The max number of people in your video.
If no input and press Enter, the number of be set to default: 1 person.
The max number of people in your video: 1
--------------
If you want the detailed information of GIF, input yes.
If no input and press Enter, the generation setting of GIF will be set to default.
warn If you input warn, then no GIF will be generated.
the detailed information[yes/no/warn]: yes
C:\Users\marietto2020\.conda\envs\tensorflow\lib\site-packages\h5py\__init__.py:40: UserWarning: h5py is running against HDF5 1.10.5 when it was built against 1.10.4, this may cause problems
  '{0}.{1}.{2}'.format(*version.hdf5_built_version_tuple)
Warning! ***HDF5 library version mismatched error***
The HDF5 header files used to compile this application do not match
the version used by the HDF5 library to which this application is linked.
Data corruption or segmentation faults may occur if the application continues.
This can happen when an application was compiled by one version of HDF5 but
linked with a different version of static or shared HDF5 library.
You should recompile the application or check your shared library related
settings such as 'LD_LIBRARY_PATH'.
You can, at your own risk, disable this warning by setting the environment
variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.
Setting it to 2 or higher will suppress the warning messages totally.
Headers are 1.10.4, library is 1.10.5
        SUMMARY OF THE HDF5 CONFIGURATION
        =================================

General Information:
-------------------
                   HDF5 Version: 1.10.5
                  Configured on: 2019-03-04
                  Configured by: Visual Studio 14 2015 Win64
                    Host system: Windows-10.0.17763
              Uname information: Windows
                       Byte sex: little-endian
             Installation point: C:/Program Files/HDF5

Compiling Options:
------------------
                     Build Mode:
              Debugging Symbols:
                        Asserts:
                      Profiling:
             Optimization Level:

Linking Options:
----------------
                      Libraries:
  Statically Linked Executables: OFF
                        LDFLAGS: /machine:x64
                     H5_LDFLAGS:
                     AM_LDFLAGS:
                Extra libraries:
                       Archiver:
                         Ranlib:

Languages:
----------
                              C: yes
                     C Compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe 19.0.24218.1
                       CPPFLAGS:
                    H5_CPPFLAGS:
                    AM_CPPFLAGS:
                         CFLAGS:  /DWIN32 /D_WINDOWS /W3
                      H5_CFLAGS:
                      AM_CFLAGS:
               Shared C Library: YES
               Static C Library: YES

                        Fortran: OFF
               Fortran Compiler:
                  Fortran Flags:
               H5 Fortran Flags:
               AM Fortran Flags:
         Shared Fortran Library: YES
         Static Fortran Library: YES

                            C++: ON
                   C++ Compiler: C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe 19.0.24218.1
                      C++ Flags: /DWIN32 /D_WINDOWS /W3 /GR /EHsc
                   H5 C++ Flags:
                   AM C++ Flags:
             Shared C++ Library: YES
             Static C++ Library: YES

                            JAVA: OFF
                   JAVA Compiler:

Features:
---------
                   Parallel HDF5: OFF
Parallel Filtered Dataset Writes:
              Large Parallel I/O:
              High-level library: ON
                    Threadsafety: OFF
             Default API mapping: v110
  With deprecated public symbols: ON
          I/O filters (external):  DEFLATE DECODE ENCODE
                             MPE:
                      Direct VFD:
                         dmalloc:
  Packages w/ extra debug output:
                     API Tracing: OFF
            Using memory checker: OFF
 Memory allocation sanity checks: OFF
          Function Stack Tracing: OFF
       Strict File Format Checks: OFF
    Optimization Instrumentation:
Bye...

and the process stops there. Instead,this is what should happens :

pic

How to fix the warning / error ? thanks.

Upvotes: 4

Views: 19119

Answers (3)

saken
saken

Reputation: 21

In R the following procedure helped me:

hdf5version<-"hdf5=1.10.4" # change hdf5 version accordingly
reticulate::conda_install(packages = hdf5version, pip = TRUE) #pip = TRUE might not be necessary
reticulate::use_condaenv(hdf5version, required = TRUE) 
install.packages("tensorflow")
install.packages("keras")
library("keras")
install_keras()

Upvotes: 0

r poon
r poon

Reputation: 716

The fundamental issue seems to be:

a) In your conda environment you have a hdf5 (say 1.10.4 in this case) b) In the VS C++ environmentyou have another hdf5 (1.10.5 in this case)

When you first build h5py within the conda env, it is built against the hdf5 1.10.4 in conda env, then when keras call the underlying tensorflow, which is based on c++ environment of hdf5 1.10.4 so the conflicts exist.

Solution:

There are a couple of solutions and fixes. Fundamentally

i) I remove the Keras , eg: conda remove keras

ii) Change the hdf5 in conda env to same as the VS C++, eg: conda install --force hdf5=1.10.4

iii) reinstall Keras, eg: conda install keras

Upvotes: 3

Cceer
Cceer

Reputation: 121

Try this:

  1. First uninstall h5py using

    pip uninstall h5py

  2. Then reinstall it:

    pip install h5py

Upvotes: 11

Related Questions