2017-06-04 4 views
0

Also, ich versuche, die Fackel-Rnn auf meinem Mac (Sierra) mit this tutorial. Ich habe abgeschlossen Schritte 1-6 (Basisinstallation und Vorverarbeitung von Daten), aber wenn ich versuche, das eigentliche Training Befehl auszuführen brauchte ich in einen Fehler laufen:Torch kann HDF5 Header-Datei nicht finden

Catons-Mac-mini:torch-rnn catons$ th train.lua -gpu -1 -input_h5 data/datafile.h5 -input_json data/datafile.json 
/Users/catons/torch/install/bin/luajit: /Users/catons/torch/install/share/lua/5.1/trepl/init.lua:389: /Users/catons/torch/install/share/lua/5.1/trepl/init.lua:389: /Users/catons/torch/install/share/lua/5.1/hdf5/ffi.lua:42: Error: unable to locate HDF5 header file at /usr/local/Cellar/hdf5/1.10.1/include;/usr/include;/usr/local/opt/szip/include/hdf5.h 
stack traceback: 
    [C]: in function 'error' 
    /Users/catons/torch/install/share/lua/5.1/trepl/init.lua:389: in function 'require' 
    train.lua:6: in main chunk 
    [C]: in function 'dofile' 
    ...tons/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk 
    [C]: at 0x0105195a10 

HINWEIS: Ich habe den Zug Befehl zu ändern, aufgrund Mangel an CUDA-Unterstützung

Ich habe versucht, hdf5 mit brew zu deinstallieren und neu zu installieren, einschließlich mit der Option --with-mpi. Trotzdem wird die Header-Datei immer noch nicht angezeigt.

Vielen Dank für jede Hilfe oder Beratung!

EDIT: OK, so die Header-Datei ist tatsächlich da und ich glaube nicht, dass Fackel kann nicht finden, aufgrund eines Problems mit Berechtigungen, wie ich die Berechtigungen für die Datei als -rwxrwxrwx (was zugegebenermaßen könnte Übertreibend sein).

Antwort

0

Ich hatte das gleiche Problem. Ich betreibe einen frühen 2013 Mac mit Sierra.

Was für mich funktionierte, war HDF5 1.8 statt 1.10.1 zu verwenden.

brew install [email protected] 

aktualisieren Dann wird der Pfad in /Users/catons/torch/install/share/lua/5.1/hdf5/init.lua auf 1,8 Punkt statt 1.10.1.

hdf5._config = { 
    HDF5_INCLUDE_PATH = "/usr/local/Cellar/[email protected]/1.8.18/include", 
    HDF5_LIBRARIES = "/usr/local/Cellar/[email protected]/1.8.18/lib/libhdf5.dylib;/usr/local/opt/szip/lib/libsz.dylib;/usr/lib/libz.dylib;/usr/lib/libdl.dylib;/usr/lib/libm.dylib" 
} 

Wenn Sie ein "close" Fehler danach zu erhalten, ersetzen Linie 44 in der ffi.lua Datei im selben Verzeichnis mit:

local process = io.popen("gcc -D '_Nullable=' -E " .. headerPath) -- TODO pass -I 

Schließlich wenn Sie mit Fackel-cl , müssen Sie den Pfad und die Zeile 44 in den Fackel-Cl-Versionen von config.lua und ffi.lua ersetzen.