From f41927671ae8e3979f80a95cbcf7c6a0aeee49aa Mon Sep 17 00:00:00 2001 From: Gonzalo Mier Date: Wed, 22 Sep 2021 01:00:27 +0200 Subject: [PATCH 01/12] Removed Examples and Docs --- docs/Doxyfile | 15 -- docs/Makefile | 21 -- docs/make.bat | 35 --- docs/source/conf.py | 70 ------ docs/source/cppflow.svg | 221 ------------------ docs/source/examples.rst | 178 -------------- docs/source/index.rst | 33 --- docs/source/installation.rst | 47 ---- docs/source/my_cat.jpg | Bin 121408 -> 0 bytes docs/source/quickstart.rst | 203 ---------------- examples/eager_op_multithread/CMakeLists.txt | 14 -- examples/eager_op_multithread/main.cpp | 40 ---- examples/efficientnet/CMakeLists.txt | 10 - examples/efficientnet/create_model.py | 8 - examples/efficientnet/main.cpp | 17 -- examples/efficientnet/my_cat.jpg | Bin 121408 -> 0 bytes examples/load_model/CMakeLists.txt | 12 - examples/load_model/create_model.py | 14 -- examples/load_model/main.cpp | 21 -- examples/load_model/model/saved_model.pb | Bin 48550 -> 0 bytes .../variables/variables.data-00000-of-00001 | Bin 1652 -> 0 bytes .../model/variables/variables.index | Bin 387 -> 0 bytes examples/multi_input_output/CMakeLists.txt | 10 - examples/multi_input_output/create_model.py | 19 -- examples/multi_input_output/main.cpp | 17 -- .../multi_input_output/model/saved_model.pb | Bin 83783 -> 0 bytes .../variables/variables.data-00000-of-00001 | Bin 2998 -> 0 bytes .../model/variables/variables.index | Bin 611 -> 0 bytes examples/tensor/CMakeLists.txt | 10 - examples/tensor/main.cpp | 88 ------- examples/tensor/odr.cpp | 4 - 31 files changed, 1107 deletions(-) delete mode 100644 docs/Doxyfile delete mode 100644 docs/Makefile delete mode 100644 docs/make.bat delete mode 100644 docs/source/conf.py delete mode 100644 docs/source/cppflow.svg delete mode 100644 docs/source/examples.rst delete mode 100644 docs/source/index.rst delete mode 100644 docs/source/installation.rst delete mode 100644 docs/source/my_cat.jpg delete mode 100644 docs/source/quickstart.rst delete mode 100644 examples/eager_op_multithread/CMakeLists.txt delete mode 100644 examples/eager_op_multithread/main.cpp delete mode 100644 examples/efficientnet/CMakeLists.txt delete mode 100644 examples/efficientnet/create_model.py delete mode 100644 examples/efficientnet/main.cpp delete mode 100644 examples/efficientnet/my_cat.jpg delete mode 100644 examples/load_model/CMakeLists.txt delete mode 100644 examples/load_model/create_model.py delete mode 100644 examples/load_model/main.cpp delete mode 100644 examples/load_model/model/saved_model.pb delete mode 100644 examples/load_model/model/variables/variables.data-00000-of-00001 delete mode 100644 examples/load_model/model/variables/variables.index delete mode 100644 examples/multi_input_output/CMakeLists.txt delete mode 100644 examples/multi_input_output/create_model.py delete mode 100644 examples/multi_input_output/main.cpp delete mode 100644 examples/multi_input_output/model/saved_model.pb delete mode 100644 examples/multi_input_output/model/variables/variables.data-00000-of-00001 delete mode 100644 examples/multi_input_output/model/variables/variables.index delete mode 100644 examples/tensor/CMakeLists.txt delete mode 100644 examples/tensor/main.cpp delete mode 100644 examples/tensor/odr.cpp diff --git a/docs/Doxyfile b/docs/Doxyfile deleted file mode 100644 index be27a54..0000000 --- a/docs/Doxyfile +++ /dev/null @@ -1,15 +0,0 @@ -PROJECT_NAME = "cppflow" -XML_OUTPUT = xml -INPUT = ../include -GENERATE_LATEX = NO -GENERATE_MAN = NO -GENERATE_RTF = NO -CASE_SENSE_NAMES = NO -GENERATE_HTML = NO -GENERATE_XML = YES -RECURSIVE = YES -QUIET = YES -JAVADOC_AUTOBRIEF = YES -WARN_IF_UNDOCUMENTED = NO -MACRO_EXPANSION = YES -PREDEFINED = IN_DOXYGEN diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index 3979c08..0000000 --- a/docs/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line, and also -# from the environment for the first two. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -SOURCEDIR = source -BUILDDIR = build - -# Put it first so that "make" without argument is like "make help". -help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help Makefile - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - doxygen - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/make.bat b/docs/make.bat deleted file mode 100644 index 6247f7e..0000000 --- a/docs/make.bat +++ /dev/null @@ -1,35 +0,0 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=source -set BUILDDIR=build - -if "%1" == "" goto help - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% - -:end -popd diff --git a/docs/source/conf.py b/docs/source/conf.py deleted file mode 100644 index 03862cd..0000000 --- a/docs/source/conf.py +++ /dev/null @@ -1,70 +0,0 @@ -# Configuration file for the Sphinx documentation builder. -# -# This file only contains a selection of the most common options. For a full -# list see the documentation: -# https://www.sphinx-doc.org/en/master/usage/configuration.html - -# -- Path setup -------------------------------------------------------------- - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# -# import os -# import sys -# sys.path.insert(0, os.path.abspath('.')) - -# Workaround for issue https://github.com/sphinx-contrib/googleanalytics/issues/2 -# Note that a warning still will be issued "unsupported object from its setup() function" -# Remove this workaround when the issue has been resolved upstream -import sphinx.application -import sphinx.errors -sphinx.application.ExtensionError = sphinx.errors.ExtensionError - - -# -- Project information ----------------------------------------------------- - -project = 'cppflow' -copyright = '2020, Sergio Izquierdo' -author = 'Sergio Izquierdo' - -# The full version, including alpha/beta/rc tags -release = '2.0' - - -# -- General configuration --------------------------------------------------- - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'breathe', - 'sphinxcontrib.googleanalytics', -] - -breathe_projects = { 'cppflow': '../xml' } - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This pattern also affects html_static_path and html_extra_path. -exclude_patterns = [] - - -# -- Options for HTML output ------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -# -html_theme = 'sphinx_rtd_theme' - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = [] - -# -- Google Analytics -------------------------------------------------------- - -googleanalytics_id = 'UA-110983956-1' \ No newline at end of file diff --git a/docs/source/cppflow.svg b/docs/source/cppflow.svg deleted file mode 100644 index 9ea748f..0000000 --- a/docs/source/cppflow.svg +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - image/svg+xml - - FullColorPrimary Horizontal - - - - - - - - - - - - - - - - - - - - - - - - - FullColorPrimary Horizontal - - - - - ++ - - - - - CppFlow - - diff --git a/docs/source/examples.rst b/docs/source/examples.rst deleted file mode 100644 index 50bb5cb..0000000 --- a/docs/source/examples.rst +++ /dev/null @@ -1,178 +0,0 @@ -Examples -======== - -This guide show how to create and run some basic examples that show the functionality of cppflow. The code of these examples is available on the `GitHub repo `_. To run these examples, just use the provided CMake on each of them (after having installed the TF C API as in :ref:`Installation`): - -.. code:: bash - - git clone git@github.com:serizba/cppflow.git - cd cppflow/examples/load_model - mkdir build - cd build - cmake .. - make - ./example - - -Create and load model ---------------------- - -To create a model that you can open with cppflow you just need to create a ``tf.Module`` or a ``tf.keras.Model`` and save it. Using the functional API of keras this is as easy as: - -.. code:: python - - import tensorflow as tf - - - input = tf.keras.Input(shape=(5,)) - - output = tf.keras.layers.Dense(5, activation=tf.nn.relu)(input) - output = tf.keras.layers.Dense(1, activation=tf.nn.sigmoid)(output) - model = tf.keras.Model(inputs=input, outputs=output) - - model.compile() - - # Export the model to a SavedModel - model.save('model', save_format='tf') - -Now a new directory named ``model`` is created, and it contains the saved model. You can open it from cppflow using the ``model`` class, to then feed it with a tensor to obtain the output. - -.. code:: c++ - - #include - #include "cppflow/cppflow.h" - - - int main() { - - auto input = cppflow::fill({10, 5}, 1.0f); - cppflow::model model("../model"); - auto output = model(input); - - std::cout << output << std::endl; - - return 0; - } - -.. _EfficientNet: - -Inference on EfficientNet -------------------------- - -For this example we use a pretrained EfficientNet network that is available in `Keras applications `_. Running the following code will create a ``model`` directory with the definition of the EfficientNet and its weights. - -.. code:: python - - import tensorflow as tf - - model = tf.keras.applications.EfficientNetB0() - - # Export the model to a SavedModel - model.save('model', save_format='tf') - -Now we can open the model from cppflow and perform inference with a real image. - -.. image:: my_cat.jpg - :width: 300 - :alt: Inference on EfficientNet from c++ with a picture of a cat - -We can load the image using ``cppflow::read_file`` and ``cppflow::decode_jpeg``. Then we have to convert it to float and feed it to the network. - -.. code:: c++ - - #include - #include "cppflow/cppflow.h" - - - int main() { - - auto input = cppflow::decode_jpeg(cppflow::read_file(std::string("../my_cat.jpg"))); - input = cppflow::cast(input, TF_UINT8, TF_FLOAT); - input = cppflow::expand_dims(input, 0); - cppflow::model model("../model"); - auto output = model(input); - - std::cout << "It's a tiger cat: " << cppflow::arg_max(output, 1) << std::endl; - - return 0; - } - -To see the prediction of the network we apply ``cppflow::arg_max`` to the ouput and it will show the number of the predicted class, which corresponds with a tiger cat. - -.. _MultiInputOutput: - -Multi input/output model ------------------------- - -For this example we will create a Keras model that takes two inputs and produce two outputs: - -.. code:: python - - import tensorflow as tf - - input_1 = tf.keras.Input(shape=(5,), name='my_input_1') - input_2 = tf.keras.Input(shape=(5,), name='my_input_2') - - x1 = tf.keras.layers.Dense(5, activation=tf.nn.relu)(input_1) - x2 = tf.keras.layers.Dense(5, activation=tf.nn.relu)(input_2) - - output_1 = tf.keras.layers.Dense(1, activation=tf.nn.sigmoid, name='my_outputs_1')(x1) - output_2 = tf.keras.layers.Dense(1, activation=tf.nn.sigmoid, name='my_outputs_2')(x2) - - model = tf.keras.Model(inputs=[input_1, input_2], outputs=[output_1, output_2]) - - model.compile() - - # Export the model to a SavedModel - model.save('model', save_format='tf') - -Now, we will inspect the model with the `saved_model_cli `_ to retrieve the name of the operations, and to know how to call the model. - -.. code-block:: shell-session - - $ saved_model_cli show --dir model - 'serve' - $ saved_model_cli show --dir model --tag_set serve - SignatureDef key: "__saved_model_init_op" - SignatureDef key: "serving_default" - $ saved_model_cli show --dir model --tag_set serve --signature_def serving_default - The given SavedModel SignatureDef contains the following input(s): - inputs['my_input_1'] tensor_info: - dtype: DT_FLOAT - shape: (-1, 5) - name: serving_default_my_input_1:0 - inputs['my_input_2'] tensor_info: - dtype: DT_FLOAT - shape: (-1, 5) - name: serving_default_my_input_2:0 - The given SavedModel SignatureDef contains the following output(s): - outputs['my_outputs_1'] tensor_info: - dtype: DT_FLOAT - shape: (-1, 1) - name: StatefulPartitionedCall:0 - outputs['my_outputs_2'] tensor_info: - dtype: DT_FLOAT - shape: (-1, 1) - name: StatefulPartitionedCall:1 - Method name is: tensorflow/serving/predict - -From this output we can see that there are two inputs (``serving_default_my_input_1:0`` and ``serving_default_my_input_2:0``) and two outputs (``StatefulPartitionedCall:0`` and ``StatefulPartitionedCall:1``). You can run the model specifying multiple inputs as a vector of tuples `` - #include "cppflow/cppflow.h" - - int main() { - - auto input_1 = cppflow::fill({10, 5}, 1.0f); - auto input_2 = cppflow::fill({10, 5}, -1.0f); - cppflow::model model("../model"); - - auto output = model({{"serving_default_my_input_1:0", input_1}, {"serving_default_my_input_2:0", input_2}}, {"StatefulPartitionedCall:0", "StatefulPartitionedCall:1"}); - - std::cout << "output_1: " << output[0] << std::endl; - std::cout << "output_2: " << output[1] << std::endl; - return 0; - } diff --git a/docs/source/index.rst b/docs/source/index.rst deleted file mode 100644 index 30f421a..0000000 --- a/docs/source/index.rst +++ /dev/null @@ -1,33 +0,0 @@ -.. cppflow documentation master file, created by - sphinx-quickstart on Mon Oct 26 18:42:22 2020. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -.. image:: cppflow.svg - :alt: cppflow - -Easily run TensorFlow models from C++ -===================================== - -With cppflow you can easily run TensorFlow models in C++ without Bazel, without TensorFlow installation and without compiling Tensorflow. Perform tensor manipulation, use eager execution and run saved models directly from C++. - -.. toctree:: - :maxdepth: 2 - :caption: Guide - - installation - quickstart - examples - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` - - -Remark ------- -CppFlow is not related with TensorFlow. The CppFlow icon is a modified version of the TensorFlow logo. TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc. \ No newline at end of file diff --git a/docs/source/installation.rst b/docs/source/installation.rst deleted file mode 100644 index 4358714..0000000 --- a/docs/source/installation.rst +++ /dev/null @@ -1,47 +0,0 @@ -.. _Installation: - -Installation -============ - -One of the advantages of cppflow is that you don't need to compile or install TensorFlow, you just need to download the `TF C API `_. As cppflow is a header-only library, once you have the C API, the only thing you need to do is include the cppflow files from your project. - -To install the C API in your system you have two options: - -Install the TF C API globally ------------------------------ -You can install the C API in a system directory and do not worry about it again. For this, you just have to `download it `_ it and then: - -.. code:: bash - - sudo tar -C /usr/local -xzf (downloaded file) - sudo ldconfig - -Install the TF C API in custom directory ----------------------------------------- -.. note:: - The easiest way is to extract the library into your HOME directory, in a folder called ``libtensorflow2``. In this case, you can directly use the CMake files from the examples, which will search for the library in your HOME directory. - - ``mkdir -p ~/libtensorflow2/ && tar -C ~/libtensorflow2/ -xzf (downloaded file)`` - -You can also install the library in a custom directory. In this case, after `downloading it `_ and unpacking it you will need to update your PATH or add a hint to your ``CMakeLists.txt`` to find the library. - -.. code:: bash - - mkdir -p /path/to/mydir/ - tar -C /path/to/mydir -xzf (downloaded file) - -Now, update your path: - -.. code:: bash - - export LIBRARY_PATH=$LIBRARY_PATH:/path/to/mydir/lib - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/mydir/lib - -Or add a hint in ``CMakeLists.txt`` as in the examples: - -.. code:: cmake - - find_library(TENSORFLOW_LIB tensorflow HINT /path/to/mydir/lib) - - -You are done, now you can proceed to build your :ref:`first example`. diff --git a/docs/source/my_cat.jpg b/docs/source/my_cat.jpg deleted file mode 100644 index 951abe58603e1e284d742c53e7cba7790f9f66ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121408 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 - #include "cppflow/cppflow.h" - - int main() { - - // Create a tensor from a list, a = [1.0, 2.0, 3.0] - auto a = cppflow::tensor({1.0, 2.0, 3.0}); - // Create a tensor of shape 3 filled with 1.0, b = [1.0, 2.0, 3.0] - auto b = cppflow::fill({3}, 1.0); - - std::cout << a + b << std::endl; - - return 0; - } - -Easy right?, now you can compile it with the terminal (if you have configured the TF C API as stated in :ref:`Installation`) using the following command: - -.. code:: bash - - g++ -std=c++17 -o main.out -I /path/to/libtensorflow2/include/ -I/path/to/cppflow/include/ main.cpp -ltensorflow - ./main.out - -You should see the result of ``a + b``: - -.. code:: - - (tensor: shape=[3], data= - [2 3 4]) - -Using CMake ------------ - -Probably a more convenient way of compiling your code is using CMake. - -.. code:: cmake - - cmake_minimum_required(VERSION 3.10) - project(example) - - find_library(TENSORFLOW_LIB tensorflow HINT $ENV{HOME}/libtensorflow2/lib) - - set(CMAKE_CXX_STANDARD 17) - - add_executable(example main.cpp) - target_include_directories(example PRIVATE /path/to/cppflow/include/ $ENV{HOME}/libtensorflow2/include) - target_link_libraries (example "${TENSORFLOW_LIB}") - - - -Load a model ------------- - -You can easily run TensorFlow models with cppflow by loading a `saved model `_. Imagine you have a model saved on the folder ``coolpredictor`` that takes an image as an input and produces a vector of probabilities of the class belonging to each possible class. You can load the model, read your image, preprocess it, run the model and get the output just using cppflow: - -.. code:: c++ - - #include - #include "cppflow/cppflow.h" - - - int main() { - - // Load the model - cppflow::model model("coolpredictor"); - - // Load an image - auto input = cppflow::decode_jpeg(cppflow::read_file(std::string("image.jpg"))); - - // Cast it to float, normalize to range [0, 1], and add batch_dimension - input = cppflow::cast(input, TF_UINT8, TF_FLOAT); - input = input / 255.f; - input = cppflow::expand_dims(input, 0); - - // Run - auto output = model(input); - - // Show the predicted class - std::cout << cppflow::arg_max(output, 1) << std::endl; - } - -For a complete (runnable) example you can check :ref:`this example`, which performs inference on an EfficientNet trained on ImageNet. - -Complex model call (multi input/output models) ----------------------------------------------- - -By default, calling ``model(input)`` will use the input operation named ``serving_default_input_1`` and output operation ``StatefulPartitionedCall``. If you need to use other operations or you need to use multiple inputs or outputs you can directly specify your desired inputs and outputs operations: - -.. code:: c++ - - - // Calling model in default mode - auto output = model(input); - - // Calling model as in default mode (but specifying signature) - auto output = model({{"serving_default_input_1:0", input}},{"StatefulPartitionedCall:0"}); - - // Calling model with two inputs, named "serving_default_input_1" and "serving_default_input_2" - auto output = model({{"serving_default_input_1:0", input1}, {"serving_default_input_2:0", input2}},{"StatefulPartitionedCall:0"}); - - // Calling model with two outputs, named "StatefulPartitionedCall:0" and "StatefulPartitionedCall:1" - auto output = model({{"serving_default_input_1:0", input}},{"StatefulPartitionedCall:0", "StatefulPartitionedCall:1"}); - - // Calling model with two inputs and two outputs - auto output = model({{"serving_default_my_input_1:0", input_1}, {"serving_default_my_input_2:0", input_2}}, {"StatefulPartitionedCall:0", "StatefulPartitionedCall:1"}); - -.. note:: - If you don't know the name of the operations of your model you can use the `saved_model_cli `_ to print all the information: - - ``saved_model_cli show --dir /path/to/model --all`` - - Or you can use ``model::get_operations()`` to retrieve the name of the available operations. - - -For a complete (runnable) example you can check :ref:`this example`., which uses a toy model with two inputs and two outputs. - -GPU Config Options ------------------- - -You can specify TensorFlow's GPU Options to prevent it from reserving all your GPU memory. To do so in cppflow2, you need to change the global context and set your serialized options: - -.. code:: c++ - - - // Serialized config options (example of 30% memory fraction) - // Read more to see how to obtain the serialized options - std::vector config{0x32,0xb,0x9,0x34,0x33,0x33,0x33,0x33,0x33,0xd3,0x3f,0x20,0x1}; - // Create new options with your configuration - TFE_ContextOptions* options = TFE_NewContextOptions(); - TFE_ContextOptionsSetConfig(options, config.data(), config.size(), cppflow::context::get_status()); - // Replace the global context with your options - cppflow::get_global_context() = cppflow::context(options); - -To obtain your desired serialized config options you can just run a small python script to print them: - -.. code:: python - - import tensorflow.compat.v1 as tf - - def create_serialized_options(fraction, growth): - config = tf.ConfigProto() - config.gpu_options.per_process_gpu_memory_fraction = fraction - config.gpu_options.allow_growth = growth - serialized = config.SerializeToString() - return '{' + ','.join(list(map(hex, serialized))) + '}' - - # Example with 30% and enable memory growth - # {0x32,0xb,0x9,0x33,0x33,0x33,0x33,0x33,0x33,0xd3,0x3f,0x20,0x1} - print(create_serialized_options(fraction=0.3, growth=True)) - -Also, for convenience, here is a list with some precomputed serialized options: - -+-----------------+---------------+------------------------------------------------------------------+ -| Memory Fraction | Memory Growth | Serialized Options | -+=================+===============+==================================================================+ -| 10% | True | {0x32,0xb,0x9,0x9a,0x99,0x99,0x99,0x99,0x99,0xb9,0x3f,0x20,0x1} | -+ +---------------+------------------------------------------------------------------+ -| | False | {0x32,0x9,0x9,0x9a,0x99,0x99,0x99,0x99,0x99,0xb9,0x3f} | -+-----------------+---------------+------------------------------------------------------------------+ -| 20% | True | {0x32,0xb,0x9,0x9a,0x99,0x99,0x99,0x99,0x99,0xc9,0x3f,0x20,0x1} | -+ +---------------+------------------------------------------------------------------+ -| | False | {0x32,0x9,0x9,0x9a,0x99,0x99,0x99,0x99,0x99,0xc9,0x3f} | -+-----------------+---------------+------------------------------------------------------------------+ -| 30% | True | {0x32,0xb,0x9,0x34,0x33,0x33,0x33,0x33,0x33,0xd3,0x3f,0x20,0x1} | -+ +---------------+------------------------------------------------------------------+ -| | False | {0x32,0x9,0x9,0x34,0x33,0x33,0x33,0x33,0x33,0xd3,0x3f} | -+-----------------+---------------+------------------------------------------------------------------+ -| 40% | True | {0x32,0xb,0x9,0x9a,0x99,0x99,0x99,0x99,0x99,0xd9,0x3f,0x20,0x1} | -+ +---------------+------------------------------------------------------------------+ -| | False | {0x32,0x9,0x9,0x9a,0x99,0x99,0x99,0x99,0x99,0xd9,0x3f} | -+-----------------+---------------+------------------------------------------------------------------+ -| 50% | True | {0x32,0xb,0x9,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x3f,0x20,0x1} | -+ +---------------+------------------------------------------------------------------+ -| | False | {0x32,0x9,0x9,0x0,0x0,0x0,0x0,0x0,0x0,0xe0,0x3f} | -+-----------------+---------------+------------------------------------------------------------------+ -| 60% | True | {0x32,0xb,0x9,0x34,0x33,0x33,0x33,0x33,0x33,0xe3,0x3f,0x20,0x1} | -+ +---------------+------------------------------------------------------------------+ -| | False | {0x32,0x9,0x9,0x34,0x33,0x33,0x33,0x33,0x33,0xe3,0x3f} | -+-----------------+---------------+------------------------------------------------------------------+ -| 70% | True | {0x32,0xb,0x9,0x67,0x66,0x66,0x66,0x66,0x66,0xe6,0x3f,0x20,0x1} | -+ +---------------+------------------------------------------------------------------+ -| | False | {0x32,0x9,0x9,0x67,0x66,0x66,0x66,0x66,0x66,0xe6,0x3f} | -+-----------------+---------------+------------------------------------------------------------------+ -| 80% | True | {0x32,0xb,0x9,0x9a,0x99,0x99,0x99,0x99,0x99,0xe9,0x3f,0x20,0x1} | -+ +---------------+------------------------------------------------------------------+ -| | False | {0x32,0x9,0x9,0x9a,0x99,0x99,0x99,0x99,0x99,0xe9,0x3f} | -+-----------------+---------------+------------------------------------------------------------------+ -| 90% | True | {0x32,0xb,0x9,0xcd,0xcc,0xcc,0xcc,0xcc,0xcc,0xec,0x3f,0x20,0x1} | -+ +---------------+------------------------------------------------------------------+ -| | False | {0x32,0x9,0x9,0xcd,0xcc,0xcc,0xcc,0xcc,0xcc,0xec,0x3f} | -+-----------------+---------------+------------------------------------------------------------------+ \ No newline at end of file diff --git a/examples/eager_op_multithread/CMakeLists.txt b/examples/eager_op_multithread/CMakeLists.txt deleted file mode 100644 index 3876ca0..0000000 --- a/examples/eager_op_multithread/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(example) - -find_library(TENSORFLOW_LIB tensorflow HINT $ENV{HOME}/libtensorflow2/lib) -find_package(Threads REQUIRED) - -set(CMAKE_CXX_STANDARD 17) - -#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer -fsanitize=thread") -#set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=thread") - -add_executable(example main.cpp) -target_include_directories(example PRIVATE ../../include $ENV{HOME}/libtensorflow2/include) -target_link_libraries(example "${TENSORFLOW_LIB}" Threads::Threads) diff --git a/examples/eager_op_multithread/main.cpp b/examples/eager_op_multithread/main.cpp deleted file mode 100644 index 8ef7045..0000000 --- a/examples/eager_op_multithread/main.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include -#include -#include -#include - -#include "cppflow/cppflow.h" - -constexpr size_t num_iter = 10240; -constexpr size_t num_threads = 32; - -void test1(float input1, float input2, float input3) { - float target = (input1+input2)*input3; - for(size_t i = 0; i < num_iter; i++) { - cppflow::tensor t1(input1), t2(input2), t3(input3); - auto result = (t1+t2)*t3; - float result_value = result.get_data()[0]; - if(std::abs(target/result_value-1.0f) > 1e-6) { - std::cout << "error: result_value=" << result_value << ", target=" << target << std::endl; - } - } -} - -int main() { - std::vector threads; - for(size_t i = 0; i < num_threads; i++) { - if(i % 2 == 0) { - std::thread t1(test1, 3, 10, 100); - threads.push_back(std::move(t1)); - } else { - std::thread t2(test1, 130, 10, 100); - threads.push_back(std::move(t2)); - } - } - - for(auto& t: threads) { - t.join(); - } - - return 0; -} diff --git a/examples/efficientnet/CMakeLists.txt b/examples/efficientnet/CMakeLists.txt deleted file mode 100644 index 64662c9..0000000 --- a/examples/efficientnet/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(example) - -find_library(TENSORFLOW_LIB tensorflow HINT $ENV{HOME}/libtensorflow2/lib) - -set(CMAKE_CXX_STANDARD 17) - -add_executable(example main.cpp) -target_include_directories(example PRIVATE ../../include $ENV{HOME}/libtensorflow2/include) -target_link_libraries (example "${TENSORFLOW_LIB}") \ No newline at end of file diff --git a/examples/efficientnet/create_model.py b/examples/efficientnet/create_model.py deleted file mode 100644 index 48afa2e..0000000 --- a/examples/efficientnet/create_model.py +++ /dev/null @@ -1,8 +0,0 @@ -import tensorflow as tf - -model = tf.keras.applications.EfficientNetB0() - -# Export the model to a SavedModel -model.save('model', save_format='tf') - - diff --git a/examples/efficientnet/main.cpp b/examples/efficientnet/main.cpp deleted file mode 100644 index ac2dac7..0000000 --- a/examples/efficientnet/main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include - -#include "cppflow/cppflow.h" - - -int main() { - - auto input = cppflow::decode_jpeg(cppflow::read_file(std::string("../my_cat.jpg"))); - input = cppflow::cast(input, TF_UINT8, TF_FLOAT); - input = cppflow::expand_dims(input, 0); - cppflow::model model("../model"); - auto output = model(input); - - std::cout << "It's a tiger cat: " << cppflow::arg_max(output, 1) << std::endl; - - return 0; -} diff --git a/examples/efficientnet/my_cat.jpg b/examples/efficientnet/my_cat.jpg deleted file mode 100644 index 951abe58603e1e284d742c53e7cba7790f9f66ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121408 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
_IE4uKsAaL}jgnPY{kXH6>V*oan0gC7= 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 - -#include "cppflow/ops.h" -#include "cppflow/model.h" - - -int main() { - - auto input = cppflow::fill({10, 5}, 1.0f); - cppflow::model model("../model"); - auto output = model(input); - - std::cout << output << std::endl; - - auto values = output.get_data(); - - for (auto v : values) { - std::cout << v << std::endl; - } - return 0; -} diff --git a/examples/load_model/model/saved_model.pb b/examples/load_model/model/saved_model.pb deleted file mode 100644 index 9cd005803833fe7fd5731eabbc3e4fe0f42f2908..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48550 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 F{{zPv+$I13 diff --git a/examples/load_model/model/variables/variables.data-00000-of-00001 b/examples/load_model/model/variables/variables.data-00000-of-00001 deleted file mode 100644 index def833ba27a25cd14edb479fd4c58740e665ebe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1652 zcmZ2*C4)I8j$V?B9az|1_mGg)iw;?=kAo6s}gPGQ3~+dcm- z+6mnGZ08ZoYwxk?o!tqwReKd|@7V45S!8F{$zt!z?y}!txBUKD&Ia~7^xf%Mr(=$qnfim1c8K^QtpfYBx$_#vP}#? ze=%^$aIpe?#%KVfc!U@Yfs~*SqY;o25@IwaAiI{4tib2y5Eo+4O)V+POfClcRzipk zoJfkf1UV#ycp(V}CN0k)B_s_I!XCxa9MVGKdB7+qBAOYvB80-Y_`)26JRO~UT;szW zeL`J@cv4dHic|F=aVuqpEx|%1_4OP>LV`S+ zB!$mZ1};9d_(A7`x90#&UaUh2o2l9mCKmlJIpd|Mwp$Lp{;sb|Mydl0g zfJx#DtuUbw46`Az3p5*NEI_32nG1;pV7>t55@5bC1jh<89~=v$XHaeqMdVmeLW%`t l%vew%6bq{OVgaQnVBiu3dW8|Jf4pxN}4H46%6b64$Md9q!qP)}`{F*pGnm|}1#gxlT%RpFB$dE|8 z7!`ULHCRlSRSQ~)DvFX~8KXi4(3P9i9E%u$fDuHb--|d5=N$O7a03G)b1uVLCb*b* Z?8Ggbm^k(`@q>i$gYe%C-72N-w*hEXR0jY6 diff --git a/examples/multi_input_output/CMakeLists.txt b/examples/multi_input_output/CMakeLists.txt deleted file mode 100644 index 64662c9..0000000 --- a/examples/multi_input_output/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(example) - -find_library(TENSORFLOW_LIB tensorflow HINT $ENV{HOME}/libtensorflow2/lib) - -set(CMAKE_CXX_STANDARD 17) - -add_executable(example main.cpp) -target_include_directories(example PRIVATE ../../include $ENV{HOME}/libtensorflow2/include) -target_link_libraries (example "${TENSORFLOW_LIB}") \ No newline at end of file diff --git a/examples/multi_input_output/create_model.py b/examples/multi_input_output/create_model.py deleted file mode 100644 index e7dabfe..0000000 --- a/examples/multi_input_output/create_model.py +++ /dev/null @@ -1,19 +0,0 @@ -import tensorflow as tf -import numpy as np - - -input_1 = tf.keras.Input(shape=(5,), name='my_input_1') -input_2 = tf.keras.Input(shape=(5,), name='my_input_2') - -x1 = tf.keras.layers.Dense(5, activation=tf.nn.relu)(input_1) -x2 = tf.keras.layers.Dense(5, activation=tf.nn.relu)(input_2) - -output_1 = tf.keras.layers.Dense(1, activation=tf.nn.sigmoid, name='my_outputs_1')(x1) -output_2 = tf.keras.layers.Dense(1, activation=tf.nn.sigmoid, name='my_outputs_2')(x2) - -model = tf.keras.Model(inputs=[input_1, input_2], outputs=[output_1, output_2]) - -model.compile() - -# Export the model to a SavedModel -model.save('model', save_format='tf') diff --git a/examples/multi_input_output/main.cpp b/examples/multi_input_output/main.cpp deleted file mode 100644 index b537174..0000000 --- a/examples/multi_input_output/main.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include - -#include "cppflow/ops.h" -#include "cppflow/model.h" - -int main() { - - auto input_1 = cppflow::fill({10, 5}, 1.0f); - auto input_2 = cppflow::fill({10, 5}, -1.0f); - cppflow::model model("../model"); - - auto output = model({{"serving_default_my_input_1:0", input_1}, {"serving_default_my_input_2:0", input_2}}, {"StatefulPartitionedCall:0", "StatefulPartitionedCall:1"}); - - std::cout << "output_1: " << output[0] << std::endl; - std::cout << "output_2: " << output[1] << std::endl; - return 0; -} diff --git a/examples/multi_input_output/model/saved_model.pb b/examples/multi_input_output/model/saved_model.pb deleted file mode 100644 index 94ea4ee464ca830a5b900794a7a5b87e002b2813..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83783 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 diff --git a/examples/multi_input_output/model/variables/variables.data-00000-of-00001 b/examples/multi_input_output/model/variables/variables.data-00000-of-00001 deleted file mode 100644 index 95973d121b0cb62149cc48feba50a9de861398c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2998 zcmb`IO>7%Q6vw@Z62T0S83I1#v(efL;)X^iUKKAdtvz4irTd;!u?eAtbmo0;wugid2MzV0M>v*VzwS z0{igvJpX-v@BHS?LziCLSi3SqW(yya4_-&g&ekxQz1hn}-WKH6J7szE*B4}|`zNxz z($9r2+>qaSBcuF&_7C~-OZib0zDj<63O0^^)5<-2BBZqb<=a?$={DK?`}&t%?SGOl z&TPx?-uzVd*nHNvR!5&$jwoxFdx`IpfO27^U%CErjEfye$xpU_D}QyPQdcfm$Fe6?w6s=DB+d0kjAFXN4kP%JEAg4x#|yk~ml3 zrE-xz=b_(uj8PDLR8$c1)O{~_Pm8?j-sPBD{HZ^h|;XQv0Mo%TC9J!p1PS$Xg`9Hf}c zTzBUhgM;o2TF@i+HoE@y4WR)m1BZ@g(IGbm@d|^d;gn^cg4#ai5^fBPMYr9WhODKw zPM6kpq@XXk)zvA`ep0)O_ESQmV$L-RgS99m%oOUq+CnI4rQmSeu_)z6Azh)6gXb(e z6<%1$EtaLFvQ%tibB)JPEgl&&k9r3{ z2pzWaaF_`!8g}C`Qa2A{%Wbcx)c?Rk-*nqsDpe;BI#X00bf)M$%(=$n(ONtnGxMl- zOoq@AD-Vas$)Zs=9;CuUpQ#?)PhW`9->X5Ns*UJf4pxN}4H46%6b64$Md9q!qP)}`{F*pGnm|}1#neOE{hzR+kRj1_ z-C=}VCQ6cJ3Kc->VqaXn3AE0LNb49CT9`CgOqW#)T8S!(kzyUA!UvE;&#kYD1=?p! zw0(2Pwy%Q;Xdlztj|mJwzz8DtKPnN2a}Io3xPgI@IhUcA1upi_FLcu+7LNHW{2(Fx NApCbjw@Rt|Z2)h(jsO4v diff --git a/examples/tensor/CMakeLists.txt b/examples/tensor/CMakeLists.txt deleted file mode 100644 index eef291f..0000000 --- a/examples/tensor/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(example) - -find_library(TENSORFLOW_LIB tensorflow HINT $ENV{HOME}/libtensorflow2/lib) - -set(CMAKE_CXX_STANDARD 17) - -add_executable(example main.cpp odr.cpp) -target_include_directories(example PRIVATE ../../include $ENV{HOME}/libtensorflow2/include) -target_link_libraries(example "${TENSORFLOW_LIB}") diff --git a/examples/tensor/main.cpp b/examples/tensor/main.cpp deleted file mode 100644 index b0b437b..0000000 --- a/examples/tensor/main.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include -#include -#include -#include - -#include "cppflow/cppflow.h" - -bool float_equal(const float f1, const float f2) { - return std::abs(f1/f2-1.0f) < 1e-6; -} - -void test1(const bool is_cpu) { - std::cout << "test1 starts: is_cpu=" << is_cpu << std::endl; - float target = 1.0; - int64_t ndim = 2; - cppflow::tensor t1; - - if(is_cpu) { - std::vector _data(ndim, target); - t1 = cppflow::tensor(_data, {ndim}); - } else { - t1 = cppflow::fill({ndim}, target); - } - - std::cout << "tensor::device(true) : " << t1.device(true) << std::endl; - std::cout << "tensor::device(false) : " << t1.device(false) << std::endl; - - auto t1_tensor = t1.get_tensor(); - auto raw_data = static_cast(TF_TensorData(t1_tensor.get())); - float result_value = raw_data[0]; - if(float_equal(result_value, target)) { - std::cout << "tensor::get_tensor() test1-1: pass" << std::endl; - } else { - std::cout << "tensor::get_tensor() test1-1: result_value=" << result_value << ", target=" << target << std::endl; - throw std::runtime_error("tensor::get_tensor() test1-1: failed"); - } - - // IMPORTANT NOTE: CANNOT modify the returned cache - float target2 = target + 10.0; - raw_data[1] = target2; - result_value = t1.get_data()[0]; - float result_value2 = t1.get_data()[1]; - if(float_equal(result_value, target)) { - std::cout << "tensor::get_tensor() test1-2: pass" << std::endl; - } else { - std::cout << "tensor::get_tensor() test1-2: failed, result_value=" << result_value << ", target=" << target << std::endl; - throw std::runtime_error("tensor::get_tensor() test1-2: failed"); - } - if(float_equal(result_value2, target2)) { - std::cout << "tensor::get_tensor() test1-3: pass" << std::endl; - } else { - std::cout << "The failure of test1-3 is not considered as a bug." << std::endl; - std::cout << "tensor::get_tensor() test1-3: failed, result_value=" << result_value2 << ", target2=" << target2 << std::endl; - } - - auto t2 = t1 + cppflow::tensor(0.f); - std::cout << "Can NOT modify the cache!" << std::endl; - std::cout << "t2: " << t2 << std::endl; - - auto dt = cppflow::to_string(t1.dtype()); - std::string expected_dtype{"TF_FLOAT"}; - if(dt == expected_dtype) { - std::cout << "tensor::get_tensor() test1-4: pass" << std::endl; - } else { - std::cout << "tensor::get_tensor() test1-4: dtype=" << dt << ", expected_dtype=" << expected_dtype << std::endl; - throw std::runtime_error("tensor::get_tensor() test1-4: failed"); - } - - auto shape_tensor = t1.shape(); - auto shape = shape_tensor.get_data()[0]; - if(shape == ndim) { - std::cout << "tensor::get_tensor() test1-5: pass" << std::endl; - } else { - std::cout << "tensor::get_tensor() test1-5: shape_tensor.dtype()=" << cppflow::to_string(shape_tensor.dtype()) << std::endl; - std::cout << "tensor::get_tensor() test1-5: shape_tensor=" << shape_tensor << std::endl; - std::cout << "tensor::get_tensor() test1-5: shape()=" << shape << ", ndim=" << ndim << std::endl; - throw std::runtime_error("tensor::get_tensor() test1-5: failed"); - } - - std::cout << std::endl; -} - -int main() { - test1(true); - test1(false); - - return 0; -} diff --git a/examples/tensor/odr.cpp b/examples/tensor/odr.cpp deleted file mode 100644 index 1534985..0000000 --- a/examples/tensor/odr.cpp +++ /dev/null @@ -1,4 +0,0 @@ -#include "cppflow/cppflow.h" - -// Do NOT remove this file -// test ODR violation From a2924ea27d30238ab092dca845a08a9709835abb Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 10 Feb 2022 13:32:48 +0100 Subject: [PATCH 02/12] CMakeLists.txt added --- CMakeLists.txt | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..01921e6 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.8 FATAL_ERROR) + +project(cppflow LANGUAGES CXX) +find_library(TENSORFLOW_LIB tensorflow HINT $ENV{HOME}/libtensorflow2/lib) +set(CMAKE_CXX_STANDARD 17) + +add_library(cppflow INTERFACE) + +target_include_directories(cppflow INTERFACE + $ + $ +) +target_compile_features(cppflow INTERFACE cxx_std_17) +target_link_libraries(cppflow INTERFACE + ${TENSORFLOW_LIB} +) + +install( + TARGETS cppflow + EXPORT install_targets +) + +#set(CMAKE_EXPORT_PACKAGE_REGISTRY ON) +#install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +export(PACKAGE cppflow) From cb47a196d39ef3b9d8c4d6b4c945dd76d5751e04 Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 10 Feb 2022 14:45:58 +0100 Subject: [PATCH 03/12] Changed default installation path --- CMakeLists.txt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 01921e6..e2a412e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,18 +8,25 @@ add_library(cppflow INTERFACE) target_include_directories(cppflow INTERFACE $ - $ + $ ) target_compile_features(cppflow INTERFACE cxx_std_17) target_link_libraries(cppflow INTERFACE ${TENSORFLOW_LIB} ) +set_target_properties(cppflow PROPERTIES + PUBLIC_HEADER "include/cppflow/cppflow.h" +) + install( TARGETS cppflow EXPORT install_targets ) -#set(CMAKE_EXPORT_PACKAGE_REGISTRY ON) -#install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) +set(INSTALL_INCLUDE_DIR include CACHE PATH + "Installation directory for header files") + +set(CMAKE_EXPORT_PACKAGE_REGISTRY ON) +install(DIRECTORY include/cppflow DESTINATION ${INSTALL_INCLUDE_DIR}/cppflow) export(PACKAGE cppflow) From 1b437adf00777742e7f9c32ba53e79185b03b9be Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 10 Feb 2022 14:54:59 +0100 Subject: [PATCH 04/12] Changed default installation path --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e2a412e..0e1f169 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ set(CMAKE_CXX_STANDARD 17) add_library(cppflow INTERFACE) -target_include_directories(cppflow INTERFACE +target_include_directories(cppflow PUBLIC $ $ ) @@ -28,5 +28,5 @@ set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") set(CMAKE_EXPORT_PACKAGE_REGISTRY ON) -install(DIRECTORY include/cppflow DESTINATION ${INSTALL_INCLUDE_DIR}/cppflow) +install(DIRECTORY include DESTINATION ${INSTALL_INCLUDE_DIR}) export(PACKAGE cppflow) From ec4932b5a80f897362466b32e9b6b40dfd5a9349 Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 10 Feb 2022 15:01:49 +0100 Subject: [PATCH 05/12] CMakeLists.txt added --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e1f169..e748bee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,9 +6,9 @@ set(CMAKE_CXX_STANDARD 17) add_library(cppflow INTERFACE) -target_include_directories(cppflow PUBLIC +target_include_directories(cppflow INTERFACE $ - $ + $ ) target_compile_features(cppflow INTERFACE cxx_std_17) target_link_libraries(cppflow INTERFACE @@ -28,5 +28,5 @@ set(INSTALL_INCLUDE_DIR include CACHE PATH "Installation directory for header files") set(CMAKE_EXPORT_PACKAGE_REGISTRY ON) -install(DIRECTORY include DESTINATION ${INSTALL_INCLUDE_DIR}) +install(DIRECTORY include/cppflow DESTINATION ${INSTALL_INCLUDE_DIR}/cppflow) export(PACKAGE cppflow) From a421b4f09fa546ea0ffa5d24bb7ae32c5f6a000a Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 10 Feb 2022 15:06:54 +0100 Subject: [PATCH 06/12] CMakeLists.txt added --- CMakeLists.txt | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e748bee..df4ca94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,27 +6,32 @@ set(CMAKE_CXX_STANDARD 17) add_library(cppflow INTERFACE) +target_compile_features(cppflow INTERFACE cxx_std_17) + target_include_directories(cppflow INTERFACE $ $ ) -target_compile_features(cppflow INTERFACE cxx_std_17) + target_link_libraries(cppflow INTERFACE ${TENSORFLOW_LIB} ) set_target_properties(cppflow PROPERTIES - PUBLIC_HEADER "include/cppflow/cppflow.h" + POSITION_INDEPENDENT_CODE ON +# PUBLIC_HEADER "include/cppflow/cppflow.h" ) -install( - TARGETS cppflow - EXPORT install_targets +install(TARGETS ${PROJECT_NAME} + EXPORT ${PROJECT_NAME}-targets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/steering_functions" ) -set(INSTALL_INCLUDE_DIR include CACHE PATH - "Installation directory for header files") +##install( +## TARGETS cppflow +## EXPORT install_targets +##) -set(CMAKE_EXPORT_PACKAGE_REGISTRY ON) -install(DIRECTORY include/cppflow DESTINATION ${INSTALL_INCLUDE_DIR}/cppflow) export(PACKAGE cppflow) From b0974d917a270953aec618ecf0ce22c72775a5a5 Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 10 Feb 2022 15:09:55 +0100 Subject: [PATCH 07/12] CMakeLists.txt added --- CMakeLists.txt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index df4ca94..54641aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,19 +19,13 @@ target_link_libraries(cppflow INTERFACE set_target_properties(cppflow PROPERTIES POSITION_INDEPENDENT_CODE ON -# PUBLIC_HEADER "include/cppflow/cppflow.h" ) install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/steering_functions" + PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/cppflow" ) -##install( -## TARGETS cppflow -## EXPORT install_targets -##) - export(PACKAGE cppflow) From b82ae092b9476bd738574f1dbcebb748990761bc Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 10 Feb 2022 15:15:42 +0100 Subject: [PATCH 08/12] CMakeLists.txt added --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 54641aa..baa26fd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/cppflow" + PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}" ) export(PACKAGE cppflow) From 8f10537a935b80ccea1d55e879c3a58db63f0b06 Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 10 Feb 2022 15:18:41 +0100 Subject: [PATCH 09/12] CMakeLists.txt added --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index baa26fd..54641aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,7 @@ install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}-targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}" + PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/cppflow" ) export(PACKAGE cppflow) From ddda951ea024c2b00ef319cef707d847169048eb Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 10 Feb 2022 15:59:15 +0100 Subject: [PATCH 10/12] CMakeLists.txt added --- CMakeLists.txt | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 54641aa..c3a02d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,22 @@ set(CMAKE_CXX_STANDARD 17) add_library(cppflow INTERFACE) + +set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) +set(INSTALL_LIB_DIR lib CACHE PATH "Installation directory for libraries") +set(INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables") +set(INSTALL_INCLUDE_DIR include CACHE PATH + "Installation directory for header files") + + +foreach(p LIB BIN INCLUDE CMAKE) + set(var INSTALL_${p}_DIR) + if(NOT IS_ABSOLUTE "${${var}}") + set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}") + endif() +endforeach() + + target_compile_features(cppflow INTERFACE cxx_std_17) target_include_directories(cppflow INTERFACE @@ -21,11 +37,17 @@ set_target_properties(cppflow PROPERTIES POSITION_INDEPENDENT_CODE ON ) -install(TARGETS ${PROJECT_NAME} - EXPORT ${PROJECT_NAME}-targets +install(TARGETS cppflow + EXPORT cppflow-targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}/cppflow" ) +install(EXPORT cppflow-targets + FILE cppflowConfig.cmake + DESTINATION ${INSTALL_CMAKE_DIR}/cmake/cppflow +) + +set(CMAKE_EXPORT_PACKAGE_REGISTRY ON) export(PACKAGE cppflow) From 15b6c15681851d05743de7b87e198eac355aec6d Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 10 Feb 2022 16:08:32 +0100 Subject: [PATCH 11/12] CMakeLists.txt added --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index c3a02d8..25c6cee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,5 +49,9 @@ install(EXPORT cppflow-targets DESTINATION ${INSTALL_CMAKE_DIR}/cmake/cppflow ) +export(TARGETS cppflow + FILE cppflowConfig.cmake) + + set(CMAKE_EXPORT_PACKAGE_REGISTRY ON) export(PACKAGE cppflow) From fac7a8c1e4bda2c2ebd93510df4de10f84419d60 Mon Sep 17 00:00:00 2001 From: sanson-robotics Date: Thu, 24 Mar 2022 11:12:35 +0100 Subject: [PATCH 12/12] Property -fPIC removed --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 25c6cee..4fef88d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,9 +33,9 @@ target_link_libraries(cppflow INTERFACE ${TENSORFLOW_LIB} ) -set_target_properties(cppflow PROPERTIES - POSITION_INDEPENDENT_CODE ON -) +#set_target_properties(cppflow PROPERTIES +# POSITION_INDEPENDENT_CODE ON +#) install(TARGETS cppflow EXPORT cppflow-targets