为Tensorflow生成Go绑定时出错
我正在尝试使Tensorflow的Go绑定正常运行。我遵循了回购协议中的快速启动说明 但是,build命令:为Tensorflow生成Go绑定时出错,go,tensorflow,Go,Tensorflow,我正在尝试使Tensorflow的Go绑定正常运行。我遵循了回购协议中的快速启动说明 但是,build命令: 获取github.com/tensorflow/tensorflow/tensorflow/go 失败,出现以下错误: pendragon:src sjc$ go get github.com/tensorflow/tensorflow/tensorflow/go # github.com/tensorflow/tensorflow/tensorflow/go ld: library
获取github.com/tensorflow/tensorflow/tensorflow/go
失败,出现以下错误:
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$
lib已下载并安装在/usr/local/lib中
$ ls -l libtens*
-r-xr-xr-x 1 root wheel 107227008 1 Jan 1970 libtensorflow.so
它似乎都是按照说明设置的。不确定如何向Go build指示在何处查找库。还有谁得到了要构建的Go包装吗?找到了解决方案
在Linux和OSX上,为了让它进行构建和测试,我需要显式地设置库路径
在Ubuntu虚拟机上,我开始测试构建:
~/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$
在我的本地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
因此,即使您已将libtensorflow
安装到/usr/local/lib
中,关于设置这些路径环境变量的说明似乎也适用
在Linux和OSX上,为了让它进行构建和测试,我需要显式地设置库路径
在Ubuntu虚拟机上,我开始测试构建:
~/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$
在我的本地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
因此,即使您已将
libtensorflow
安装到/usr/local/lib
中,关于设置这些路径环境变量的说明似乎也适用。您也可以只执行sudo ldconfig
,因为库位于/usr/local/lib
下。您也可以只执行sudoldconfig
,因为库位于/usr/local/lib
下。