Tensorflow import Fehler

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
fgm
User
Beiträge: 13
Registriert: Mittwoch 6. November 2019, 18:45

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!
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Du hast dich hier umfänglich eingelesen und informiert? https://www.tensorflow.org/install
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
fgm
User
Beiträge: 13
Registriert: Mittwoch 6. November 2019, 18:45

Ja.
Benutzeravatar
Felix92
User
Beiträge: 133
Registriert: Mittwoch 7. November 2018, 17:57

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)
fgm
User
Beiträge: 13
Registriert: Mittwoch 6. November 2019, 18:45

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
Benutzeravatar
Felix92
User
Beiträge: 133
Registriert: Mittwoch 7. November 2018, 17:57

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 :)
Benutzeravatar
Felix92
User
Beiträge: 133
Registriert: Mittwoch 7. November 2018, 17:57

Mir ist gerade noch aufgefallen das es from tensorflow.keras.model und nicht models ist. Sry dafür ^^
fgm
User
Beiträge: 13
Registriert: Mittwoch 6. November 2019, 18:45

import tensorflow gibt auch "No module named tensorflow"

Hast Du es bei Dir auch ohne Anaconda hinbekommen?
Oder war das schon installiert?
Benutzeravatar
Felix92
User
Beiträge: 133
Registriert: Mittwoch 7. November 2018, 17:57

Ich habe es bisher noch nicht ohne Conda probiert, da ich Anaconda allgemein in Kombination mit VSCode sehr angenehm finde :)
fgm
User
Beiträge: 13
Registriert: Mittwoch 6. November 2019, 18:45

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!
Benutzeravatar
Felix92
User
Beiträge: 133
Registriert: Mittwoch 7. November 2018, 17:57

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
juergB69
User
Beiträge: 1
Registriert: Sonntag 21. Juni 2020, 07:12

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?
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

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.
Antworten