Байесовская нейронная сеть на наборе данных MNIST с использованием библиотеки Эдварда. «RecursionError: максимальная глубина рекурсии превышена при вызове объекта Python» - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь запустить код для байесовской нейронной сети для набора данных MNIST на Google Colab. Но я получаю рекурсивную ошибку. Пожалуйста, помогите.

x = tf.placeholder(tf.float32, [None, D])

w = Normal(loc = tf.zeros([D, k]), scale = tf.ones([D, k]))
b = Normal(loc = tf.zeros(k), scale = tf.ones(k))
y = Categorical(tf.matmul(x,w)+b)
qw = Normal(loc=tf.Variable(tf.random_normal([D, k])), scale=tf.nn.softplus(tf.Variable(tf.random_normal([D, k]))))
qb = Normal(loc=tf.Variable(tf.random_normal([k])), scale=tf.nn.softplus(tf.Variable(tf.random_normal([k]))))
y_ph = tf.placeholder(tf.int32, [N])
inference = ed.KLpq({w: qw, b: qb}, data={y:y_ph})
inference.initialize(n_iter=5000, n_print=100, scale={y: float(mnist.train.num_examples) / N})
sess = tf.InteractiveSession()
tf.global_variables_initializer().run()

Ошибка находится в строке "inference.initialize ...".

RecursionError: максимальная глубина рекурсии превышена при вызове объекта Python

...