我是Tensorflow的新手,我正在尝试训练一个使用ImageDataGenerator的模型:
data_gen = tf.keras.preprocessing.image.ImageDataGenerator(
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,
fill_mode='nearest')
BATCH_SIZE = 32
train_gen = data_gen.flow_from_dataframe(
mapping_train,
x_col = 'path',
y_col = 'label',
target_size = (256, 256),
batch_size = BATCH_SIZE
)
mapping_train
是一个包含path_to_image和class_label列的数据框。
我正在使用VGG16应用转移学习,并将fit_generator方法调用为:
model_1.fit_generator(train_gen,
steps_per_epoch=mapping_train.shape[0] / BATCH_SIZE,
epochs=3
)
但是,我的GPU始终始终不到2%,但是我的VRAM使用率几乎已满(4GB),批处理大小为32。
TensorFlow确实可以识别我的GPU,并调用tf.config.list_physical_devices('GPU')
在我的控制台上打印GTX 1050Ti。
我尝试过:
use_multiprocessing = True
和workers = 4
对answer进行了尝试他们都没有工作。非常感谢您提供一些帮助。