系统环境:
Ubuntu 20.04
Cuda 11.3
Cudnn 8
Python3.8
gcc9.3
Step 1.
google下载最新版Tensorflow 2.6.2
根据"C++调用Tensorflow”,需安装protobuf,absl,eigen3,bazel
需要注意版本问题,因此需参考tensorflow下的workspace.bzl文件中所提及的版本来安装对应版本的包,版本过高会导致编译问题
Step 2.
Protobuf安装
#cd protobuf #git submodule update --init --recursive #./autogen.sh #./configure #make #make check #make install #ldconfig
运行protoc --version,输出版本信息则表示安装成功
Step 3.
下载对应版本eigen3以及abseil-cpp,cp -r所有*.h及*.so到对应的/usr/local/include或/usr/local/lib下
Step 4.
安装对应版本的bazel
Step 5.
在tensorflow子目录下
./configure bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package //tensorflow:libtensorflow_cc.so
编译后将所需的*.so及*.h分别cp -r至/usr/local/lib及/usr/local/include中
至此完成全部安装
测试:
#include#include #include using namespace std; using namespace tensorflow; int main() { Session* session; Status status = NewSession(SessionOptions(), &session); if (!status.ok()) { cout << status.ToString() << "n"; return 1; } cout << "Session successfully created.n"; }
CMakeLists.txt部分
cmake_minimum_required (VERSION 2.8.8) project (main) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -std=c++11 -W") //link_directories(/usr/local/lib/tensorflow) add_executable(main main.cpp) target_link_libraries(main tensorflow_cc tensorflow_framework)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)