我对Tensorflow和Keras还是陌生的,到目前为止,强大的Google仍无法帮助我解决以下问题:
在下面,您可以看到在spyder中训练一个预训练的CNN的TF / Keras输出(使用anaconda):
那些(粗体)的时间是什么?据我所能衡量的,这是这个时期所需的总时间。我对么? 斜体数字表示完整批次(步数*批次大小)和时间/批次的秒数。
TF / Keras在两个训练批之间的重要时间段内做什么?
让我们看看时代2: 整个时期花费了 42 秒,而训练本身仅花费了 7 秒。在剩下的42-7 = 35秒内发生了什么?
据我了解,培训时间包括: +关于学习的所有内容(正向道具,计算梯度,向后道具)
剩余时间是纯粹用于加载和缩放图像吗?
Epoch 1/50
50/50 [==============================] - *9s 186ms/step* - loss: 0.6557 - acc: 0.9076
- **53s** - loss: 0.8610 - acc: 0.8472 - val_loss: 0.6557 - val_acc: 0.9076
Epoch 2/50
50/50 [==============================] - *7s 147ms/step* - loss: 0.4148 - acc: 0.9478
- **41s** - loss: 0.2432 - acc: 0.9097 - val_loss: 0.4148 - val_acc: 0.9478
Epoch 3/50
50/50 [==============================] - *8s 158ms/step* - loss: 0.5873 - acc: 0.9384 - **42s** - loss: 0.1696 - acc: 0.9335 - val_loss: 0.5873 - val_acc: 0.9384
Epoch 4/50
50/50 [==============================] - *7s 149ms/step* - loss: 0.5356 - acc: 0.9492
- **41s** - loss: 0.1274 - acc: 0.9548 - val_loss: 0.5356 - val_acc: 0.9492
.....
如果重要:我正在使用图像生成器(请参见下面的代码)和增强功能。小型(通常<500kb)图片是从SSD(三星960 1TB)加载的。
train_datagen = ImageDataGenerator(rescale=1./255.)
train_generator = train_datagen.flow_from_directory(train_dir,
batch_size=20,
class_mode='binary',
target_size=(IMAGE_WIDTH, IMAGE_HEIGHT))
非常感谢你们。