tensorflow prediction using c++ api
TensorFlow prediction using its C++ API. Having this repo, you will not need
TensorFlow-Serving. This project has been tested on
Contains two examples: * simple model
c = a * b* an industrial deep model for large scale click through rate prediction
Covered knowledge points: * save model and checkpoint * freeze model with checkpoint * replace part of nodes in the model for prediction * transform libfm data into tfrecord * use lookup table for sparse embedding * load model in C++ * construct
SparseTensorin C++ * prediction in C++
Follow the instruction build tensorflow from source
bash git clone --recursive https://github.com/tensorflow/tensorflow.git cd tensorflow sh tensorflow/contrib/makefile/build_all_linux.sh (works for linux and osx) cd ..
Keep this repo in the same directory with tensorflow.
bash git clone https://github.com/formath/tensorflow-predictor-cpp.git cd tensorflow-predictor-cpp mkdir build && cd build cmake .. make
This demo used
c = a * bto show how to save the model and load it using C++ for prediction. * Save model * Load model * Prediction
More detail in Chinese: tensorflowc++api_prediction ```bash cd demo/simple_model
If works right, you will see thisSession created successfully Load graph protobuf successfully Add graph to session successfully Run session successfully Tensor output value: 6 ```
This demo show a real-world deep model usage in click through rate prediction. * Transform LibFM data into TFRecord * Usage of lookup table * Save model and checkpoint * Replace parts of model and freeze graph with checkpoint * Load model and checkpoint * Prediction
More detail in Chinese: tensorflowc++api_prediction
label fieldId:featureId:value ...
bash cd demo/deep_model sh trans_data_to_tfrecord.sh
If works right, you will see this
Session created successfully Load graph protobuf successfully Add graph to session successfully Init lookup table successfully Run session successfully Tensor output value: 0.147479The output value may be different.
The procedure is similar with that of OSX.