问题标签 [batchsize]

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 投票
1 回答
673 浏览

tensorflow - 在 TPU 上使用全局批量大小进行训练(张量流)

我最近在 Google Colab 上启动了一个神经网络项目,我发现我可以使用 TPU。我一直在研究如何使用它,我发现了 tensorflow TPUStrategy(我使用的是 tensorflow 2.2.0),并且能够成功定义模型并在 TPU 上运行训练步骤。

但是,我不确定这意味着什么。可能是我没有充分阅读 Google 的 TPU 指南,但我的意思是我不知道在训练步骤中到底发生了什么。

该指南要求您定义一个GLOBAL_BATCH_SIZE,并且每个 TPU 核心采用的批量大小由 给出per_replica_batch_size = GLOBAL_BATCH_SIZE / strategy.num_replicas_in_sync,这意味着每个 TPU 的批量大小小于您开始时的批量大小。在 Colab 上,strategy.num_replicas_in_sync = 8,这意味着如果我从GLOBAL_BATCH_SIZE64 开始,per_replica_batch_size则为 8。

现在,我不明白的是,当我计算一个训练步骤时,优化器是否会计算 8 个不同的批量大小的步骤per_replica_batch_size,更新模型的权重 8 次不同的时间,或者它只是以这种方式并行化训练步骤的计算最后在一批 size 上只计算 1 个优化器步骤GLOBAL_BATCH_SIZE。谢谢。

0 投票
1 回答
213 浏览

apache-spark - 是否有可能在 Spark Streaming 中实现动态批量大小?

为了降低代码的难度,我允许重启 Spark Streaming 系统以使用新的批大小,但需要保持之前的进度(允许丢失正在处理的批)。

如果我checkpoint在 Spark Streaming 中使用,它在应用程序重新启动时无法更改所有配置。

所以想通过修改源码来实现这个功能,但是不知道从何下手。希望给点指导,告诉我困难。

0 投票
1 回答
97 浏览

excel - Excel simplex LP solver MOQ

I am trying to optimize the purchase orders using Excel simplex LP solver.

The problem is when I need to decide among suppliers based on the MOQs.

If the quantity to order is large, I can choose any supplier. However, if the necessary order size is small, I must choose among suppliers who accept small batches.

I need to create a decision on the amount to order that is 0 or >= MOQ.

Here is an example file: https://drive.google.com/file/d/1DnxsRe1vhsDxRL-G8jHdCBMGkO-qqfwV/view?usp=sharing

0 投票
2 回答
251 浏览

machine-learning - 二元交叉熵是加法函数吗?

我正在尝试训练一个机器学习模型,其中损失函数是二进制交叉熵,由于 gpu 的限制,我只能做 4 的批量大小,并且我在损失图中有很多尖峰。所以我想在一些预定义的批量大小(> 4)之后进行反向传播。所以就像我会做 10 次批量大小 4 的迭代来存储损失,在第 10 次迭代之后添加损失并反向传播。它会类似于 40 的批量大小吗?

TL;博士

f(a+b) = f(a)+f(b) 对于二元交叉熵是真的吗?

0 投票
1 回答
806 浏览

python - TensorFlow 的镜像策略、批量大小和反向传播

我正在处理多 GPU 服务器上的神经网络训练。我正在使用 TensorFlow 2.1 中的 MirroredStrategy API,我有点困惑。

我有 8 个 GPU(Nvidia V100 32GB)

  • 我指定批量大小为 32(它是如何管理的?每个 gpu 将有一批 32 个样本?我应该将 256 指定为批量大小 -32x8- 吗?)
  • 何时以及如何应用反向传播?我读过 MirroredStrategy 是同步的:这是否意味着在前向步骤之后所有批次都被分组为一批大小为 32x8 并在应用反向传播之后?还是按顺序对每批大小为 32 的批次应用一次反向支持?

我真的很想确定我向服务器提交了什么样的实验,因为每个训练作业都非常耗时,并且根据可用 GPU 的数量改变批量大小(和反向支持)会影响结果的正确性。

感谢您提供的任何帮助。

0 投票
0 回答
99 浏览

python - 使用 GPU 训练 ResNet 模型时发现 OMM 错误

我正在使用4GB的NVidia GeForce GTX 1050 ti训练 ResNet ,图像大小为 512x320,使用 6 作为批量大小,这不是很好。

它显示了这个错误:

(1) Resource exhausted: OOM when allocating tensor with shape[6,128,256,160] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc

我试图理解张量参数,第一个(6)显然是纪元数,第三个和最后一个(256,160)是图像的维度除以 2。

我很困惑,GPU是否可能没有使用整个内存?

0 投票
1 回答
270 浏览

tensorflow - Tensorflow 数据集 - batch_size 和 steps_per_epoch

在此处输入图像描述我处理图像分割问题,其中存在 tensorflow 数据集格式的数据管道,并且也使用 tensorflow 迭代器。现在我将训练图像的数量从之前的 250 张增加到 500 张。我有一个单独的图像增强管道。我的问题是

  1. 即使我使用相同的图像,是否会因为图像数量的增加而产生影响batch_size=16?我已将 step_per_epoch 设置为 240。正如我从 Tensorboard 中每个时期的日志文件中看到的那样,网络为每个步骤仅输入 16 个图像并且重复相同的批次并且图像在单个时期的运行期间不会改变?那么这是否意味着它在所有 240 个步骤中只训练一批相同的 16 张图像?

  2. 我希望在每个时期均值(例如 16*30)中将所有样本数量输入网络。对于每个时期,所有样本都应该以一定的批次大小输入网络?这怎么可能?

我附上了用于训练的张量板图像。我有 250 步,所以每一步图像都应该改变,但它不会?步数很少变化,图像也是如此。为什么?

0 投票
0 回答
149 浏览

python - 分批拆分张量流数据集

我有一个维度的时间序列数据集,[all = 600, time sequence, features]我正在使用该fit方法将它提供给 keras 模型。

我为方法指定了批量大小 = 32,但是,当实际训练开始时,epoch 一次性结束,这意味着整个数据集已被拟合而没有拆分。

我尝试手动拆分它,但是:

  1. 我需要丢弃 30 个我不愿意的样本。
  2. 模型不接受生成的 4 个维度。

如何强制批量拆分?

编辑 1

显示我调用 model.fit 的代码

在哪里

0 投票
1 回答
316 浏览

python - python中的线性回归小批量梯度下降:按批量大小拆分训练和验证数据

我试图按批量大小拆分训练和验证数据,并找到验证 rmse。训练特征数据的大小为 11000。验证特征数据的大小为 2750。但是,当我在 for 循环中使用 zip 函数时。它将 for 循环限制在较小的范围内,即 2750。

任何人都知道我该如何解决这个问题?我已经卡了两天了。

0 投票
1 回答
62 浏览

pytorch - 如何在 PyTorch Sequantial 模型中指定 batch_size?

我在 PyTorch 中有一个顺序模型:

我想强制批量大小嵌入层:

如在 Keras 中:

怎么做?