sepr88 / CarND-Capstone

Final Udacity project
1 stars 0 forks source link

Testen des Projektes #24

Closed mt0726haw closed 5 years ago

mt0726haw commented 5 years ago

Jeder sollte bei sich Testen, ob das Projekt sich kompilieren lässt und funktioniert

ei8852 commented 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

mt0726haw commented 5 years ago

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

mt0726haw commented 5 years ago

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/

SUMMARY

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

sepr88 commented 5 years ago

chmod -R +x ./src

see https://knowledge.udacity.com/questions/36983

mt0726haw commented 5 years ago

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

ei8852 commented 5 years ago

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

mt0726haw commented 5 years ago

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

ei8852 commented 5 years ago

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.

sepr88 commented 5 years ago

@ei8852 Wieviel Arbeit war das manuelle Entfernen?

ei8852 commented 5 years ago

1 Minute. Es waren nur 6 Zeilen Code die entfernt werden müssen.

sepr88 commented 5 years ago

@mt0726haw @ei8852 Funktioniert der Simulator jetzt bei euch beiden?

ei8852 commented 5 years ago

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?

mt0726haw commented 5 years ago

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.

sepr88 commented 5 years ago

@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

ei8852 commented 5 years ago

Erledigt.

sepr88 commented 5 years ago

@ei8852 @mt0726haw Hab deinen Branch getestet und die Änderungen mit in origin/#27-relative-paths übernommen.