tensorflow C++ 环境部署
tensorflow C++ 环境部署本次部署的是1.15.2版本的 tensorflow, cuda 10.0,cudnn7.6.0 具体流程如下:安装bazel查询得知,1.15.2版本的tensorflow需要的bazel 版本是0.26.1,所以安装此版本的bazel,具体流程如下:1.1. 在 " https://github.com/bazelbuild/bazel/rel...
tensorflow C++ 环境部署
本次部署的是1.15.2版本的 tensorflow, cuda 10.0,cudnn7.6.0 具体流程如下:
-
安装bazel
查询得知,1.15.2版本的tensorflow需要的bazel 版本是0.26.1,所以安装此版本的bazel,具体流程如下:
1.1. 在 " https://github.com/bazelbuild/bazel/releases " 中找0.26.1版本bazel, " bazel-0.26.1-installer-linux-x86_64.sh "
1.2. 运行 " chmod +x bazel-0.26.1-installer-linux-x86_64.sh " ,"./bazel-0.26.1-installer-linux-x86_64.sh --user"
1.3. 添加环境变量 : 键入 “sudo bash gedit ~/.bashrc”,在最后添加 export PATH=“PATH:PATH:PATH:HOME/bin” , 键入"source ~/.bashrc"
1.4. 打开终端,键入 " bazel version " 查看版本 -
源码编译c++ tensorflow
2.1. 下载源码;" git clone -b v1.15.2 --recursive https://github.com/tensorflow/tensorflow && cd tensorflow"
2.2. 配置参数; 键入 " ./configure "
2.3. 键入 " bazel build --config=opt --config=cuda //tensorflow:libtensorflow_cc.so --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" "
2.4. 键入 " bazel build --config=opt --config=cuda //tensorflow:libtensorflow_framework.so --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" "
2.5. 键入 " ./tensorflow/contrib/makefile/build_all_linux.sh " (有条件尽量科学上网,要不有下载失败的可能) -
安装 eigen3.3.4
参考 " https://www.jianshu.com/p/41ff7b4502d5 ", 选择源码安装 -
tensorflow c++ 测试
CMakeLists.txt:
cmake_minimum_required (VERSION 2.8.8)
project (example)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -std=c++11 -W")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -D_GLIBCXX_USE_CXX11_ABI=0 -W")
aux_source_directory(./src DIR_SRCS)
link_directories(【tensorflow源码路径/bazel-bin/tensorflow)
include_directories(
#./include
#如果没有拷贝相关头文件到include目录,需要添加以下包含目录
【tensorflow源码路径】
【tensorflow源码路径】/bazel-genfiles
【tensorflow源码路径】/tensorflow/contrib/makefile/gen/protobuf/include
【tensorflow源码路径】/tensorflow/contrib/makefile/downloads/absl
【eigen源码路径】
)
add_executable(example ${DIR_SRCS})
target_link_libraries(example tensorflow_cc tensorflow_framework)
main.cc
#include <tensorflow/core/platform/env.h>
#include <tensorflow/core/public/session.h>
#include <iostream>
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";
}
在工程中建立" build " 文件夹 -> " cd build " -> " cmake … " -> " make " -> " ./example "
当出现下面界面,则构建成功:
更多推荐
所有评论(0)