Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何计算和求和Keras中多个小批次的梯度?_Python_Tensorflow_Keras_Deep Learning - Fatal编程技术网

Python 如何计算和求和Keras中多个小批次的梯度?

Python 如何计算和求和Keras中多个小批次的梯度?,python,tensorflow,keras,deep-learning,Python,Tensorflow,Keras,Deep Learning,我想在训练期间增加我的神经网络的小批量大小(而不是衰减学习率),但由于我的GPU内存,小批量大小的上限是8 我找到了这篇文章 关于如何在不增加内存的情况下增加最小批处理大小,它是通过在PyTorch中实现一个DataLoader来实现的 这项技术很简单,你只需要计算和求梯度 多个小批量。仅在指定数量的小批量之后 是否更新模型参数 然而,我在Keras中找不到任何这样的例子。我假设必须使用函数uu getitem_uuu? 但我不知道如何实施它,甚至不知道它在Keras中是否可行。我也试着查看数

我想在训练期间增加我的神经网络的小批量大小(而不是衰减学习率),但由于我的GPU内存,小批量大小的上限是8

我找到了这篇文章

关于如何在不增加内存的情况下增加最小批处理大小,它是通过在PyTorch中实现一个DataLoader来实现的

这项技术很简单,你只需要计算和求梯度 多个小批量。仅在指定数量的小批量之后 是否更新模型参数

然而,我在Keras中找不到任何这样的例子。我假设必须使用函数uu getitem_uuu?
但我不知道如何实施它,甚至不知道它在Keras中是否可行。我也试着查看数据生成器的示例,但没有一个涉及到优化器。
如果有人能帮我,我将不胜感激

count = 0
for inputs, targets in training_data_loader:
    if count == 0:
        optimizer.step()
        optimizer.zero_grad()
        count = batch_multiplier

    outputs = model(inputs)
    loss = loss_function(outputs, targets) / batch_multiplier
    loss.backward()

    count -= 1