ImportError: kan naam ‘abs’ niet importeren

Ik heb een probleem bij het detecteren van objecten met behulp van tensorflow-gpu

Ik volgde de YouTube-tutorials
:https://www.youtube.com/watch?v=Rgpfk6eYxJA

Ik probeer een object te detecteren met behulp van tensorflow-gpu met een virtuele omgeving.

Ik heb python, cuda, tensorflow toegevoegd aan systeemomgevingsvariabelen, en ook gedaan
maak trainingsmodellen met labels.

Ik heb xml-labels geconverteerd naar csv met xml_to_csv.py.

Het probleem is dat wanneer ik tfrecord probeer te genereren met behulp van generation_tfrecord.py, die fout verschijnt. Help alstublieft

Hier is de 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>

Ik begrijp niet wat ‘abs’ is. Help alstublieft


Antwoord 1, autoriteit 100%

Dit werkte voor mij in 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

Oplossing gevonden van Github: Importerror: kan geen naam ‘ABS’ # 20778 importeren.


Antwoord 2, Autoriteit 50%

  • bewerken:

Maak een virtuele ENV en installeer TF-GPU, het is sneller en veiliger.

  • Origineel antwoord:

OS: ubuntu 18.04.1

Python versie 3.6

Oplossing:

Verwijderde TensorFlow 1.10

python3 -m pip uninstall tensorflow

opnieuw opnieuw geïnstalleerd

python3 -m pip install tensorflow==1.8.0

Dit probleem is veroorzaakt Oorzaak van oudere versies van Tensorflow-afhankelijkheden zoals protobuff en anderen die worden geïnstalleerd tijdens de installatie van Tensorflow, dus als u TensorFlow 1.10 wilt gebruiken, moet u de rest van de afhankelijkheden verwijderen of upgraden.

Als u 1.10.1 wilt installeren, moet u deze pakketten

verwijderen

absl-py
astor
gast 
grpcio 
markdown 
numpy 
protobuf 
setuptools 
six 
tensorboard 
tensorflow 
termcolor 
werkzeug 
wheel
protobuf

Doe dan sudo python3 -m pip uninstall tensorflow
In het geval dat een Tensorflow is geïnstalleerd in de root-gebruiker, installeer deze dan met
python3 -m pip install tensorflow --user --no-cache

Als u nog steeds geconfronteerd wordt met dit probleem, herhaal dan alle bovenstaande stappen en doen
find ~/ -name tensorflowen verwijder elke map die verschijnt en de installatie opnieuw probeert.


Antwoord 3, Autoriteit 27%

Het lijkt een probleem te zijn als er een eerdere installatie van Tensorflow beschikbaar is. Deze stappen lijken het probleem op te lossen.

1) tensorflow verwijderen
2) protobuf verwijderen
3) het opnieuw installeren van tensorflow (die samen met de juiste protobuf-versie zou moeten komen.

Moet ook naar

. gaan

C:\Program Files (x86)\Microsoft Visual Studio\Shared\Anaconda3_64\Lib\site-packages

en verwijder alle tensorflow-gerelateerde mappen

Bron: https://github.com/tensorflow/tensorflow/issues/20778


Antwoord 4, autoriteit 5%

Voorgestelde oplossing op de volgende link werkte voor mij

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.

Antwoord 5, autoriteit 5%

Als je Win10+cuda_10.0+cuDNNv7.4.2.24 gebruikt, volg dan dit zal je helpen!

  1. verwijder alle tensorflow en keras gerelateerd.
  2. verwijder alle protobuf-gerelateerde.
  3. verwijder tensorflow, keras, protobuf-gerelateerde vouwen in uw ‘Anaconda3_install_path’\Lib\site-packages, bijvoorbeeld E:\ProgramData\Anaconda3\Lib\site-packages.
  4. Installeer TensorFlow en Keras lieten hieronder in beeld.

Antwoord 6, Autoriteit 5%

Meestal deze problemen afkomstig van de abnormale actie van PIP (Python Package Manager)

In mijn geval, een van mijn pakket met de naam protobufheeft een probleem om te worden verwijderd door de opdracht PIP-Uninstall te gebruiken. Dus ik deed het handmatig en kon ik Tensorflow op de juiste manier gebruiken.

Ik hoop dat dit iemand helpt.


Antwoord 7

Ik heb dezelfde foutmeldingen tegengekomen tijdens het proberen van SEQ2SEQ-tutorial. Ik gebruikte TensorFlow-CPU, Python3.6, Anaconda3 en Ubuntu16.04.

Het probleem was dat het pad van Tensorflow niet variabel was op mijn pc.
Ik kon Tensorflow niet importeren, hoewel ik een paar uur eerder zou kunnen.
Probeer “Tensorflow” op Python Interactive Shell. Als u het niet kunt importeren, zou uw probleem hetzelfde zijn als de mijne.

Hoe het probleem op te lossen was alles aan het verwijderen van alles over Tensorflow op uw computer en deze opnieuw installeert.

Trouwens, ‘ABS’ is een functie die is gedefinieerd in het volgende bestand: ~ / Anaconda3 / ENVS / TENSORFLOW / LIB / PYTHON3.6 / SITE \
-Packages / Tensorflow / Python / Keras / _impl / Keras / Backend.py

en na het opnieuw installeren van Tensorflow, weet ik niet waarom, “_impl” -map is verdwenen.


Antwoord 8

Had hetzelfde probleem in Windows 10 bij het installeren met behulp van Anaconda Navigator en selecteer alle pakketten die beschikbaar zijn voor Tensorflow en Keras.

Oplossing was om op te ruimen en te installeren vanaf de opdrachtregel, met behulp van “Conda Install” alleen “GPU” -pakketten selecteren:

conda remove keras*
conda remove tensorflow*
conda remove protobuf 
pip uninstall tensorflow*
pip uninstall protobuf
conda install tensorflow-gpu
conda install keras-gpu

Antwoord 9

Dit komt omdat je een bibliotheek hebt geïnstalleerd en sommige afhankelijkheden van de tensorflow zijn gewijzigd door de geïnstalleerde bibliotheek.

voer het volgende commando uit om het probleem op te lossen

sudo pip install --upgrade tensorflow-gpu

Other episodes