【发布时间】:2018-04-09 09:58:28
【问题描述】:
我需要使用 tensorflow 开发自动编码器,当我查看文档和教程时,我可以看到许多带有图像数据和 MNIST_data 的示例,这是经过预处理的数值数据。
在我的例子中,数据是文本格式
喜欢,
uid orig_h orig_p trans_depth method host
======================================================================
5fg288 192.168.1.4 80 1 POST ex1.com
2fg888 192.168.1.3 80 2 GET ex2.com
那么如何将这些数据转换为张量流接受的数字格式。我在张量流教程中找不到任何示例,
我是张量流的初学者,请帮助。
更新
根据下面的说明,我通过参考教程here 创建了单词到向量的映射
pandas 数据框中的输入
host method orig_h orig_p trans_depth uid
0 ex1.com POST 192.168.1.4 80 1 5fg288
1 ex2.com GET 192.168.1.3 443 2 2fg888
还有
Bag of word ---> ['5fg288', '2fg888', '80', 'GET', '443', '1', 'ex2.com', '192.168.1.4', '192.168.1.3', '2', 'ex1.com', 'POST']
现在对于每个单元格,我都有一个值数组,例如
192.168.1.4 ---> [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0]
ex1.com ---> [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0]
80 ----> [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
那么我该如何重塑这些数据以提供张量流
应该是这样的
data = array([
[[0.0,...],[0.0,...],[0.0,...],[0.0,...],[0.0,...],[0.0,...]],
[[0.0,...],[0.0,...],[0.0,...],[0.0,...],[0.0,...],[0.0,...]]
])
即每个特征都是一个浮点数组,单个样本中有6个特征。可以吗,
【问题讨论】:
-
您需要编写自己的
input_fn,它会读取您的原始数据并将其转换为张量。看看tensorflow.org/get_started/datasets_quickstart,它给出了一些如何做到这一点的例子。 -
其实我已经把数据读到pandas dataframe了,现在要转换成tensorflow输入格式了。
-
在这种情况下,您只需要
tf.estimator.inputs.pandas_input_fn。 -
您的输入字符串集的数量是否有限?如果有,他们有多少?如果不是,您希望将输入与输出连接起来是什么样的关系?您是否希望在分解期间出现新的、可能看不见的字符串?
标签: tensorflow machine-learning