- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
当我在 Keras 中使用我的数据集基于 Resnet-50 时(后端是 tensorflow),我觉得很奇怪,在每个纪元之后,val 都比 train 慢。我不知道为什么,是因为我的GPU没有足够的内存吗?我的 GPU 是 K2200,内存为 4 GB。我误解了段落的意思吗?
我有 35946 火车图片,所以我使用:
samples_per_epoch=35946,
我有8986 val pic所以我用:
nb_val_samples=8986,
以下是我的部分代码:
train_datagen = ImageDataGenerator(
rescale=1./255,
featurewise_center=False, # set input mean to 0 over the dataset
samplewise_center=False, # set each sample mean to 0
featurewise_std_normalization=False, # divide inputs by std of the dataset
samplewise_std_normalization=False, # divide each input by its std
zca_whitening=False, # apply ZCA whitening
rotation_range=20, # randomly rotate images in the range (degrees, 0 to 180)
width_shift_range=0.1, # randomly shift images horizontally (fraction of total width)
height_shift_range=0.1, # randomly shift images vertically (fraction of total height)
horizontal_flip=True, # randomly flip images
vertical_flip=False,
zoom_range=0.1,
channel_shift_range=0.,
fill_mode='nearest',
cval=0.,
)
test_datagen = ImageDataGenerator(rescale=1. / 255)
train_generator = train_datagen.flow_from_directory(
'data/train',
batch_size=batch_size,
class_mode='categorical')
validation_generator = test_datagen.flow_from_directory(
'data/val',
batch_size=batch_size,
class_mode='categorical')
model.fit_generator(train_generator,
# steps_per_epoch=X_train.shape[0] // batch_size,
samples_per_epoch=35946,
epochs=epochs,
validation_data=validation_generator,
verbose=1,
nb_val_samples=8986,
callbacks=[earlyStopping,saveBestModel,tensorboard])
最佳答案
@Yanning 正如您在评论中提到的那样,第一个时期很慢,因为 ImageDataGenerator 正在将数据从磁盘读取到 RAM。这部分非常慢。将数据读入 RAM 后,只需将数据从 RAM 读取和传输到 GPU 即可。
因此,如果您的数据集不是很大并且可以放入您的 RAM,您可以尝试从所有数据集中创建一个 numpy 文件并在开始时读取这些数据。这将节省大量的磁盘寻道时间。
请查看这篇文章以比较不同操作所花费的时间:
Latency Numbers Every Programmer Should Know
Main memory reference 100 nsRead 1 MB sequentially from memory 250,000 ns Read 1 MB sequentially from SSD 1,000,000 nsRead 1 MB sequentially from disk 20,000,000 ns
关于python - 使用 model.fit_generator 时 keras val 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43155510/
我如何使用 keras 函数 fit_generator() 训练并同时保存具有最低验证损失的模型权重? 最佳答案 您可以在定义检查点时设置save_best_only=True: from kera
我应该何时以及如何使用 fit_generator?fit 和 fit_generator 有什么区别? 最佳答案 如果您已准备好所有必要方面的数据和标签,并且可以简单地将它们分配给数组 x 和 y,
使用 Keras 训练 CNN,即使我做了 model.compile,keras。 fit_generator 抛出一个运行时错误,提示在使用 fit 之前先编译我的模型。 Error: Using
我目前正在生成一个data_generate(batch_size),它接受batch_size 作为参数。 我的网络是多输入网络,有 33 个形状为 (45,8,3) 的输入 如果批量大小 = 1
def Generate(): i = 0 while 1: i = i%int(Numb/batch_size) my_input_batch = my_input[i*batch_
我有一个 Keras 模型,有 4 个张量输入和 1 个数组输出。使用 model.fit 可以正常工作方法 model.fit([inputUM, inputMU, inputUU, inputMM
我有一个包含 9 列的数据集,最后一个是带标题的 csv 格式的目标变量。我正在尝试编写一个生成器来在 keras 中训练模型。代码如下。训练在第一个时期运行,但在完成之前就永远停止/挂起。 from
我正在制作一个输入形状为 (56088,22050,1) 的语音识别模型,它作为一个整体可以从 .npy 文件(大小约为 5GB)加载到内存中,但我想弄清楚一个更好的方法。我遇到了 keras fit
我正在使用 Keras 训练神经网络。由于数据集的大小,我需要使用生成器和 fit_generator() 方法。我正在关注本教程: https://stanford.edu/~shervine/bl
我尝试使用 TensorFlow、Keras 和 ImageDataGenerator 从头开始创建一个模型,但它没有按预期进行。我仅使用生成器加载图像,因此不使用数据增强。有两个包含训练数据和测
我正在尝试调整 Keras MNIST Siamese example使用发电机。 关于example ,我们有: model.fit([tr_pairs[:, 0], tr_pairs[:, 1]]
我正在使用从文件读取数据的 fit_generator,当它到达文件末尾时,它会从下一个文件加载数据。我还在 keras 中使用有状态 RNN,因此我需要手动重置状态,在这种情况下,每次生成器加载新文
我正在尝试为我的 Keras lstm 模型编写一个生成器。将它与 fit_generator 方法一起使用。我的第一个问题是我的生成器应该返回什么?一批?序列?Keras 文档中的示例为每个数据条目
我有点困惑如何在 keras 中使用 fit_generator。 举例来说: 我们有 10000 个数据点 我们要运行 10 个 epoch 批量大小为 512 使用 fit 我们只是: x, y
我正在尝试为具有 3 个输入和一个处理文本数据的单个输出的模型实现自定义数据生成器,如下所示: # dummy model input_1 = Input(shape=(None,)) input_2
我有一个使用以下代码声明的 Keras 模型: model = tf.keras.models.Sequential() model.add(tf.keras.layers.LSTM(units=50
import os from keras.preprocessing.image import ImageDataGenerator from keras.models import Sequenti
我在 keras 的 fit_generator 函数中使用的自定义生成器函数返回的 numpy 数组的形状方面遇到了一个看似简单的问题。 生成器函数与此类似: def data_generator(
我关注了this tutorial为我的 Keras 模型创建自定义生成器。这是一个显示我面临的问题的 MWE: import sys, keras import numpy as np import
上下文: 我目前正在使用带有 Tensorflow 后端的 Keras 进行时间序列预测,因此研究了提供的教程 here . 按照本教程,我来到了 fit_generator() 的生成器的位置。方法
我是一名优秀的程序员,十分优秀!