Tensorflow slim如何在培训期间指定批量大小

Tensorflow slim如何在培训期间指定批量大小,tensorflow,Tensorflow,我试图使用slim接口创建和训练卷积神经网络,但我不知道如何指定训练的批量大小。 在训练期间,由于图形卡内存不足,我的网络崩溃了。 所以我认为这应该是一种处理这种情况的方法。。。 我必须分批分割数据和标签,然后显式循环,还是由slim.learning.train处理? 在代码中,我粘贴的train_数据是我的训练集中的所有数据(numpy数组)…这里不包括模型定义 我有一个快速循环的来源,但没有运气到目前为止 g = tf.Graph() with g.as_default():

我试图使用slim接口创建和训练卷积神经网络,但我不知道如何指定训练的批量大小。 在训练期间,由于图形卡内存不足,我的网络崩溃了。 所以我认为这应该是一种处理这种情况的方法。。。 我必须分批分割数据和标签,然后显式循环,还是由slim.learning.train处理? 在代码中,我粘贴的train_数据是我的训练集中的所有数据(numpy数组)…这里不包括模型定义 我有一个快速循环的来源,但没有运气到目前为止

g = tf.Graph()
    with g.as_default():
        # Set up the data loading:
        images = train_data
        labels = tf.contrib.layers.one_hot_encoding(labels=train_labels, num_classes=num_classes)
        # Define the model:
        predictions = model7_2(images, num_classes, is_training=True)

        # Specify the loss function:
        slim.losses.softmax_cross_entropy(predictions, labels)

        total_loss = slim.losses.get_total_loss()
        tf.scalar_summary('losses/total loss', total_loss)

        # Specify the optimization scheme:
        optimizer = tf.train.GradientDescentOptimizer(learning_rate=.001)
        train_tensor = slim.learning.create_train_op(total_loss, optimizer)

        slim.learning.train(train_tensor,
            train_log_dir,
            number_of_steps=1000,
            save_summaries_secs=300,
            save_interval_secs=600)
有什么建议吗

编辑: 我重新阅读了文档…我发现了这个例子

image, label = MyPascalVocDataLoader(...)
images, labels = tf.train.batch([image, label], batch_size=32)
但现在还不清楚如何将图像和标签传递给tf.train.batch。。。由于未指定MyPascalVocDataLoader函数。。。 在我的例子中,我的数据集是从一个sqlite数据库加载的,我的训练数据和标签是numpy数组……仍然很混乱。 当然,我试图像这样将numpy数组(转换为常数张量)传递给tf.train.batch

    image = tf.constant(train_data)
    label = tf.contrib.layers.one_hot_encoding(labels=train_labels, num_classes=num_classes)
    images, labels = tf.train.batch([image, label], batch_size=32)

但似乎不是正确的道路要走。。。看起来train.batch只需要我的数据集中的一个元素…(如何传递?只传递train_数据[0]和train_标签[0]对我来说没有意义。)

这里您可以创建tfrecords,它是tensorflow使用的特殊类型的二进制文件格式。正如您提到的,您有培训图像和标签,您可以轻松地创建培训和验证的TFR记录

在创建TFrecords之后,您只需对编码的TFrecords中的图像进行解码并将其提供给您的模型输入。在那里,您可以选择批量大小和所有