2017-02-11 6 views
1

Ich versuche, die Go-Bindungen für Tensorflow gehen zu bekommen. Ich habe die QuickStart-Anweisungen aus dem Repo befolgt.Error Build Go Bindungen für Tensorflow

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/go

jedoch der Befehl build:

go get github.com/tensorflow/tensorflow/tensorflow/go

schlägt mit dem folgenden Fehler:

pendragon:src sjc$ go get github.com/tensorflow/tensorflow/tensorflow/go 
# github.com/tensorflow/tensorflow/tensorflow/go 
ld: library not found for -ltensorflow 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
pendragon:src sjc$ 

Die lib in/usr/local/lib heruntergeladen und installiert wurde

$ ls -l libtens* 
-r-xr-xr-x 1 root wheel 107227008 1 Jan 1970 libtensorflow.so 

Es scheint alles gemäß den Anweisungen eingerichtet zu sein. Ich bin mir nicht sicher, wie ich dem Go-Build sonst noch zeigen könnte, wo sich die Bibliothek befindet. Hat noch jemand den Go-Wrapper zum bauen?

Antwort

0

Die Lösung gefunden.

Sowohl auf Linux als auch auf OSX, um es zu erstellen und zu testen, musste ich die Bibliothekspfade explizit festlegen.

auf einem Ubuntu VM versponnen ich zum Testen Aufbau:

~/work$ export LD_LIBRARY_PATH=/usr/local/lib 
~/work$ export LIBRARY_PATH=/usr/local/lib 
~/work$ go get github.com/tensorflow/tensorflow/tensorflow/go 
~/work# go test github.com/tensorflow/tensorflow/tensorflow/go 
ok github.com/tensorflow/tensorflow/tensorflow/go 0.210s 
~/work$ 

auf meinem lokalen Rechner OSX:

pendragon:go sjc$ export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/lib 
pendragon:go sjc$ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib 
pendragon:go sjc$ go get github.com/tensorflow/tensorflow/tensorflow/go 
pendragon:go sjc$ go test github.com/tensorflow/tensorflow/tensorflow/go 
ok  github.com/tensorflow/tensorflow/tensorflow/go 0.237s 

So ist es die Anweisungen zum Einrichten jener Pfadumgebungsvariablen scheint scheinen auch anwenden wenn Sie libtensorflow in /usr/local/lib installiert haben.