Как правильно использовать параллельные фьючерсы для запуска model.fit? - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть сценарий Python, который выглядит следующим образом:

import tensorflow as tf
from tensorflow import keras
import numpy  as np
import pandas as pd
import argparse
from concurrent import futures

[data ETL processing]


#Model code 
model = keras.Sequential()

input_layer = keras.layers.Dense(20, input_shape=[20], activation='tanh')
model.add(input_layer)

output_layer = keras.layers.Dense(1, activation='sigmoid')
model.add(output_layer)

gd = tf.train.GradientDescentOptimizer(0.01)

model.compile(optimizer=gd, loss='mse')

sess = tf.Session()  #NEW LINE


training_y = dependent_variables #produced in the data ETL processing section above
training_x = independent_variable#produced in the data ETL processing section above



init_op = tf.initializers.global_variables()



sess.run(init_op)#NEW LINE

def model_fit():

    model.fit(training_x, training_y, epochs=20, steps_per_epoch =20 )
    return model




with futures.ThreadPoolExecutor() as executor:# Or use ProcessPoolExecutor
        executor.map(model_fit())

Правильно ли я использую многопроцессорную обработку для правильного запуска функции model_fit?

Я не вижу никаких улучшений между запуском multiпоточная библиотека и запуск «model.fit» в виде самой строки.

...