Closed mt0726haw closed 5 years ago
Beim ausführen von roslaunch launch/styx.launch wird bei mir folgende Fehlermeldung ausgegeben. Kennt ihr das? Google Recherche empfiehlt ein Update von protobuf?
process[tl_detector-8]: started with pid [4484] Traceback (most recent call last): File "/home/workspace/CarND-Capstone_V3/CarND-Capstone/ros/src/tl_detector/tl_detector.py", line 15, in
from light_classification.tl_classifier import TLClassifier File "/home/workspace/CarND-Capstone_V3/CarND-Capstone/ros/src/tl_detector/light_classification/tl_classifier.py", line 4, in from utils import label_map_util File "/home/workspace/CarND-Capstone_V3/CarND-Capstone/ros/src/tl_detector/utils/label_map_util.py", line 21, in from protos import string_int_label_map_pb2 File "/home/workspace/CarND-Capstone_V3/CarND-Capstone/ros/src/tl_detector/protos/string_int_label_map_pb2.py", line 23, in serialized_pb=_b('\n2object_detection/protos/string_int_label_map.proto\x12\x17object_detection.protos\"G\n\x15StringIntLabelMapItem\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x05\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\"Q\n\x11StringIntLabelMap\x12<\n\x04item\x18\x01 \x03(\x0b\x32..object_detection.protos.StringIntLabelMapItem') TypeError: new() got an unexpected keyword argument 'serialized_options' [tl_detector-8] process has died [pid 4484, exit code 1, cmd /home/workspace/CarND-Capstone_V3/CarND-Capstone/ros/src/tl_detector/tl_detector.py __name:=tl_detector __log:=/root/.ros/log/1f588a70-a412-11e9-a1df-0242ac110002/tl_detector-8.log]. log file: /root/.ros/log/1f588a70-a412-11e9-a1df-0242ac110002/tl_detector-8*.log
Hi nutzt du den Udacity Workspace oder arbeitest du lokal auf deinem Rechner? Ich hatte mit der Zeile _from utils import label_maputil auch Probleme als ich aus dem Boschdataset TFRecord generieren wollte. Du musst protobuf updaten / kompilieren und dann den pfad in den Umgebungsvariablen angeben. Geht aber auch mit import sys schau mal hier =>https://askubuntu.com/questions/470982/how-to-add-a-python-module-to-syspath
kompilieren =>CHECK Roslauch => ERROR
### Fehlermeldung: [100%] Built target pure_pursuit (venv) root@bf10c2dee2c7:/home/workspace/CarND-Capstone/ros# source devel/setup.sh (venv) root@bf10c2dee2c7:/home/workspace/CarND-Capstone/ros# roslaunch launch/styx.launch ... logging to /root/.ros/log/ec252910-a416-11e9-b9c0-0242ac110002/roslaunch-bf10c2dee2c7-2423.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://bf10c2dee2c7:39055/
PARAMETERS
NODES / dbw_node (twist_controller/dbw_node.py) pure_pursuit (waypoint_follower/pure_pursuit) styx_server (styx/server.py) tl_detector (tl_detector/tl_detector.py) unity_simulator (styx/unity_simulator_launcher.sh) waypoint_loader (waypoint_loader/waypoint_loader.py) waypoint_updater (waypoint_updater/waypoint_updater.py)
auto-starting new master process[master]: started with pid [2433] ROS_MASTER_URI=http://localhost:11311
setting /run_id to ec252910-a416-11e9-b9c0-0242ac110002 process[rosout-1]: started with pid [2446] started core service [/rosout] ERROR: cannot launch node of type [styx/server.py]: can't locate node [server.py] in package [styx] ERROR: cannot launch node of type [styx/unity_simulator_launcher.sh]: can't locate node [unity_simulator_launcher.sh] in package [styx] ERROR: cannot launch node of type [twist_controller/dbw_node.py]: can't locate node [dbw_node.py] in package [twist_controller] ERROR: cannot launch node of type [waypoint_loader/waypoint_loader.py]: can't locate node [waypoint_loader.py] in package [waypoint_loader] process[pure_pursuit-6]: started with pid [2449] ERROR: cannot launch node of type [waypoint_updater/waypoint_updater.py]: can't locate node [waypoint_updater.py] in package [waypoint_updater] ERROR: cannot launch node of type [tl_detector/tl_detector.py]: can't locate node [tl_detector.py] in package [tl_detector]
Klingt für mich das irgendwas ihm fehlt. Ich check das mal bis morgen Anhang: Consolenoutput Compile_report.txt
chmod -R +x ./src
Udacity Workspace: protoc version: libprotoc 2.6.1
Es scheint an der version zu liegen. Viele haben auch das Problem https://github.com/tensorflow/models/issues/3995
Ich vermute das es auch daran liegt
Der Fehler lässt sich entweder durch ein Update der protoc version beheben oder durch ein manuelles entfernen aller "serialized_options" Attribute in src/tl_detector/protos/string_int_label_map_pb2.py
Jupp hab ich eben auch gelesen
You can either:
Bekommst du auch diesen Fehler jetzt?
TypeError: init() takes exactly 1 argument (3 given) [tl_detector-8] process has died [pid 8584, exit code 1, cmd /home/workspace/CarND-Capstone/ros/src/tl_detector/tl_detector.py __name:=tl_detector __log:=/root/.ros/log/88fe787a-a54a-11e9-a1c4-0242ac110002/tl_detector-8.log]. log file: /root/.ros/log/88fe787a-a54a-11e9-a1c4-0242ac110002/tl_detector-8*.log
Nein, den hab ich nicht bekommen. Ich hab manuell alle "serialized_options" Attribute entfernt.
Dafür habe ich einen anderen Fehler bekommen: ValueError: No op named NonMaxSuppressionV3 in defined operations.
Ursache: Der frozen_inference_graph wurde mit einer neueren Tensorflow Version generiert, als die im Udacity Workspace vorhandene Version.
Lösung: Aktualisieren der Tensorflow Version.
Jetzt läuft es bei mir, allerdings sehr langsam und ruckelig.
@ei8852 Wieviel Arbeit war das manuelle Entfernen?
1 Minute. Es waren nur 6 Zeilen Code die entfernt werden müssen.
@mt0726haw @ei8852 Funktioniert der Simulator jetzt bei euch beiden?
Sim läuft jetzt grundsätzlich. Die Workspace Performance ist aber anscheinend nicht ausreichend für eine funktionierende TL Erkennung. Das liest man auch mehrmals in Knowledge.
@sepr88 Soll ich die "serialized_options" Attribute noch entfernen? Ich vermute, dass die Udacity Testumgebung die gleichen Fehler werfen wird, da dort die gleichen packages wie im Workspace installiert sein werden. Welche Tensorflow Version hast du auf deiner VM?
Bei mir läufts jetzt auch. Aber ist das gleiche wie bei Christoph. Ich glaub auch das die Testumgebung von Udacity die gleichen Fehler werfen wird.
@ei8852 ja, bitte zum Testen auf neuem Branch die Attribute mal enfternen. Am besten du branchst gleich von origin/#27-relative-paths ab, dann kann ich leichter mergen.
tensorflow: 1.12.0
Erledigt.
@ei8852 @mt0726haw Hab deinen Branch getestet und die Änderungen mit in origin/#27-relative-paths übernommen.
Jeder sollte bei sich Testen, ob das Projekt sich kompilieren lässt und funktioniert