Ik heb tensorflow-versie r0.11 geïnstalleerd.
In mijn bestandsnaam cartpole.py
heb ik tensorflow
geïmporteerd:
import tensorflow as tf
en gebruik het:
tf.reset_default_graph()
Als ik mijn project in PyCharm probeer uit te voeren, krijg ik deze foutmelding:
in <module>
tf.reset_default_graph()
AttributeError: module 'tensorflow' has no attribute 'reset_default_graph'
Hoe kan ik deze fout oplossen?
Antwoord 1, autoriteit 100%
Deze functie is verouderd.
Gebruik in plaats daarvan tf.compat.v1.reset_default_graph()
.
Bijwerken
Dit is niet de enige functie die verouderd is. Bekijk dit antwoordvoor release-opmerkingen en een conversiescript.
Antwoord 2, autoriteit 48%
Normaal gesproken importeert u tensorflow
door te schrijven,
import tensorflow as tf
Het is mogelijk dat u een bestand in uw project tensorflow.py
heeft genoemd en dat de instructie import
uit dit bestand wordt geïmporteerd.
U kunt dit ook proberen,
from tensorflow.python.framework import ops
ops.reset_default_graph()
Antwoord 3, autoriteit 15%
Ik heb geprobeerd en met succes de kenmerkfout verwijderd
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D
from tensorflow.keras.layers import MaxPool2D
from tensorflow.keras.layers import Flatten
from tensorflow.keras.layers import Dense
classifier = Sequential()
Antwoord 4, autoriteit 8%
Wijzig uw import in tensorflow.keras
Bijvoorbeeld
Van keras import Sequential
naar
Van tensorflow.keras import sequentieel
Antwoord 5, autoriteit 8%
Wijzigen:
import keras.<something>.<something>
naar:
import tensorflow.keras.<something>.<something>
Waar ‘iets’ de module is die u wilt importeren
Antwoord 6, autoriteit 5%
Eigenlijk lost dit antwoordalle TF 1.x-gerelateerde problemen op.
Krijg TF 1.x-achtig gedrag in TF 2.0 door dit te gebruiken:
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
Antwoord 7, autoriteit 2%
Ik voeg deze tekst toe, zodat mensen zoals ik – die misschien oude code uit 2018 hebben, falen met de nieuwste versie van tensorflow.
Mijn situatie was dat in 2018 de gebruikte versies 1.x . waren
De laatste, vanaf het schrijven van dit bericht, is 2.x
Dus toen ik de code uitvoerde die was opgeslagen in Google Colab, mislukte het feitelijk met de fout dat de tensorflow.contrib-module niet werd gevonden
Hiervoor kun je de volgende magie doen die wordt genoemd in :
https://colab.research.google.com/notebooks /tensorflow_version.ipynb#scrollTo=NeWVBhf1VxlH
Eigenlijk in uw jupyter-notebookcel, gewoon uitvoeren in een aparte cel bovenaan
%tensorflow_version 1.x
Dit zal je tensorflow-versie veranderen naar 1.15.2 denk ik
En dan werkt je oude code nog steeds als een zonnetje 🙂
Antwoord 8
Dit kan er ook voor zorgen dat u uw code in de verkeerde omgeving uitvoert.
Ik installeer tensorflow-gpu in mijn ~/tensorflow
virtualenv.
Ik kan de python3 code.py in de env uitvoeren met source ./tensorflow/bin/activate
Maar toen ik python3 code.py in de env ~
zonder virtualenv uitvoerde, kwam ik somsmisschien bij problemen als
AttributeError: module ‘tensorflow’ heeft geen attribuut ‘reset_default_graph’
of
AttributeError: module ‘tensorflow’ heeft geen attribuut ‘Session’
en enkele anderen
Antwoord 9
In plaats van rechtstreeks uit keras te importeren
import invoer van keras.layers
Importeren uit tensorflow
import invoer uit tensorflow.keras.layers
Ik heb dit probleem twee keer gehad en het bovenstaande heeft mijn probleem opgelost
Antwoord 10
Het downloaden van de binaire versie van TensorFlow loste mijn probleem op.
$ pip install --ignore-installed --upgrade "<URL>"
Selecteer hieronder de juiste binaire URL volgens uw systeem.
https://github.com/lakshayg/tensorflow-build
Antwoord 11
Als je tf 2.0 beta gebruikt, zorg er dan voor dat al je keras-importen tensorflow.keras zijn… elke keras-import haalt het standaard keras-pakket op dat uitgaat van tensorflow 1.4.
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, InputLayer