модуль tenorsflow не имеет атрибута GraphDef - PullRequest
0 голосов
/ 07 октября 2019

Так что я некоторое время работаю в Tensorflow и изменяю некоторые конфигурации и т. Д.

Я продолжаю устанавливать и удалять версии tenorflow и повторяю эти ошибки: если я устанавливаю Tensorflow 2.0, я получаю эту ошибку

модуль 'tenorflow' не имеет атрибута 'GraphDef'

, тогда при переходе на Tensorflow 1.14 я получаю эту ошибку:

python -c "import tensorflow as tf; print(tf.__version__)"

Трассировка (последний вызов был последним): файл "C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ tenorflow \ python \ pywrap_tensorflow.py", строка 58, изtenorflow.python.pywrap_tensorflow_internal import * Файл "C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ tenorflow \ python \ pywrap_tensorflow_internal.py", строка 28, в _pywrap_tensorflow_internal = файл swig_import_helper (): \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ tenorflow \ python \ pywrap_tensorflow_internal.py ", строка 24, в swig_import_helper _mod = imp.load_module ('_ pywrap_tensorflow_internal', fp, имя пути, описание) Файл "C: \ Users \ PPE DETECTION \ Anaconda3 \ envs \ ppe \ lib \ imp.py", строка 243, в load_module возвращает load_dynamic (имя, имя файла, файл) Файл«C: \ Users \ PPE DETECTION \ Anaconda3 \ envs \ ppe \ lib \ imp.py», строка 343, в load_dynamic return _load (spec) ImportError: Ошибка загрузки DLL: указанный модуль не найден.

Во время обработки вышеупомянутого исключения произошло другое исключение:

Трассировка (последний последний вызов): файл "", строка 1, в файле "C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python\ Python35 \ site-packages \ tenorflow__init __. Py ", строка 28, из файла tennorflow.python import pywrap_tensorflow # pylint: disable = неиспользуемый-импорт Файл" C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ensorflow \ python__init __. py ", строка 49, из файла tenorflow.python import из файла pywrap_tensorflow" C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ensorflow \ python \ pywrap_tensorflow.py ",строка 74, в тaise ImportError (msg) ImportError: Traceback (последний вызов был последним): файл "C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ tenorflow \ python \ pywrap_tensorflow.py", строка 58, вfromensorflow.python.pywrap_tensorflow_internal import * Файл "C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ensorflow \ python \ pywrap_tensorflow_internal.py", строка 28, в файле _pywrap_tensorflow_internal = swig_import_hel (файл)C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ tenorflow \ python \ pywrap_tensorflow_internal.py ", строка 24, в swig_import_helper _mod = imp.load_module ('_ pywrap_tensorflow_internal', fp, путь, описание)Файл "C: \ Users \ PPE DETECTION \ Anaconda3 \ envs \ ppe \ lib \ imp.py", строка 243, в load_module возвращает load_dynamic (имя, имя файла, файл) Файл "C: \ Users \ PPE DETECTION \ Anaconda3 \ envs\ ppe \ lib \ imp.py ", строка 343, в load_dynamic return _load (spec) ImportError: Ошибка загрузки DLL: указанный модуль не найден.

Fможет загрузить собственную среду выполнения TensorFlow.

См. https://www.tensorflow.org/install/errors

для некоторых распространенных причин и решений. Включите всю трассировку стека над этим сообщением об ошибке при обращении за помощью.

, как это было в прошлом, когда я тестировал решение, и я пойман в ловушку, но я был бы рад, если бы кто-то суммировал мне эточасть документа, потому что я считаю, что она имеет решение в моей проблеме https://www.tensorflow.org/guide/versions#compatibility_of_savedmodels_graphs_and_checkpoints

Это код, с которым я работал: это https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10 Object_detection_webcam.py

