Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 强制keras mode.fit()使用多处理_Python_Multiprocessing_Keras_Theano - Fatal编程技术网

Python 强制keras mode.fit()使用多处理

Python 强制keras mode.fit()使用多处理,python,multiprocessing,keras,theano,Python,Multiprocessing,Keras,Theano,我正在使用带有theano后端的Keras,我想在gpu上训练我的网络。这实际上效果不错。但是,当我想对大量数据进行培训时,我意识到,model.fit()函数中存在瓶颈(我使用的是函数API) 实际上,在model.fit()函数中,Keras开始使用GPU进行培训。但在GPU上启动之前,它需要大量CPU工作来准备培训(我不知道实际培训之前,fit()在做什么)。问题是,这个部分只使用一个线程,所以这个部分需要相当长的时间 在这一步中是否可能强制Keras使用多处理 编辑:在我的函数调用中添加

我正在使用带有theano后端的Keras,我想在gpu上训练我的网络。这实际上效果不错。但是,当我想对大量数据进行培训时,我意识到,
model.fit()
函数中存在瓶颈(我使用的是函数API)

实际上,在
model.fit()函数中,Keras开始使用GPU进行培训。但在GPU上启动之前,它需要大量CPU工作来准备培训(我不知道实际培训之前,
fit()
在做什么)。问题是,这个部分只使用一个线程,所以这个部分需要相当长的时间

在这一步中是否可能强制Keras使用多处理

编辑:在我的函数调用中添加了其他数据:

我的函数调用如下所示:

optimizer = SGD(lr=0.00001)
early_stopping = EarlyStopping(monitor='val_loss', patience=30, verbose=1, mode='auto')
outname = join(outdir, save_base_name+".model")
checkpoint = ModelCheckpoint(outname, monitor='val_loss', verbose=1, save_best_only=True)
model.compile(loss='hinge', optimizer=optimizer, metrics=['accuracy'])
model.fit(
    train_instances.x,
    train_instances.y,
    batch_size=60,
    epochs=50,
    verbose=1,
    callbacks=[checkpoint, early_stopping],
    validation_data=(valid_instances.x, valid_instances.y),
    shuffle=True
)

我使用的模型(您可以在这里找到实现:)有90个输入(共享层),维度为100x300(word2vec嵌入层:100个单词,每个有300个维度)。我向网络提供了12500个培训实例和1000个验证实例。

您能否提供有关
fit
方法调用、模型大小等的更多详细信息?当然可以。我在最初的帖子中添加了一些关于方法调用、模型和输入数据的信息。如果你需要更多的信息,请告诉我。