gpt4 book ai didi

machine-learning - tensorflow : how to share data across inputs?

转载 作者:行者123 更新时间:2023-11-30 09:08:26 24 4
gpt4 key购买 nike

如果这是一个微不足道的问题,或者如果我完全错误地理解了这个问题,我深表歉意。

假设我有一个如下所示的数据集:

[A, [a,b,c,d]], [B, [e,f,g]], [C, [i,j,k,l,m]], ...

大写字母代表大数据 block ,小写字母代表较小数据 block 。每个大块都与可变数量的小块相关联。

现在,我需要像这样训练我的网络:每个输入数据点都是一对类型(大块、小块),与目标标签关联。

(A,a) ----> label 1
(A,b) ----> label 2
(A,c) ----> label 3
(A,d) ----> label 4

(B,e) ----> label 5
(B,f) ----> label 6
...

and so on...

如您所见,大数据 block 在多个输入中重复使用。

我想知道将初始数据集输入 Tensorflow 的最佳方法。

<小时/>

想法 1:显然,我可以立即重新排列数据集并将其转换为一系列数据点

 (A,a),(A,b),(A,c),(A,d),(B,e),(B,f),...

但这意味着复制大块,并且总体上浪费内存。

<小时/>

想法 2:我可以将神经网络分为两个子网络,如下所示:

Big chunk ----> Network 1
\
\
Small chunk -----------\-----> Network 2 ----> Output

这看起来更优化,我想会有一种方法可以对具有相同大块的多个数据点进行因子计算。但如何告诉 Tensorflow 迭代两个相关的输入数据集?

最佳答案

您应该将数据分成批处理,并将每批处理数据输入神经网络。这个概念不仅可以解决您的问题,还可以扩展您的问题。

(A,a) ----> label 1
(A,b) ----> label 2
(A,c) ----> label 3
(A,d) ----> label 4

(B,e) ----> label 5
(B,f) ----> label 6

(C,e) ----> label 5
(C,f) ----> label 6

进入

Batch 1: (A,a),(A,b),(B,e),(C,f),...
Batch 2: (A,c),(A,d),(C,e),(B,f)...

应用您的成本函数。选择优化器并开始训练您的网络。

关于machine-learning - tensorflow : how to share data across inputs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46262898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com