> ######## Webcam Object Detection Using Tensorflow-trained Classifier #########
> #
> # Author: Evan Juras
> # Date: 1/20/18
> # Description:
> # This program uses a TensorFlow-trained classifier to perform object detection.
> # It loads the classifier uses it to perform object detection on a webcam feed.
> # It draws boxes and scores around the objects of interest in each frame from
> # the webcam.
> 
> ## Some of the code is copied from Google's example at
> ## https://github.com/tensorflow/models/blob/master/research/object_detection/object_detection_tutorial.ipynb
> 
> ## and some is copied from Dat Tran's example at
> ## https://github.com/datitran/object_detector_app/blob/master/object_detection_app.py
> 
> ## but I changed it to make it more understandable to me.
> 
> 
> # Import packages import os import cv2 import numpy as np import tensorflow as tf import sys
> 
> # This is needed since the notebook is stored in the object_detection folder. sys.path.append("..")
> 
> # Import utilites from utils import label_map_util from utils import visualization_utils as vis_util
> 
> # Name of the directory containing the object detection module we're using MODEL_NAME = 'inference_graph'
> 
> # Grab path to current working directory CWD_PATH = os.getcwd()
> 
> # Path to frozen detection graph .pb file, which contains the model that is used
> # for object detection. PATH_TO_CKPT = os.path.join(CWD_PATH,MODEL_NAME,'frozen_inference_graph.pb')
> 
> # Path to label map file PATH_TO_LABELS = os.path.join(CWD_PATH,'training','labelmap.pbtxt')
> 
> # Number of classes the object detector can identify NUM_CLASSES = 6
> 
> ## Load the label map.
> # Label maps map indices to category names, so that when our convolution
> # network predicts `5`, we know that this corresponds to `king`.
> # Here we use internal utility functions, but anything that returns a
> # dictionary mapping integers to appropriate string labels would be fine label_map = label_map_util.load_labelmap(PATH_TO_LABELS)
> categories = label_map_util.convert_label_map_to_categories(label_map,
> max_num_classes=NUM_CLASSES, use_display_name=True) category_index =
> label_map_util.create_category_index(categories)
> 
> # Load the Tensorflow model into memory. detection_graph = tf.Graph() with detection_graph.as_default():
>     od_graph_def = tf.GraphDef()
>     with tf.io.gfile.GFile(PATH_TO_CKPT, 'rb') as fid:
>         serialized_graph = fid.read()
>         od_graph_def.ParseFromString(serialized_graph)
>         tf.import_graph_def(od_graph_def, name='')
> 
>     sess = tf.Session(graph=detection_graph)
> 
> 
> # Define input and output tensors (i.e. data) for the object detection classifier
> 
> # Input tensor is the image image_tensor = detection_graph.get_tensor_by_name('image_tensor:0')
> 
> # Output tensors are the detection boxes, scores, and classes
> # Each box represents a part of the image where a particular object was detected detection_boxes =
> detection_graph.get_tensor_by_name('detection_boxes:0')
> 
> # Each score represents level of confidence for each of the objects.
> # The score is shown on the result image, together with the class label. detection_scores =
> detection_graph.get_tensor_by_name('detection_scores:0')
> detection_classes =
> detection_graph.get_tensor_by_name('detection_classes:0')
> 
> # Number of objects detected num_detections = detection_graph.get_tensor_by_name('num_detections:0')
> 
> # Initialize webcam feed video = cv2.VideoCapture(0) video.open("rtsp://admin:Password1@192.168.100.60:554/Streaming/channels/2/")
> video.set(cv2.cv2.CAP_PROP_FPS, 5) ret = video.set(3,640) ret =
> video.set(4,480)
> 
> while(True):
> 
>     # Acquire frame and expand frame dimensions to have shape: [1, None, None, 3]
>     # i.e. a single-column array, where each item in the column has the pixel RGB value
>     ret, frame = video.read()
>     frame_expanded = np.expand_dims(frame, axis=0)
> 
>     # Perform the actual detection by running the model with the image as input
>     (boxes, scores, classes, num) = sess.run(
>         [detection_boxes, detection_scores, detection_classes, num_detections],
>         feed_dict={image_tensor: frame_expanded})
> 
>     # Draw the results of the detection (aka 'visulaize the results')
>     vis_util.visualize_boxes_and_labels_on_image_array(
>         frame,
>         np.squeeze(boxes),
>         np.squeeze(classes).astype(np.int32),
>         np.squeeze(scores),
>         category_index,
>         use_normalized_coordinates=True,
>         line_thickness=8,
>         min_score_thresh=0.60)
> 
>     # All the results have been drawn on the frame, so it's time to display it.
>     cv2.imshow('Object detector', frame)
> 
>     # Press 'q' to quit
>     if cv2.waitKey(1) == ord('q'):
>         break
> 
> # Clean up video.release() cv2.destroyAllWindows()

