Передать сессию в качестве аргумента пользовательской функции в Tensorflow - PullRequest
0 голосов
/ 29 мая 2019

Поскольку мне приходилось запускать одну и ту же часть кода в моем сценарии несколько раз, мне было интересно, можно ли передать tf.Session в качестве аргумента пользовательской функции, чтобы выполнить некоторые операции внутри функции, избегая, таким образом,повторяющийся код.

Обновление Пример использования

with tf.Session as sess: 
        my_training(init, epochs, Xtrain, Ytrain, batch,\
                    optimizer, loss, predictions, X, Y, sess)
        validation_error = sess.run(loss, feed_dict={X:Xvalid, Y:Yvalid})

, где оптимизатор, потери, входы, выходы, Xtrain и Ytrain и т. д. являются ранее созданными тензорами, и my_training - это функция, которую я создал для обучения NN отдельным скриптом.

def my_training(init, epochs, Xtrain, Ytrain, batch,\

             optimizer, loss, predictions, X, Y, sess):   

    # Shuffle the training set 
    Xtrain, Ytrain = shuffle(Xtrain, Ytrain, random_state = 20)

    # Initialize all variables (network weights, biases and optimizer)
    sess.run(init)

    # Loop over the training epochs
    for epoch in range(epochs):

        # Loop over mini-batches in the epoch
        for offset in range(0, Xtrain.shape[0], batch):

            batch_x = Xtrain[offset: offset + batch]

            batch_y = Ytrain[offset: offset + batch]

            sess.run(optimizer, feed_dict = {X:batch_x, Y:batch_y})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...