Tensorflow C API 从训练到部署:使用 C API 进行预测和部署
前述博文 Tensorflow C++ 从训练到部署(2):简单图的保存、读取与 CMake 编译 和 Tensorflow C++ 从训练到部署(3):使用 Keras 训练和部署 CNN 使用 Tensorflow/Keras 的 Python API 进行训练,并使用 C++ API 进行了预测。由于 C++ API 需要编译...
[TX2] Tensorflow 1.12.0 在 Jetson TX2 上的编译
系统环境
Ubuntu 16.04
Jetpack 3.2.1 on TX2 [Link](with CUDA 9.0 cuDNN 7.0.5)
1、编译准备
1)配置环境
Shell
export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
1
export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
2)安装依赖
Java
Shell
sudo apt-get install openjdk-8-jdk
1
sudo apt-get install openjdk-8-jdk
Bazel (Tensorflow 使用 Bazel 0.15 编译,因此这里下载 0.15.2 版本,详情参见这里)
Shell
cd...
线性规划 (Linear Programming)
1 概念
在数学中,线性规划(Linear Programming,简称 LP)特指目标函数和约束条件皆为线性的最优化问题。
通常线性规划问题包含:
1)一个需要极大化的线性目标函数 (表示为 个决策变量 的加权和):
2)线性形式的问题约束,表示为 个决策变量满足 个方程约束或不等式约束:
3)决策变量非负,表示为:
2 标准型
描述线性规划问题最直观的形式就是标准型,通常表示为:
可以证明:任意线性规划的一般形式,都可以通过对目标函数取负、添加松弛变量等操作,化成标准形式。
3 对偶问题
下述例子来自维基百科,整体解释比较清晰:
一个线性规划问题(“原问题”)的对偶线性规划问题(“对偶问题”)是另一个线性规划问题,由原问题以一定方式派生而来:
原问题中的每个变量都变为对偶问题中的一个限制条件;
原问题中的每个限制条件都变为对偶问题中的一个变量;
原问题若是求目标函数的最大值,则对偶问题是求最小值,反之亦然。
3.1 对偶问题的构建
对于以下形式的两个线性规划问题:
问题甲
问题乙
最大化目标函数
最小化目标函数
n个变量
n个限制条件
第i个限制条件为
第j个限制条件为
第k个限制条件为
m个限制条件
第i个限制条件为
第j个限制条件为
第k个限制条件为
m个变量...