Tensorflow tf.function ускорить - PullRequest
       0

Tensorflow tf.function ускорить

0 голосов
/ 12 февраля 2020

Когда я передаю новую переменную внутреннему l oop через outter l oop, используя декоратор tf.function, и пытаюсь изменить его значение во внутреннем l oop, я должен передать свою переменную обратно через эти 2 цикла. Обычно это не было бы проблемой, но в моем случае, при использовании tf производительность сильно падает, только из-за обратной передачи измененной переменной. Это из-за повторного отслеживания? Есть ли другой способ изменить «глобальные» или переменные класса в tenorflow 2.0, так как init_scope ушел.

@tf.function
def Graph_Mapping(self,t1,t2,t3,t4,Image,Map,a,b,c,t):

Outter L oop

Количество от t3 до t4 ...

def condition_aussen(t3, t4):
    return tf.less(t3, t4)

Фактически сосчитать и вызвать внутренний l oop

def body_aussen(t3,t4):

    _,_, r, _,_,_ = tf.while_loop(condition_Innen, body_Innen, [t1, t2,Image,t3,t4,Map])
    return [tf.add(t3, 1), t4]

Внутренний L oop

def condition_Innen(t1,t2,Image,t3,t4,Map):
    return tf.less(t1, t2)

def body_Innen(t1,t2,Image,t3,t4,Map):

     Do something .....

     return [tf.add(t1, 1), t2,Image,t3,t4,Map]

Вызовите Outter L oop и сохраните его в «результате», чем верните результат

with tf.device('/device:GPU:0'):
    result = tf.while_loop(condition_aussen, body_aussen, [t3, t4])


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