#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()