#python #tensorflow #deep-learning #artificial-intelligence #tensorflow2.0
Вопрос:
Ниже приведен краткий демонстрационный фрагмент кода (пример) того, что я пытаюсь сделать в своем проекте, но я получаю ошибку (в операторе tf.Variable() внутри while_body — создание переменной) и не могу ее исправить, может ли кто-нибудь помочь мне с этим. Моя версия TF — 2.3.0
Демонстрационный код:
import tensorflow as tf
def create_variable(a):
variable = tf.Variable(tf.zeros([a, a]), tf.int32)
return variable
def loop():
def cond(i, *args):
return tf.less(i, 10)
def body(i, a, b):
var = create_variable(a)
var[0, 0].assign(b)
return (tf.add(i, 1), )
i = tf.constant(0)
a = tf.constant(5)
b = tf.constant(10)
r = tf.while_loop(cond, body, [i, a, b])
return
with tf.Graph().as_default() as graph:
loop()
Ошибка:
ValueError: Tensor-typed variable initializers must either be wrapped in an init_scope or callable (e.g., `tf.Variable(lambda : tf.truncated_normal([10, 40]))`) when building functions. Please file a feature request if this restriction inconveniences you.