在tf.estimator中构建inpu_fn解读
https://www.tensorflow.org/get_started/input_fn
上一篇,讲了classifier的train等方法都需要一个输入管道,本篇来学习下。
input_fn方法是一类比较特殊的方法,它有一定的规定。函数名叫什么倒无所谓。
一般来讲,访方法做两件事:
1.数据预处理,如洗脏数据,归整数据等。没有就空着。
2.返回feature_cols, labels。这个是最重要的特点。
feature_cols:一个dict,key为feature名,value为feature值。
lables: 对应的分类标签。
不同的Lib有不同的对象,常见的为Numpy转tensorflow对象。pandas讨论较少,不谈。
比如:
import tensorflow as tf
import numpy as np
# numpy input_fn.
x_data =[{"feature1": 2, "features2":6},
{"feature1": 1, "features2":5},
{"feature1": 4, "features2":8}]
y_data = [2,3,4]
my_input_fn = tf.estimator.inputs.numpy_input_fn(
x={"x": np.array(x_data)},
y=np.array(y_data),
shuffle = True)
得到的是一个名为my_input_fn的function对象。
在稀疏分类的情况下,可以使用SparseTensor类。
SparseTensor的构造函数如下:
https://www.tensorflow.org/get_started/input_fn
上一篇,讲了classifier的train等方法都需要一个输入管道,本篇来学习下。
input_fn方法是一类比较特殊的方法,它有一定的规定。函数名叫什么倒无所谓。
一般来讲,访方法做两件事:
1.数据预处理,如洗脏数据,归整数据等。没有就空着。
2.返回feature_cols, labels。这个是最重要的特点。
feature_cols:一个dict,key为feature名,value为feature值。
lables: 对应的分类标签。
不同的Lib有不同的对象,常见的为Numpy转tensorflow对象。pandas讨论较少,不谈。
比如:
import tensorflow as tf
import numpy as np
# numpy input_fn.
x_data =[{"feature1": 2, "features2":6},
{"feature1": 1, "features2":5},
{"feature1": 4, "features2":8}]
y_data = [2,3,4]
my_input_fn = tf.estimator.inputs.numpy_input_fn(
x={"x": np.array(x_data)},
y=np.array(y_data),
shuffle = True)
得到的是一个名为my_input_fn的function对象。
在稀疏分类的情况下,可以使用SparseTensor类。
SparseTensor的构造函数如下:

本文详细解读了在tf.estimator中构建input_fn的方法,包括数据预处理和返回feature_cols, labels。介绍了如何将numpy数据转换为tensorflow对象,并探讨了SparseTensor的使用。同时,文章提到了几种传递input_fn给分类器的方法,如使用wrapper函数、functools.partial和lambda表达式。此外,通过波士顿房价预测示例展示了如何使用tf.estimator.DNNRegressor进行训练。"
86743561,8355408,战乱归途:寻找最短回家路线,"['图算法', '路径搜索', '数据结构', '问题解决']
最低0.47元/天 解锁文章
912

被折叠的 条评论
为什么被折叠?



