未加星标

在Tensorflow中使用python来解析样本

字体大小 | |
[开发(python) 所属分类 开发(python) | 发布者 店小二04 | 时间 2019 | 作者 红领巾 ] 0人收藏点击收藏

Tensorflow中一般会使用 TFRecord 作为样本格式,这样可以有feature column, Estimator等比较方便的支持。 但有时TFRecord不能满足需求,或者只是想做一些quick and dirty的实验,这时可能用python解析样本会更方便。但是如果用feed dict + python的话,就用不了Dataset API了。 此时可以用py_func这个API来将任意python函数转换为tf operation.

例如,我们的样本是如下的格式:

1.0,2,33,252 0.7,1,34,323,112

其中第一个值为label, 后面不定长的整数列表为feature. 要解析这样一个样本,我们可以写一个python函数:

import tensorflow as tf import numpy as np def parse(line): label, *features = line.decode('utf-8').split(',') return np.float32(label), np.array([np.int64(feature) for feature in features])

接下来使用pyfunc来将它和Dataset API结合起来,就可以进行样本的解析了:

ds = tf.data.TextLineDataset('test.txt') line = ds.make_one_shot_iterator().get_next() label, feature = tf.py_func(parse, [line], [tf.float32, tf.int64]) try: with tf.Session() as sess: while True: print(sess.run([label, feature])) except tf.errors.OutOfRangeError: pass

如果用了Dataset的batch方法,parse中的line会变成一个数组,在python中做相应的修改即可。

本文开发(python)相关术语:python基础教程 python多线程 web开发工程师 软件开发工程师 软件开发流程

代码区博客精选文章
分页:12
转载请注明
本文标题:在Tensorflow中使用python来解析样本
本站链接:https://www.codesec.net/view/628126.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(python) | 评论(0) | 阅读(86)