Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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 “a”是什么;批次;在Keras model.fit()中,当训练数据为图像时_Python_Keras - Fatal编程技术网

Python “a”是什么;批次;在Keras model.fit()中,当训练数据为图像时

Python “a”是什么;批次;在Keras model.fit()中,当训练数据为图像时,python,keras,Python,Keras,假设我有一组用于训练的图像数据,20个输入图像和20个输出图像,图像大小为512*512。首先我将训练数据准备为“train_image_input”(大小20*512*512)和“train_image_output”(大小20*512*512),然后在Keras中运行下面的代码 model.fit(train_image_input, train_image_output,epochs=3,batch_size=5) 我想确认当数据是图像时“批次”的定义,在上面的示例中,“批次大小=5”是

假设我有一组用于训练的图像数据,20个输入图像和20个输出图像,图像大小为512*512。首先我将训练数据准备为“train_image_input”(大小20*512*512)和“train_image_output”(大小20*512*512),然后在Keras中运行下面的代码

model.fit(train_image_input, train_image_output,epochs=3,batch_size=5)
我想确认当数据是图像时“批次”的定义,在上面的示例中,“批次大小=5”是否意味着

  • 每次训练5张图像(数据大小5*512*512)
  • 单个图像(数据大小5*512)中的5列是否一次进行训练
  • 我读过这篇文章: 当数据是图像时,下面的描述使我对样本/批次的定义感到困惑

    什么是样本? 样本是一行数据。 它包含输入到算法中,以及用于与预测进行比较和计算误差的输出。 训练数据集由多行数据组成,例如多个样本。样本也可以称为实例、观察、输入向量或特征向量。 现在我们知道了什么是样本,让我们定义一个批。 什么是批次? 批次大小是一个超参数,用于定义在更新内部模型参数之前要处理的样本数

    进一步,如果我设置“BoCHZYSIZE=30”,这是图像数量较大的,在代码执行过程中没有错误,所以我可以考虑第二个(数据大小5×512)是否正确?< /P>


    谢谢。

    批量大小定义了将通过网络传播的样本数量


    例如,假设您有1050个训练样本,并且希望将批处理大小设置为100。该算法从训练数据集中提取前100个样本(从第1个到第100个),并训练网络。接下来,它采集第二个100个样本(从第101个到第200个),并再次训练网络。在通过网络传播所有样本之前,我们可以继续执行此过程。最后一组样本可能会出现问题。在我们的示例中,我们使用了1050,如果没有余数,它不能被100整除。最简单的解决方案就是获取最后50个样本并训练网络。

    批量大小定义了将通过网络传播的样本数量


    例如,假设您有1050个训练样本,并且希望将批处理大小设置为100。该算法从训练数据集中提取前100个样本(从第1个到第100个),并训练网络。接下来,它采集第二个100个样本(从第101个到第200个),并再次训练网络。在通过网络传播所有样本之前,我们可以继续执行此过程。最后一组样本可能会出现问题。在我们的示例中,我们使用了1050,如果没有余数,它不能被100整除。最简单的解决方案就是获取最后50个样本并训练网络。

    在您的情况下,批处理大小是每次训练5个图像(数据大小5*512*512),因此每个历元有4个步骤,每个历元消耗20个图像。在一步(5张图像)训练后,更新权重和偏差,然后在第二步中,再拍摄5张图像进行训练,并再次更新权重和偏差。这个过程一直持续到它消耗了培训中的所有数据。谢谢,顺便问一下,如果我设置“batch_size=30”,你知道状态是什么吗?我期待一个错误显示“批处理大小大于样本大小”,但实际上在代码执行期间没有错误。如果
    批处理大小大于样本大小,则不应出现任何错误。考虑这样的情况:<代码> BasChyStase为5,样本大小为22。使用
    batch_size
    5进行四个训练步骤后,剩下2个样本。我们是否抛出这两个样本,这两个样本可能有很好的信息,并有助于模型的建立。实际上我们不会扔。我们将使用2个样本再运行一个步骤的培训。出于某种原因,如果您想抛出,有一个
    batch\u input\u shape
    可以修复
    batch\u大小
    。希望有帮助。在您的情况下,批处理大小为
    5个图像(数据大小为5*512*512)一次被带入训练
    ,因此每个历元有4个步骤,每个历元消耗20个图像。在一步(5张图像)训练后,更新权重和偏差,然后在第二步中,再拍摄5张图像进行训练,并再次更新权重和偏差。这个过程一直持续到它消耗了培训中的所有数据。谢谢,顺便问一下,如果我设置“batch_size=30”,你知道状态是什么吗?我期待一个错误显示“批处理大小大于样本大小”,但实际上在代码执行期间没有错误。如果
    批处理大小大于样本大小,则不应出现任何错误。考虑这样的情况:<代码> BasChyStase为5,样本大小为22。使用
    batch_size
    5进行四个训练步骤后,剩下2个样本。我们是否抛出这两个样本,这两个样本可能有很好的信息,并有助于模型的建立。实际上我们不会扔。我们将使用2个样本再运行一个步骤的培训。出于某种原因,如果您想抛出,有一个
    batch\u input\u shape
    可以修复
    batch\u大小
    。希望能有帮助。