问题标签 [mini-batch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
4001 浏览

python - Tensorflow:对小批量中的每个样本使用不同滤波器的卷积

我想要一个带有过滤器的二维卷积,该过滤器取决于张量流中小批量中的样本。有什么想法可以做到这一点,尤其是在不知道每小批量的样本数量的情况下?

具体来说,我有表单的输入数据,inp我有表单的MB x H x W x Channels过滤器。FMB x fh x fw x Channels x OutChannels

假设

inp = tf.placeholder('float', [None, H, W, channels_img], name='img_input').

我想做tf.nn.conv2d(inp, F, strides = [1,1,1,1]),但这是不允许的,因为F不能有小批量维度。知道如何解决这个问题吗?

0 投票
1 回答
907 浏览

machine-learning - Tensorflow-如何使用全批次的 MNIST 数据集?

我正在研究机器学习。在我学习的时候,我发现了使用 MNIST 数据集的 Tensorflow CNN 代码。这是我想知道的代码。

在这段代码中,我的问题是关于 batch = mnist.train.next_batch(100)。当我对此进行搜索时,这意味着这是 mini-batch,并从 MNIST 数据集中随机选择 100 个数据。现在这是我的问题。

  1. 当我想用全批次测试这段代码时,我应该怎么做?只需将 mnist.train.next_batch(100) 更改为 mnist.train.next_batch(55000)?
0 投票
1 回答
457 浏览

machine-learning - 如何使用 apache spark MLlib 实现 Mini Batch Kmeans?

我已经使用 spark 实现了 Kmeans。但是由于我的数据量很大并且功能数量很大,我想使用 Apache spark MLlib 实现小批量 kmeans。有没有关于如何实现它的示例或文档?

0 投票
0 回答
144 浏览

tensorflow - 使用 Keras 高效地逐个收集小批量

我必须建立一个接收不同大小图像的网络。我不想调整大小或裁剪,所以我使用的是完全卷积网络。

问题是由于每个图像的大小不同,我无法预先创建小批量。

一种解决方案是在预期的小批量中获取最大的图像,并对所有其他图像进行零填充以适应相同的大小。但是,这在时间和内存方面效率不高,尤其是因为图像的大小差异很大(甚至 30 像素到 3000 像素)。

我现在使用的另一个解决方案是创建 1 的小批量,这当然可以解决不同大小的问题,但它不利于收敛。

所以问题是 Keras 是否提供了一些方法来从多个输入中收集梯度,然后才采取学习步骤?

0 投票
1 回答
795 浏览

python - 对小批量更新执行 L1 正则化

我目前正在阅读神经网络和深度学习,但我遇到了一个问题。问题是更新他提供的代码以使用 L1 正则化而不是 L2 正则化。

使用 L2 正则化的原始代码是:

可以看出它self.weights是使用 L2 正则化项更新的。对于 L1 正则化,我相信我只需要更新同一行来反映

l1 正则化的权重更新

书中说我们可以估计

在此处输入图像描述

使用小批量平均值的术语。这对我来说是一个令人困惑的陈述,但我认为这意味着每个小批量都使用nabla_w每一层的平均值。这导致我对代码进行了以下编辑:

但我得到的结果几乎只是噪声,准确率约为 10%。我是在解释语句错误还是我的代码错误?任何提示将不胜感激。

0 投票
0 回答
156 浏览

python - 如何在 Tensorflow 中添加分类特征的新值?

假设我们在 tensorflow 中使用小批量梯度下降。每天我都会更新前一天的模型,通过向模型提供新数据来预测某些东西(回归/分类)。如果出现分类特征的新值,我该怎么办?如何将其合并到现有模型中?

例如,假设一个名为 state 的特征在昨天之前有 3 个值,即“CA”、“IA”和“VA”。所以我的张量流模型中的输入特征向量有三个虚拟变量——每个变量代表三种状态之一。现在,当我今天使用一组新数据重用此模型时,我如何适应特征状态的新值,例如“NC”。如何更改现有模型中的功能集?

0 投票
0 回答
123 浏览

tensorflow - 如何在不导致OOM的情况下喂食小批量?

我很抱歉我的英语不太好。


嗯..我正在尝试将包含 4,000 张图像的我自己的数据提供给给定的占位符。

例如

这工作得很好,但有一个简单的问题是我无法增加批量大小,因为 GPU 内存不足。

我猜......上面的代码将整个数据加载到一个数组中。所以我尝试在每次迭代时读取图像数据,但这需要很长时间:(

我该如何解决这个问题?或者将我自己的数据分成K-arrays并在GPU上加载一个数组?

0 投票
0 回答
340 浏览

tensorflow - 训练用于无监督学习的小批量数据(无标签)

有没有人为无监督学习问题训练过小批量数据?feed_dict 使用标签并处于无监督设置中。你如何克服它?我们可以使用对损失函数没有贡献的假标签吗?

基本上,我想遍历我的庞大数据集,然后优化自定义损失函数。但是,当明确使用数据中的新小批量时,我无法弄清楚如何保留我的训练参数(权重)。

例如,整个数据集为 6000 个点,小批量大小为 600。目前,对于每个小批量,我只能使用新的独立权重参数,因为权重是根据来自该小批量的数据点进行初始化的。当我们优化第一批 600 个数据点的损失时,我们得到了一些优化的权重。如何使用这些权重来优化下一批 600 个数据点等等。问题是我们不能使用共享的全局变量。

我在 stackoverflow 论坛上进行了研究,但找不到与无监督数据上的小批量相关的任何内容。

'f' 是我的整个数据集,说 N 个点的文本数据,维度为 D U 是集群质心,再次是维度为 D 的 K 个集群

我将我的变量定义如下:

然后我将自定义损失或目标函数定义为“目标”

接下来我使用优化器

最后,我将变量评估为

我坚持的事情是迭代我的数据“f”批次,这些数据最终用于优化器 train_W。如果我对这些小批量有一个 for 循环,我将为每个迭代分配一个新变量 train_W。我怎样才能传递这个值,以便它可以在下一个小批量中使用?

在这方面的任何帮助或指示将不胜感激。提前致谢!

0 投票
1 回答
1931 浏览

python - 用于批量训练的张量流中的一种热编码

我的训练数据包含约 1500 个标签(字符串,每条记录一个标签),我想做批量训练(只需将一批加载到内存中以更新神经网络中的权重)。我想知道 tensorflow 中是否有一个类可以对每批中的标签进行一次热编码?我们可以在sklearn中做一些事情

然后在 tensorflow 会话中的每个批次中,我可以转换我的批次标签并输入 tensorflow 进行训练

一个例子将不胜感激。谢谢。

0 投票
1 回答
2430 浏览

deep-learning - 如何在pytorch中有效地制作小批量图像?

我正在尝试使用 pytorch 中预训练的 ResNet 模型计算前向传递。我无法创建小批量的 4-d 张量。有人可以告诉什么是正确的方法吗?

编辑:我更改了代码,现在可以使用。但是,我仍然认为应该有一种更有效的方法来做到这一点。

这是我的代码: