[hydra] python binding

About_work·2024년 11월 1일
0

lifelong scene graph

목록 보기
54/56

1. 설치 방법

  1. Hydra가 catkin을 통해 정상적으로 빌드되는지 확인합니다.
  1. 가상 환경을 만듭니다 (venv 또는 원하는 도구를 사용할 수 있습니다):
mkdir /path/to/environment
cd /path/to/environment
python3 -m virtualenv -p /usr/bin/python3 --download hydra  # 또는 원하는 환경 이름으로 설정
  • virtualenv -p python3.9 test 와 같이 나는 보통 했었음
  • python3 -m virtualenv -p /usr/bin/python3 --download hydra 명령어는 가상환경을 새로 만드는 명령어가 맞아.
  • 여기서 정확한 작동 방식은 다음과 같아:
    • python3 -m virtualenv: python3에서 virtualenv 모듈을 실행하여 가상환경을 만든다.
    • -p /usr/bin/python3: 이 가상환경에서 사용할 Python 해석기를 /usr/bin/python3으로 지정한다.
    • --download: Python 인터프리터를 찾을 수 없을 때만 필요한 파일을 다운로드하여 Python을 설치하려고 시도한다. (여기서는 필요하지 않음)
  • 이 명령어는 /usr/bin/python3을 사용해 hydra라는 이름의 가상환경을 새로 만드는 명령어야.
  1. Python 패키지를 설치합니다 (참고: 비편집 가능한 버전으로 설치됩니다):
source /path/to/hydra/environment/bin/activate

# DSG Python 바인딩을 노출하기 위해 필요
pip install "/path/to/catkin_ws/src/spark_dsg[viz]"  # 편집 가능한 버전으로 설치할 수도 있습니다
pip install -r python/build_requirements.txt
pip install .

편집 가능한 버전으로 설치하려면 다음과 같이 수행합니다:

source /path/to/hydra/environment/bin/activate
pip install "/path/to/catkin_ws/src/spark_dsg[viz]"  # 편집 가능한 버전으로 설치할 수도 있습니다
pip install -r python/build_requirements.txt
pip install git+https://github.com/ros/catkin.git@noetic-devel
pip install -e .

보충 설명

1. pip install "/path/to/catkin_ws/src/spark_dsg[viz]"

  • 역할: spark_dsg라는 이름의 패키지를 설치하는 명령어야.
  • 구체적으로 하는 일:
    • /path/to/catkin_ws/src/spark_dsg는 이 패키지가 위치한 경로를 나타내.
      • 이 경로를 지정해서, 로컬에 있는 패키지를 설치하는 거야.
    • [viz] 부분은 spark_dsg에서 선택적으로 설치할 수 있는 시각화 기능(viz)을 함께 설치하겠다는 뜻이야.
  • 결과: spark_dsg 패키지가 가상환경에 설치되면서 시각화 관련 도구도 같이 설치돼.

2. pip install -r python/build_requirements.txt

3. pip install git+https://github.com/ros/catkin.git@noetic-devel

  • 역할: GitHub에 있는 catkin 패키지를 설치하는 명령어야.
  • 구체적으로 하는 일:
    • git+https://... 형식을 사용해 GitHub에 직접 접근해서 해당 패키지를 불러와 설치해.
    • @noetic-devel 부분은 설치할 브랜치를 지정하는 거야. 여기서는 noetic-devel 브랜치의 최신 코드를 설치하는 거지.
  • 결과: catkin이라는 ROS 빌드 도구가 설치되며, 이 프로젝트에서 최신 버전의 catkin 기능을 사용할 수 있어.

4. pip install -e .

  • 역할: 현재 폴더(.)에 있는 프로젝트를 편집 가능한(editable) 모드로 설치하는 명령어야.
  • 구체적으로 하는 일:
    • -e 옵션은 편집 가능한 설치를 의미해.
    • 즉, 이 프로젝트 폴더 안의 파일을 수정하면 설치된 내용도 자동으로 업데이트돼.
    • 이렇게 하면, 소스 코드를 수정할 때마다 다시 설치할 필요 없이 바로 수정한 내용이 반영되기 때문에 개발하는 데 편리해.
  • 결과: 이 명령어를 통해 hydra 프로젝트가 편집 가능한 상태로 설치돼, 이후 코드 수정 사항이 즉시 반영될 수 있어.

이 과정을 통해 필요한 패키지와 도구가 모두 준비돼서 hydra 프로젝트를 개발하고 실행할 수 있는 환경이 완성돼!

2. Habitat 설정

conda를 통해 Habitat을 설정합니다.

Nathan을 위한 사항: LXC에서는 EGL 구성이 필요합니다. usr/share/glvnd/egl_vendor.d/10_nvidia.json 파일을 만들어 아래 내용을 추가합니다 (참고: 여기):

{
    "file_format_version" : "1.0.0",
    "ICD" : {
        "library_path" : "libEGL_nvidia.so.0"
    }
}

3. Habitat 실행

mp3d가 시스템에 설치되어 있다면, 가상 환경을 소스한 후:

hydra habitat run /path/to/habitat/mp3d/17DRP5sb8fy/17DRP5sb8fy.glb

open3d 시각화 도구를 활성화하려면:

hydra habitat run /path/to/habitat/mp3d/17DRP5sb8fy/17DRP5sb8fy.glb -v

그리고 다른 터미널에서 다음을 실행합니다:

hydra visualize

알려진 문제로, habitat과 open3d 시각화 도구가 서로 호환되지 않는 경우가 있습니다 (habitat을 실행하는 프로세스의 자식 프로세스로 open3d 시각화 도구를 실행할 경우 발생할 수 있습니다).

profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글