Как исправить ошибку атрибута: модуль ‘tensorflow’ не имеет атрибута ‘Session’ в рукописном распознавании текста

#python-3.x #tensorflow #opencv #ocr #tensorflow2.0

#python-3.x #tensorflow #opencv #ocr #tensorflow2.0

Вопрос:

есть много вопросов по этому поводу, но я не нашел решения. Я хочу сделать распознавание рукописного ввода с этого сайта handwriting-ocr

Когда я импортирую библиотеку, я обнаружил эту ошибку

 AttributeError                            Traceback (most recent call last)
<ipython-input-22-1c5011de3819> in <module>
      8 sys.path.append('../src/')
      9 from ocr.normalization import word_normalization, letter_normalization
---> 10 from ocr import page, words, characters
     11 from ocr.helpers import implt, resize
     12 from ocr.tfhelpers import Model

D:Masterhandwriting-ocr-masterhandwriting-ocr-mastersrcocrcharacters.py in <module>
     14 location = os.path.dirname(os.path.abspath(__file__))
     15 CNN_model = Model(
---> 16     os.path.join(location, '../../models/gap-clas/CNN-CG'))
     17 CNN_slider = (60, 30)
     18 RNN_model = Model(

D:Masterhandwriting-ocr-masterhandwriting-ocr-mastersrcocrtfhelpers.py in __init__(self, loc, operation, input_name)
     18         self.input = input_name   ":0"
     19         self.graph = tf.Graph()
---> 20         self.sess = tf.Session(graph=self.graph)
     21         with self.graph.as_default():
     22             saver = tf.train.import_meta_graph(loc   '.meta', clear_devices=True)

AttributeError: module 'tensorflow' has no attribute 'Session
  

Поскольку я использую tensorflow 2.1.0 so, я пытаюсь перейти в эту библиотеку

 import tensorflow.compat.v1 as tf
  

И попробуйте это

 hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
  

Это успешно. Вывод b'Hello, TensorFlow!' .
При использовании import tensorflow as tf я изменяюсь tf.Session() на этот tf.compat.v1.Session() успешный, но если я реализую его в ocr.py он по-прежнему не работает и возвращает ту же ошибку no session

Я тоже попробовал переустановить tensorflow .

Я использую jupyter notebook , python 3.6 , и opencv 3.3.1 спасибо за помощь, ребята.

Ответ №1:

Вам нужно отключить поведение Tf2

 import tensorflow.compat.v1 as tf
tf.compat.v1.disable_v2_behavior()
tf.compat.v1.Session()