Tensorflow Graph, Управление сессиями для перекрестной проверки - PullRequest
0 голосов
/ 04 июня 2018

Как правильно управлять (инициализировать, закрывать, сбрасывать) сеансами и графиками при реализации перекрестной проверки в Tensorflow?

Стоит ли сбрасывать сеанс и график для каждого сгиба или лучше /Можно ли сохранить один сеанс на протяжении всего процесса?Одним из преимуществ последнего является то, что ресурсы связаны на протяжении всего процесса, например, предотвращение того, что какой-то не связанный процесс, выполняющийся на той же машине, запрашивает графический процессор, пока я обрабатываю / сохраняю результаты в промежутках между сгибами.

Будет ли этодостаточно, чтобы сохранить тот же график / сессию и просто повторно инициализировать параметры следующим образом:

with tf.Graph().as_default():
    with tf.Session() as sess:
        # define model here #
        for fold in folds:
            init = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer())
            sess.run(init)
            # train model here #

Кроме того, я предполагаю, что в идеале итоги (и, возможно, контрольные точки?) должны храниться отдельно для каждого сгиба.

1 Ответ

0 голосов
/ 04 июня 2018

Я предпочитаю создавать сеанс и использовать его столько, сколько мне нужно, это намного лучше с точки зрения скорости и производительности, и позже, если мы закроем сеанс, мы сможем вернуть ресурсы обратно.Более того, если мы используем конфигурацию allow_growth для True, тогда другие программы также смогут использовать ресурсы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...