Can I build/get static library (.a files instead of .so files) of tensorflow C API? I need to include/link tensorflow c api in my C++ software xyz and then I build shared library xyz.so that will be sent to other party. The other party should be able to run xyz.so without installing/building tensorflow.
tensorflow C API static library
538 Views Asked by fisakhan At
2
There are 2 best solutions below
0
Maxxxxxx
On
I have gotten some things to work by compiling Tensorflow with the following bazel command:
bazel build --config=monolithic -j 1 //tensorflow:libtensorflow.so
And then linking together the object files with libtool for MacOS:
libtool -static -o libtensorflow_arm64_libtool_SO3.a $(cat bazel-bin/tensorflow/libtensorflow_cc.so.*.params | sed -e 's!-Wl,-force_load,!!' | grep -e '\.a$' -e '\.lo$' | sort -t: -u -k1,1)
Or ar for linux:
ar -cr libtensorflow.a $(cat bazel-bin/tensorflow/libtensorflow_cc.so.*.params | grep '\.o$')
I have not figured out all the details, but this does make at least version control and tensor allocation work.
EDIT:
In the end I opted for going with TFLite as it supports almost all TF operations and have Cmake support for building static libraries. For the full solution see this thread:
Has anyone experience in building a static library for the Tensorflow C++ API?
Related Questions in C++
- C++ using std::vector across boundaries
- Linked list without struct
- Connecting Signal QML to C++ (Qt5)
- how to get the reference of struct soap inherited in C++ Proxy/Service class
- Why we can't assign value to pointer
- Conversion of objects in c++
- shared_ptr: "is not a type" error
- C++ template using pointer and non pointer arguments in a QVector
- C++ SFML 2.2 vectors
- Lifetime of temporary objects
- I want to be able to use 4 different variables in a select statement in c ++
- segmentation fault: 11, extracting data in vector
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- How can I print all the values in this linked list inside a hash table?
- Configured TTL for A record(s) backing CNAME records
Related Questions in C
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in SHARED-LIBRARIES
- Global variable in shared library
- How to load all symbols from shared library on start up?
- What happens when ld link different versions of the same library
- MapReduce job fails with ExitCodeException exitCode=255
- Android NDK - Including prebuilt static libraries gives undefined reference errors
- Detecting unresolved symbols in an ELF executable
- How to structure Xamarin library containing iOS & Android bindings?
- How do I share headers and libraries in subdirectory by cmake?
- Using 32-bit library from 64-bit application with perl or neko
- about Multiple dex files define Lcom/google/gson/JsonSerializer
- How do I install the Matlab MCR in Ubuntu 14.04 without "killing" Unity?
- How do Linux programs know where the library files are and how to call them?
- Linux ELF - Why does normal linking run faster than 'ldd -r'?
- How to include a "custom" library in Code::Blocks? (Windows 7)
- Error Linking OpenCV Libraries
Related Questions in STATIC-LIBRARIES
- Disable OpenCL in OpenCV completely
- How do i use a bunch of .h and .cpp files to create a static library that can be used in another c++ Project
- Android NDK - Including prebuilt static libraries gives undefined reference errors
- iOS framework resource files
- How can I add a static library to Android NDK using the build.gradle file?
- Compiling a static version of wxWidgets
- A lot of undefined reference errors when using wxWidgets(3.0.2) as static build
- Prebuilding different kind of static library in Android NDK
- C++ Library distribution with a Main()
- Static library link issue with Mac OS X: symbol(s) not found for architecture x86_64
- Compile Curl Visual Studio - unresolved external symbol
- VS2012 Identifer not found when part of static lib
- Best way to extend a method of Google library
- Embendding Python 3.4 into MacOS app
- Creating LSD-SLAM static library for iOS
Related Questions in TENSORFLOW-C++
- How to build single-threaded TensorFlow 2.x from source
- How do I write CMakeList.txt file to include the tensorflow library? (c++ build)
- cppflow model loading hangs unity
- Loading TensorFlow model to manipulate an audio stream with C++
- How can I run Tensorflow on one single core, single thread CPP?
- TensorFlow C API Logging Setting
- How to create custom tensor value with shape (b,n,m)?
- Immediate runtime error with Tensorflow C api on M1 Mac
- Has anyone experience in building a static library for the Tensorflow C++ API?
- Is there an equivalent of tf.gradients function in tensorflow C or C++ API?
- Tensorflow in C++: Successfully reading the protocol buffer for LSTM encoder decoder model
- Can tensorflow consume GPU memory exactly equal to required
- tensorflow C API static library
- Tensorflow C API Selecting GPU
- Passing an array of arrays to a input tensor
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Download tensorflow c api and link .so files using CMakeLists.txt file.