最近因为工作需要,需要将Tensorflow训练好的模型用C++接口调用,因此写了一个很小的demo来进行验证,在此过程中重复查找了不少资料,感觉挺浪费时间的,因此将这个demo记录下来。
生成Tensorflow模型文件
假设,你已经对Tensorflow的基本概念有了一定的了解,但是确不知道从何下手,下面给出一个拟合线性模型的完整代码,让你对Tensorflow有初步的印象。这段很短python代码先生成了一些二维数据,再通过线性变换,然后用随机梯度下降算法来拟合这些参数。
# -*- coding:utf-8 -*-
import tensorflow as tf
import numpy as np
ckpt_dir = './model'
if tf.gfile.IsDirectory(ckpt_dir) == False:
tf.gfile.MakeDirs(ckpt_dir)
print ('create directory: %s'%ckpt_dir)
# 使用 NumPy 生成假数据(phony data), 总共 100 个点.
x_data = np.float32(np.random.rand(100, 2)) # 随机输入
y_data = np.dot(x_data, [[0.100], [0.200]])
# 构造一个线性模型
x = tf.placeholder(tf.float32, shape=[None, 2], name='input')
W = tf.Variable(tf.random_uniform(shape=[2, 1]), name='weight')
y = tf.matmul(x, W, name='output')