Tensorflow 2.0

Проверка версии:

python -c "import tensorflow as tf; print(tf.__version__)"

Вывод:

2.0.0

, но в предоставленном тестере:

AttributeError Traceback (последний вызов был последним) в 1 Detection_graph = tf.Graph () 2 с обнаружения_graph.as_default (): ----> 3 od_graph_def = tf.GraphDef () 4 с tf.gfile.GFile (PATH_TO_FROZEN_GRAPH), 'rb') as fid: 5 serialized_graph = fid.read ()

AttributeError: у модуля tenorsflow нет атрибута GraphDef

, который должен выполняться нормально

В тензорном потоке 1.14

Проверка версии:

python -c "import tensorflow as tf; print(tf.__version__)"

Вывод:

Трассировка (последний вызов был последним): Файл "C: \Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ tenorflow \ python \ pywrap_tensorflow.py ", строка 58, из файла tenorflow.python.pywrap_tensorflow_internal import * Файл" C: \ Users \ PPE DETECTION \ AppData \ "Роуминг \ Python \ Python35 \ site-packages \ tenorflow \ python \ pywrap_tensorflow_internal.py ", строка 28, в файле _pywrap_tensorflow_internal = swig_import_helper ()" C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \tensorflow \ питон \ pywrap_tensorflow_internal.py ", строка 24, в swig_import_helper _mod = imp.load_module ('_ pywrap_tensorflow_internal', fp, имя пути, описание) Файл" C: \ Users \ PPE DETECTION \ Anaconda3 \ envs \ ppe \ lib \ imp.py ", строка243, в load_module возвращаем load_dynamic (имя, имя файла, файл) Файл "C: \ Users \ PPE DETECTION \ Anaconda3 \ envs \ ppe \ lib \ imp.py", строка 343, в load_dynamic возвращаем _load (spec) ImportError: загрузка DLLошибка: указанный модуль не найден.

Во время обработки вышеуказанного исключения произошло другое исключение:

Трассировка (последний вызов был последним): файл "", строка 1, в файле"C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ tenorflow__init __. Py", строка 28, из файла tennsorflow.python import pywrap_tensorflow # pylint: disable = файл неиспользованного импорта "C: \ Users\ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ tenorflow \ python__init __. Py ", строка 49, из файла tenorflow.python импортировать файл pywrap_tensorflow" C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35\site-packages \ tenorflow \ python \ pywrap_tensorflow.py ", строка 74, в повышение. ImportError (msg) ImportError: обратная связь (последний вызов был последним): файл" C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ "site-packages \ensorflow \ python \ pywrap_tensorflow.py ", строка 58, из файла tenorflow.python.pywrap_tensorflow_internal import * Файл" C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ tenorflow \ python "\ pywrap_tensorflow_internal.py ", строка 28, в файле _pywrap_tensorflow_internal = swig_import_helper ()" C: \ Users \ PPE DETECTION \ AppData \ Roaming \ Python \ Python35 \ site-packages \ensorflow \ python \ pywrap_tensorflow_internal.py ", строка 24, в строкеswig_import_helper _mod = imp.load_module ('_ pywrap_tensorflow_internal', fp, имя пути, описание) Файл "C: \ Users \ PPE DETECTION \ Anaconda3 \ envs \ ppe \ lib \ imp.py", строка 243, в load_module возвращает load_dynamic (name,имя файла, файл) Файл "C: \ Users \ PPE DETECTION \ Anaconda3 \ envs \ ppe \ lib \ imp.py", строка 343, в load_dynamic return _load (spec) ImportError: DLLзагрузка не удалась: указанный модуль не найден.

Не удалось загрузить собственное время выполнения TensorFlow.

См. https://www.tensorflow.org/install/errors

для некоторых распространенных причин и решений. Включите всю трассировку стека над этим сообщением об ошибке при обращении за помощью.

заранее спасибо

1 Ответ

0 голосов
/ 04 ноября 2019

Вы должны сделать это так

  graph = tf.Graph()
  graph_def = tf.compat.v1.GraphDef()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...