Seite 1 von 1

Tensorflow import Fehler

Verfasst: Mittwoch 6. November 2019, 19:05
von fgm
Hallo,

ich versuche gerade, Tensorflow und Keras unter Ubuntu 18.04 zu installieren.
Beim ersten Versuch wurde die Bibliothek bei

Code: Alles auswählen

import tensorflow as tf
nicht gefunden. Dann habe ich pip und pip3 ge-updated und tensorflow
nochmal installiert und ach ge-updated.
Die Installation hatte die Rückmeldung, dass tensorflow erfolgreich installiert wurde.
Auch tensorflow-gpu habe ich (danach) installiert.

Aber: bei dem einfachen Skript:

Code: Alles auswählen

import tensorflow as tf
mit python3 kommt die Fehlermeldung:
Ungültiger Maschinenbefehl (Speicherabzug geschrieben)
Wie kann ich mehr Informationen über das Problem bekommen?
Gibt es irgendwelche Logs, wo die exakteren Fehlertexte oder Zeilen-Nummern stehen?

Ich habe CUDA unter python ans LAufen bekommen, auch Theano läuft mit gpu,
insofern sollte es kein Grundproblem mit alten NVIDIA-Treibern o.ä. sein.

Danke für jeden informativen Tip!

Re: Tensorflow import Fehler

Verfasst: Mittwoch 6. November 2019, 21:29
von ThomasL
Du hast dich hier umfänglich eingelesen und informiert? https://www.tensorflow.org/install

Re: Tensorflow import Fehler

Verfasst: Mittwoch 6. November 2019, 23:23
von fgm
Ja.

Re: Tensorflow import Fehler

Verfasst: Donnerstag 7. November 2019, 12:23
von Felix92
Huhu fgm,
du solltest bevor du tensorflow-gpu 2.0 installierst sämtliche veralteten tensorflow/keras Installationen entfernen.
Am einfachsten funktioniert die Installation mit Anaconda dort musst du nichtmal CUDA extra installieren.
also alles was mit Keras/Tensorflow zu tun hat einmal runterhauen und dann pip install tensorflow-gpu
oder selbiges in conda.
Ich hatte das selbe Problem danach lief es.
MfG Felix

PS: seit tensorflow 2.0 musst du keras nicht mehr extra installieren bzw. darfst das auch nicht sonst läuft es nicht.
Die imports sehen dann so aus: Bsp.: from tensorflow.keras.models import load_model (siehe https://www.tensorflow.org/api_docs/pyt ... eras/Input)

Re: Tensorflow import Fehler

Verfasst: Donnerstag 7. November 2019, 22:55
von fgm
Vielen Dank!
Ich habe es probiert:

Code: Alles auswählen

sudo pip uninstall protobuf
sudo pip uninstall tensorflow
sudo pip uninstall tensorflow-gpu
sudo pip uninstall keras
und auch

Code: Alles auswählen

sudo pip3 uninstall protobuf
sudo pip3 uninstall tensorflow
sudo pip3 uninstall tensorflow-gpu
sudo pip3 uninstall keras
Dann

Code: Alles auswählen

pip install tensorflow-gpu
Klappt leider nicht, ein bisschen seltsame Fehler gibt es bei
verschiedenen Usern;:
Als Administrator bekommen ich mit Deinem import-Befehl wieder
den ungültigen Maschinenbefehl,
als normaler User den Fehler
ImportError: No module named tensorflow.keras.models

Re: Tensorflow import Fehler

Verfasst: Freitag 8. November 2019, 08:23
von Felix92
Hast du mal probiert ob er import tensorflow erkennt und wenn ja lass dir mal die Version printen.
Ansonsten wäre Anaconda echt zu empfehlen :)

Re: Tensorflow import Fehler

Verfasst: Freitag 8. November 2019, 09:56
von Felix92
Mir ist gerade noch aufgefallen das es from tensorflow.keras.model und nicht models ist. Sry dafür ^^

Re: Tensorflow import Fehler

Verfasst: Sonntag 10. November 2019, 13:43
von fgm
import tensorflow gibt auch "No module named tensorflow"

Hast Du es bei Dir auch ohne Anaconda hinbekommen?
Oder war das schon installiert?

Re: Tensorflow import Fehler

Verfasst: Montag 11. November 2019, 09:54
von Felix92
Ich habe es bisher noch nicht ohne Conda probiert, da ich Anaconda allgemein in Kombination mit VSCode sehr angenehm finde :)

Re: Tensorflow import Fehler

Verfasst: Montag 11. November 2019, 23:28
von fgm
Ich habe also Anaconda installiert und damit auch tensorflow ohne auch nur einen Fehler ans Laufen bekommen.
Mit manchen Tutorial-Skripten gibt es noch Startschwierigkeiten (dass z.B. bestimmte Variablen, wie tf.Session o.a.)
nicht gefunden werden, aber das ist ein anderes Thema.

Nebenbei: Anaconda lässt sich auch als ein Nicht-Admin-User installieren (so haben ich es gemacht),
das war mir vorher nicht klar.

Vielen Dank Felix, für Deine Hilfe!

Re: Tensorflow import Fehler

Verfasst: Dienstag 12. November 2019, 08:16
von Felix92
Huhu fgm,
super das es geklappt hat :)
PS: Der Großteil der Tutorials ist denke noch Out of Date durch TF 2.0 am besten bei solchen Fehlern in die Doku schauen wo das jetzt liegt
MfG Felix

Re: Tensorflow import Fehler

Verfasst: Sonntag 21. Juni 2020, 07:41
von juergB69
Ich habe keine Antwort, nur das gleiche Problem, aber mit OpenSuSE leap 15.1.
Stand der Dinge: Unter Leap 15.1 ist standardmässig python 2.7.17 und python3 version 3.6.10 installiert.
pip ist version 20.1.1 from /usr/lib/python3.6/site-packages/pip (python 3.6)
Ich habe auch anaconda versucht. Dieses kam mit python 3.7. Allerdings wieder deinstalliert, weil gleiches Problem und vielleicht noch andere Konflikte mit python3.
Tensorflow habe ich mit "pip uninstall" deinstalliert und danach neu installiert. Lief glatt durch, bis auf grpcio welches anscheinend auf version 1.23.0 war aber für tensorflow auf 1.24.3 sein sollte. mit "pip install --upgrade" habe ich dies korrigiert. Die aktuelle Version ist nun 1.29.0! allerdings bleibt der Fehler hartnäckig. Als user erhalte ich "Ungültiger Maschinenbefehl (Speicherabzug geschrieben)" oder als root : "Illegal instruction (core dumped)"!
Schön, irgendwohin ist also ein core dump geschrieben worden. Leider habe ich noch nicht gefunden wohin und ein dump von einem komplett fremden Programm ist auch nur ausnahmsweise zu verstehen! Wo kommt also der illegale Maschinenbefehl her?
Anmerkung: Versuchsweise, auch wenn es mir nicht gefällt, habe ich python auch auf dem Windows-Laptop installiert (Windows 10 pro 2004) dort funktioniert es wie es sollte!
Wo klemmt's also unter Leap 15.1?

Re: Tensorflow import Fehler

Verfasst: Sonntag 21. Juni 2020, 09:16
von Sirius3
Du hast dir irgendwelche binären Bibliotheken installiert, die nicht für deine CPU compiliert worden sind. Also musst du herausfinden, ob es eine vorcompilierte Version für deinen CPU-Typ gibt, oder selbst compilieren.