把不同大小的输入数据输入神经网络的好方法?(张力流)

2024-04-27 04:50:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据是这样的。它们是漂浮物,它们在一个巨大的纽比阵列中[700000,3]。没有空字段。在

Label   | Values1   | Values2
1.      | 0.01      | 0.01
1.      | ...       | ...
1.      |
2.      |
2.      |
3.      |
...

其思想是输入一组值1和值2,并让它使用分类来标识标签。在

但我不想逐行输入数据,而是将属于标签1的所有值1/2作为一个集合输入(例如,输入前3行应该返回[1,0,…],然后输入下2行作为集合[0,1,…])

有没有一种非复杂的方式以这种方式输入数据?(即进料批次,其中列标签等于1)

我目前正在对数据进行排序,并考虑使用指向起始点的指针,并使用循环来检查下一行是否等于当前行,以便找到指向集合末尾的指针,并获得该批处理的行数。但这或多或少防止了输入顺序的随机性。在


Tags: 数据排序方式分类标签label标识思想
2条回答

因为数据在numpy数组中(我们称之为data),所以可以使用

single_digit = data[(data[:,0] == 1.)][: , 1:]

它将把每一行的第零个元素与数字(在本例中是1.)进行比较,并只选择标签为1.的行。从这些行中,它获取第一个和第二个元素,即Values1和Values2。下面是一个工作示例。可以使用for循环迭代数据集中包含的所有标签,并为每个标签构造一个numpy数组

^{pr2}$

然后把这些阵列送入网络。在TensorFlow中,如果不指定相应占位符的第一个维度,则可以轻松地提供不同长度的批处理。在

^{3}$

最好使用TFRecords格式。在

This approach makes it easier to mix and match data sets and network architectures

下面是一个链接,详细介绍这个类似json的结构example.proto

相关问题 更多 >