C++ API for TensorFlow, built outside TensorFlow source
Top 45.6% on SourcePulse
This repository provides a build system for the TensorFlow C++ API, enabling its use outside the TensorFlow source tree and without Bazel. It targets C++ developers needing to integrate TensorFlow's machine learning capabilities into their applications, offering a simplified build and installation process.
How It Works
The project utilizes CMake to download, build, and install the TensorFlow C++ API. It manages dependencies and configurations, abstracting away the complexities of TensorFlow's native Bazel build system. This approach simplifies the build process and allows for easier integration into existing C++ projects.
Quick Start & Requirements
floopcz/tensorflow_cc:ubuntu
) and GPU (floopcz/tensorflow_cc:ubuntu-cuda
).
docker run -it floopcz/tensorflow_cc:ubuntu /bin/bash
docker run --gpus all -it floopcz/tensorflow_cc:ubuntu-cuda /bin/bash
cmake
, curl
, g++-7
, git
, python3-dev
, python3-numpy
, wget
, and bazel
. GPU support requires NVIDIA CUDA Toolkit (>=11.1), drivers, and cuDNN.base-devel
, bazel
, cmake
, git
, python
, python-numpy
, wget
. GPU support requires cuda
, cudnn
, nvidia
.cmake ..
, make
, and sudo make install
.-DLOCAL_RAM_RESOURCES
and -DLOCAL_CPU_RESOURCES
for low-memory environments.Highlighted Details
Maintenance & Community
No specific contributors, sponsorships, or community links (Discord/Slack) are mentioned in the README.
Licensing & Compatibility
The repository's license is not explicitly stated in the README. Compatibility for commercial use or closed-source linking would depend on the underlying TensorFlow license and any additional licensing applied to this wrapper project.
Limitations & Caveats
Newer TensorFlow versions may fail to build with the latest Bazel; older Bazel versions might be necessary. Protobuf linkage issues can occur, potentially requiring the -DINSTALL_PROTOBUF=ON
CMake option. CPU optimizations are enabled by default for Haswell and newer, which may cause incompatibility with older CPUs if CC_OPT_FLAGS="-march=native"
is used.
1 year ago
Inactive