J'ai eu un problème en faisant la détection d'objet en utilisant tensorflow-gpu
Je suivais les tutoriels youtube: https://www.youtube.com/watch?v=Rgpfk6eYxJA
J'essaie de détecter un objet en utilisant tensorflow-gpu avec un environnement virtuel.
J'ai ajouté python, cuda, tensorflow aux variables d'environnement du système et ai également créé des modèles d'apprentissage avec des étiquettes.
J'ai converti des étiquettes XML en CSV à l'aide de xml_to_csv.py.
Le problème est que lorsque j'essaie de générer tfrecord en utilisant generate_tfrecord.py, cette erreur apparaît. S'il vous plaît aider
Voici le code
(tensorflow) C:\Users\ice305\tensorflow\models\research\object_detection>python generate_tfrecord.py --csv_input=images\train_labels.csv --image_dir=images\train --output_path=train.record
Traceback (most recent call last):
File "generate_tfrecord.py", line 17, in <module>
import tensorflow as tf
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\__init__.py", line 22, in <module>
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\__init__.py", line 81, in <module>
from tensorflow.python import keras
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\__init__.py", line 24, in <module>
from tensorflow.python.keras import activations
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\activations\__init__.py", line 22, in <module>
from tensorflow.python.keras._impl.keras.activations import elu
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\_impl\keras\__init__.py", line 21, in <module>
from tensorflow.python.keras._impl.keras import activations
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\_impl\keras\activations.py", line 23, in <module>
from tensorflow.python.keras._impl.keras import backend as K
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\_impl\keras\backend.py", line 38, in <module>
from tensorflow.python.layers import base as tf_base_layers
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\layers\base.py", line 25, in <module>
from tensorflow.python.keras.engine import base_layer
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\engine\__init__.py", line 21, in <module>
from tensorflow.python.keras.engine.base_layer import InputSpec
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\engine\base_layer.py", line 33, in <module>
from tensorflow.python.keras import backend
File "C:\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\keras\backend\__init__.py", line 22, in <module>
from tensorflow.python.keras._impl.keras.backend import abs
ImportError: cannot import name 'abs'
(tensorflow) C:\Users\ice305\tensorflow\models\research\object_detection>
Je ne comprends pas ce que 'abs' est. S'il vous plaît aider
Cela a fonctionné pour moi dans Ubuntu 18.0.4
pip uninstall tensorflow protobuf --yes
find $CONDA_PREFIX -name "tensorflow" | xargs -Ipkg rm -rfv pkg
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.9.0-cp36-cp36m-linux_x86_64.whl --no-cache-dir
Solution trouvée à partir de GitHub: ImportError: impossible d'importer le nom 'abs' # 20778 .
OS: Ubuntu 18.04.1
Python Version 3.6
Solution :
Tensorflow désinstallé 1.10
python3 -m pip uninstall tensorflow
Ré-installé à nouveau
python3 -m pip install tensorflow==1.8.0
Ce problème est dû aux anciennes versions des dépendances tensorflow, telles que protobuff et autres, installées lors de l'installation de tensorflow. Si vous voulez utiliser tensorflow 1.10, vous devez donc désinstaller les dépendances ou les mettre à niveau.
Si vous voulez installer 1.10.1, vous devez supprimer ces paquets
absl-py
astor
gast
grpcio
markdown
numpy
protobuf
setuptools
six
tensorboard
tensorflow
termcolor
werkzeug
wheel
protobuf
puis faites Sudo python3 -m pip uninstall tensorflow
Dans le cas où un tensorflow est installé dans l'utilisateur root, installez-le ensuite à l'aide de python3 -m pip install tensorflow --user --no-cache
SI vous rencontrez toujours ce problème, alors répétez toutes les étapes ci-dessus et faites find ~/ -name tensorflow
et supprimez tous les dossiers qui apparaissent et relancez l'installation.
Cela semble poser un problème si une installation antérieure de tensorflow est disponible. Ces étapes semblent résoudre le problème.
1) désinstallation de tensorflow 2) désinstallation de protobuf 3) réinstallation de tensorflow (qui doit accompagner la version correcte de protobuf.
Aussi besoin d'aller à
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\Lib\site-packages
et supprimer tous les dossiers liés à tensorflow
Source: https://github.com/tensorflow/tensorflow/issues/20778
J'ai rencontré les mêmes messages d'erreur en essayant le didacticiel seq2seq. J'ai utilisé tensorflow-cpu, python3.6, Anaconda3 et Ubuntu16.04.
Le problème était que le chemin de tensorflow n’était pas variable sur mon PC . Je ne pouvais pas importer tensorflow, bien que je puisse le faire quelques heures plus tôt .Essayez "d'importer tensorflow" sur python interactive Shell. Si vous ne pouvez pas l'importer, votre problème sera le même que le mien.
Pour résoudre ce problème, il fallait tout supprimer du tensorflow sur votre ordinateur et les réinstaller.
Au fait, 'abs' est une fonction définie dans le fichier suivant: ~/anaconda3/envs/tensorflow/lib/python3.6/site\- packages/tensorflow/python/keras/_impl/keras/backend. py
Et après avoir réinstallé tensorflow, je ne sais pas pourquoi, le répertoire "_impl" a disparu.
La solution suggérée sur le lien suivant a fonctionné pour moi
https://github.com/tensorflow/tensorflow/issues/20778#issuecomment-410962482
The full solution to this issue is to clean up all TF installation files from your system. Here is how to do that. Run the following first:
$ pyhthon
> import tensorflow as tf
> tf.__file__
'path/to/your/python/installation/site-packages/tensorflow/__init__.pyc'
From the above command, you need to go and remove the folder
path/to/your/python/installation/site-packages/tensorflow
Finally, you need to run
$ pip uninstall tensorflow # Also add -gpu if you installed the GPU version
$ pip install tensorflow # Also add -gpu if you installed the GPU version
Then it should work.
Si vous utilisez Win10 + cuda_10.0 + cuDNNv7.4.2.24, suivez ceci pour vous aider