У меня есть набор классов, которые хранят тензоры и выполняют с ними некоторые операции, используя метод, присущий каждому классу. В моем коде есть этап настройки, на котором создается список экземпляров этих классов. Затем в режиме графика функция должна пройти по этому списку, чтобы получить результат операции, выполненной указанным методом каждого класса.
Важные соображения: вышеупомянутый список не изменяется после его создания. В нем также не хранятся экземпляры классов.
Мой вопрос:
1. Эффективно ли использовать список экземпляров классов внутри функции под декоратором tf.function? Если нет, то как мне справиться с этой проблемой?
Заранее большое спасибо!
Фиктивный пример:
class DoSomething:
def __init__(self,x):
self.x = x
def __call__(self):
return self.x*2.0
x = tf.Variable(2.0)
y = tf.Variable(3.0)
class_list = [DoSomething(x), DoSomething(y)]
n_classes = len(class_list)
@tf.function
def do_something_else():
for i in range(n_classes):
class_list()
Подробнее здесь: https://stackoverflow.com/questions/798 ... graph-mode