You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today i made a submission following the instructions in the README of this repository. The ibpc_pose_estimator.py is exactly the one provided in the main branch, so it always returns an empty list.
The Dockerfile I used is this:
FROM ros:jazzy-perception AS base
SHELL [ "/bin/bash" , "-c" ]
ARG DEBIAN_FRONTEND=noninteractive
# PrerequisitesRUN apt-get update && apt-get install -y --no-install-recommends \
wget software-properties-common gnupg2 \
&& rm -rf /var/lib/apt/lists/*
# Install CUDA as early as possible to speed up future buildsRUN \
wget -q https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb && \
dpkg -i cuda-keyring_1.1-1_all.deb && \
rm cuda-keyring_1.1-1_all.deb && \
\
apt-get update && \
apt-get -y install cuda-toolkit && \
rm -rf /var/lib/apt/lists/*
WORKDIR /opt/ros/underlay
# TODO(tfoote) Add documentation of why these are requiredENV ROS_HOME=/tmp
ENV RMW_IMPLEMENTATION=rmw_zenoh_cpp
# underlay stage: base + dependencies builtFROM base AS underlay
ARG MODEL_DIR=models
ADD ibpc_interfaces /opt/ros/underlay/src/ibpc_interfaces
RUN . /opt/ros/jazzy/setup.sh \
&& apt-get update \
&& rosdep update \
&& rosdep install --from-paths src --ignore-src --rosdistro jazzy -yr \
&& colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release \
--event-handlers=console_direct+ \
--merge-install
ADD ${MODEL_DIR} /opt/ros/underlay/install/models
FROM underlay AS overlay
ARG SERVICE_PACKAGE=ibpc_pose_estimator_py
ARG SERVICE_EXECUTABLE_NAME=ibpc_pose_estimator
RUN apt-get update \
&& apt install -y ros-jazzy-rmw-zenoh-cpp \
&& rm -rf /var/lib/apt/lists/*
ADD ${SERVICE_PACKAGE} /opt/ros/overlay/src/${SERVICE_PACKAGE}
RUN . /opt/ros/jazzy/setup.sh \
&& . /opt/ros/underlay/install/setup.sh \
&& cd /opt/ros/overlay \
&& rosdep install --from-paths src --ignore-src --rosdistro jazzy -yr \
&& colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release \
--event-handlers=console_direct+ \
--merge-install
# result stage: base + copied install folders from the overlay + service setup.FROM base
ARG SERVICE_PACKAGE=ibpc_pose_estimator_py
ARG SERVICE_EXECUTABLE_NAME=ibpc_pose_estimator
RUN apt update \
&& sudo apt install curl -y \
&& curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2-testing/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
RUN apt-get update \
&& apt install -y ros-jazzy-rmw-zenoh-cpp python3-imageio python3-png python3-pip python3-scipy \
&& rm -rf /var/lib/apt/lists/*
COPY --from=overlay /opt/ros/underlay/install /opt/ros/underlay/install
COPY --from=overlay /opt/ros/overlay/install /opt/ros/overlay/install
RUN sed --in-place \
--expression '$isource "/opt/ros/overlay/install/setup.bash"' \
/ros_entrypoint.sh
# Install python dependenciesRUN apt-get update
RUN python3 -m pip install pyyaml numpy torch --break-system-packages
ENV SERVICE_PACKAGE=${SERVICE_PACKAGE}
ENV SERVICE_EXECUTABLE_NAME=${SERVICE_EXECUTABLE_NAME}
ENV MODEL_DIR=/opt/ros/underlay/install/models
CMD exec /opt/ros/overlay/install/lib/${SERVICE_PACKAGE}/${SERVICE_EXECUTABLE_NAME} \
--ros-args -p model_dir:=${MODEL_DIR}
The only things I changed are:
added the cuda installation (as suggested in the README)
installed pyyaml, numpy and torch
I followed the instructions to build and test the image:
I used docker buildx build -t myimage --file ./Dockerfile.estimator --build-arg="MODEL_DIR=models" . to build the image
I used bpc test myimage ipd to run the image
Locally the image runs correctly.
After I pushed the image, the submission failed.
The stdout file is empty.
The stderr file is this:
Traceback (most recent call last):
File "/home/ubuntu/veb/EvalAI/scripts/workers/submission_worker.py", line 473, in run_submission
submission_output = EVALUATION_SCRIPTS[challenge_id].evaluate(
File "/tmp/tmptwdpc1bx/compute/challenge_data/challenge_1/main.py", line 74, in evaluate
submission_df = read_results(user_submission_file)
File "/tmp/tmptwdpc1bx/compute/challenge_data/challenge_1/main.py", line 9, in read_results
df = pd.read_csv(results_csv, dtype={"scene_id": str})
File "/home/ubuntu/.pyenv/versions/3.9.21/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 1026, in read_csv
return _read(filepath_or_buffer, kwds)
File "/home/ubuntu/.pyenv/versions/3.9.21/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 620, in _read
parser = TextFileReader(filepath_or_buffer, **kwds)
File "/home/ubuntu/.pyenv/versions/3.9.21/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 1620, in __init__
self._engine = self._make_engine(f, self.engine)
File "/home/ubuntu/.pyenv/versions/3.9.21/lib/python3.9/site-packages/pandas/io/parsers/readers.py", line 1898, in _make_engine
return mapping[engine](f, **self.options)
File "/home/ubuntu/.pyenv/versions/3.9.21/lib/python3.9/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 93, in __init__
self._reader = parsers.TextReader(src, **kwds)
File "parsers.pyx", line 581, in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file
Can the error be related to the fact that there are no predictions?
The text was updated successfully, but these errors were encountered:
Today i made a submission following the instructions in the README of this repository. The
ibpc_pose_estimator.py
is exactly the one provided in the main branch, so it always returns an empty list.The Dockerfile I used is this:
The only things I changed are:
I followed the instructions to build and test the image:
docker buildx build -t myimage --file ./Dockerfile.estimator --build-arg="MODEL_DIR=models" .
to build the imagebpc test myimage ipd
to run the imageLocally the image runs correctly.
After I pushed the image, the submission failed.
The stdout file is empty.
The stderr file is this:
Can the error be related to the fact that there are no predictions?
The text was updated successfully, but these errors were encountered: