#python #tensorflow #keras #tensorflow2.0 #tf.keras
Вопрос:
У меня есть ошибки, когда я хочу запустить эти строки.
import tensorflow.python.keras.backend as K
session = K.get_session()
init_op = tf.group(tf.tables_initializer(),tf.global_variables_initializer(),
tf.local_variables_initializer())
session.run(init_op)
np.random.seed(1)
tf.set_random_seed(1)
Ошибка гласит: модуль «tensorflow» не имеет атрибута «tables_initializer», и в той же форме происходит с global_variables_initializer и local_variables_initializer (когда я запускаю их по отдельности).
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-40-82a30eae4406> in <module>()
5
6 session = K.get_session()
----> 7 init_op = tf.group(tf.tables_initializer(),tf.global_variables_initializer(),
tf.local_variables_initializer())
8 session.run(init_op)
9 np.random.seed(1)
AttributeError: module 'tensorflow' has no attribute 'tables_initializer'
Пожалуйста, помогите…
Ответ №1:
Данный код совместим с Tensorflow 1.x. Чтобы он работал с Tensorflow 2.x, необходимо внести некоторые изменения в ваш код, т. Е. Изменить имена библиотек следующим образом
tf.compat.v1.tables_инициализатор()
tf.compat.v1.global_variables_инициализатор()
tf.compat.v1.local_variables_инициализатор().
Найдите рабочий фрагмент кода
import tensorflow.compat.v1 as tf
import tensorflow.python.keras.backend as K
tf.compat.v1.disable_eager_execution()
import numpy as np
session = K.get_session()
init_op = tf.group(tf.tables_initializer(),tf.global_variables_initializer(),
tf.local_variables_initializer())
session.run(init_op)
np.random.seed(1)
tf.set_random_seed(1)