我有兴趣在Keras中使用ImageDataGenerator进行数据扩充.但它要求具有类子目录的训练和验证目录分别如下所示(这来自Keras文档).我有一个目录,包含2个子目录(2个类(Data/Class1和Data/Class2).如何将其随机分成训练和验证目录
train_datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
'data/train',
target_size=(150, 150),
batch_size=32,
class_mode='binary')
validation_generator = test_datagen.flow_from_directory(
'data/validation',
target_size=(150, 150),
batch_size=32,
class_mode='binary')
model.fit_generator(
train_generator,
steps_per_epoch=2000,
epochs=50,
validation_data=validation_generator,
validation_steps=800)
Run Code Online (Sandbox Code Playgroud)
我有兴趣通过随机训练和验证数据拆分多次重新运行我的算法.
如果这个问题看起来很基本,我会事先道歉,但我是Tensorflow的新手并感谢任何帮助.
我发现我必须经常重新启动计算机才能从keras.applications加载VGG16等模型.我有一台相当高端的机器,配备4个GeForce GTX 1080 Ti GPU和Intel®Core™i7-6850K CPU @ 3.60GHz×12,用于我的CPU,仅用于Tensorflow(通过Keras).
一旦我重新启动,我将能够成功加载模型(例如VGG16)并训练大型训练数据集.但是,如果我让我的计算机闲置一段时间并重新运行相同的程序,我将获得资源耗尽消息(OOM),可以通过重新启动我的计算机来修复.每隔几个小时不停地重新启动计算机是非常令人沮丧的.有谁知道发生了什么以及如何解决这个问题?
我在 ubuntu 16.04 上有 tensorflow-gpu 1.2.1 和 keras。
我无法执行:
from kears.utils import multi_gpu_model
Run Code Online (Sandbox Code Playgroud)
有没有人像他们文档的常见问题部分中描述的那样使用 multi_gpu_model 取得了成功?
我有一台带有 4 个 GeForce GTX 1080 Ti 卡的 4 GPU 机器,并且想使用所有这些卡。
这是我得到的错误:
import keras.utils.multi_gpu_model
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-7-0174878249b1> in <module>()
----> 1 import keras.utils.multi_gpu_model
2
ModuleNotFoundError: No module named 'keras.utils.multi_gpu_model'
Run Code Online (Sandbox Code Playgroud)
我可以成功导入 keras 和 keras.utils。