bdaiinstitute / vlfm

The repository provides code associated with the paper VLFM: Vision-Language Frontier Maps for Zero-Shot Semantic Navigation (ICRA 2024)
http://naoki.io/portfolio/vlfm.html
MIT License
247 stars 26 forks source link

Python version #32

Closed finnBsch closed 5 months ago

finnBsch commented 5 months ago

Hi, Amazing work! Trying to reproduce it but running into issues during set up.

The pyproject states that python 3.10 is required, but the conda set up in the readme is configured with 3.9, leading to conflicts. I tried resolving this by changing the conda environment to 3.10, however that does not seem to be compatible with habitat-sim, which seems to need python 3.9? Could you let me know what the best way to resolve this is?

Thanks!

naokiyokoyama commented 5 months ago

It seems like the pyproject.toml was accidentally edited to use Python 3.10 in accordance with the norm at the AI Institute. Python 3.9 should be used; I will update the .toml, thank you!

wsakobe commented 5 months ago

Dear @naokiyokoyama Hi, i would like to know if the pyproject.toml file has been corrected.

finnBsch commented 5 months ago

It has not been corrected. Here's a corrected version.

# Copyright [2023] Boston Dynamics AI Institute, Inc.

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "vlfm"
version = "0.1"
description = "Vision-Language Frontier Maps"
authors = [
    {name = "Naoki Yokoyama", email = "nyokoyama@theaiinstitute.com"},
]
readme = "README.md"
requires-python = ">=3.9"
dependencies = [
    "torch >= 1.10.1",
    "numpy >= 1.22.4",
    "flask >= 2.3.2",
    "seaborn >= 0.12.2",  # required by yolov7
    "open3d >= 0.17.0",
    "transformers == 4.26.0",  # higher versions than 4.26.0 "break" BLIP-2 in LAVIS
    "salesforce-lavis >= 1.0.2",  # for BLIP-2
    "frontier_exploration @ git+https://github.com/naokiyokoyama/frontier_exploration.git",
    "mobile_sam @ git+https://github.com/ChaoningZhang/MobileSAM.git",
    "depth_camera_filtering @ git+https://github.com/naokiyokoyama/depth_camera_filtering",
    "groundingdino @ git+https://github.com/IDEA-Research/GroundingDINO.git",
]

[project.optional-dependencies]
dev = [
    "pre-commit >= 3.1.1",
    "pytest >= 7.2.1",
    "pytest-cov >= 4.0.0",
]
habitat = [
    "habitat-sim @ git+https://github.com/facebookresearch/habitat-sim.git@v0.2.4",
    "habitat-baselines == 0.2.420230405",
    "habitat-lab == 0.2.420230405",
]
reality = [
    "spot_wrapper @ git+https://github.com/naokiyokoyama/bd_spot_wrapper.git",
    "bosdyn-client >= 3.3.2",
    "bosdyn-api >= 3.3.2",
    "six >= 1.16.0",
]

[project.urls]
"Homepage" = "theaiinstitute.com"
"GitHub" = "https://github.com/bdaiinstitute/vlfm"

[tool.setuptools.packages.find]
where = ["vlfm"]

[tool.ruff]
# Enable pycodestyle (`E`), Pyflakes (`F`), and import sorting (`I`)
select = ["E", "F", "I"]
ignore = []

# Allow autofix for all enabled rules (when `--fix`) is provided.
fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"]
unfixable = []

# Exclude a variety of commonly ignored directories.
exclude = [
    ".bzr",
    ".direnv",
    ".eggs",
    ".git",
    ".hg",
    ".mypy_cache",
    ".nox",
    ".pants.d",
    ".pytype",
    ".ruff_cache",
    ".svn",
    ".tox",
    ".venv",
    "__pypackages__",
    "_build",
    "buck-out",
    "build",
    "dist",
    "node_modules",
    "venv",
    "docker/ros",
]

# Same as Black.
line-length = 120

# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

# Assume Python 3.10
target-version = "py39"

[tool.ruff.per-file-ignores]
"__init__.py" = ["F401"]

[tool.ruff.mccabe]
# Unlike Flake8, default to a complexity level of 10.
max-complexity = 10

[tool.black]
line-length = 120
target-version = ['py310']
include = '\.pyi?$'
# `extend-exclude` is not honored when `black` is passed a file path explicitly,
# as is typical when `black` is invoked via `pre-commit`.
force-exclude = '''
/(
  docker/ros/.*
)/
'''

preview = true

[tool.coverage.run]
relative_files = true

# mypy configuration
[tool.mypy]
python_version = "3.10"
disallow_untyped_defs = true
ignore_missing_imports = true
explicit_package_bases = true
check_untyped_defs = true
strict_equality = true
warn_unreachable = true
warn_redundant_casts = true
no_implicit_optional = true
files = ['vlfm','test','scripts']
exclude = "^(docker|.*external|.*thirdparty|.*install|.*build|.*_experimental|.*_pb2.py|.*_pb2_grpc.py)"
wsakobe commented 5 months ago

@finnBsch Thanks a lot!

PEACHTTT commented 5 months ago

@finnBsch I noticed that in [tool.mypy],the version of py is still 3.10, is that correct ?Or it should be 3.9 as well? Thanks for your replyiing

wsakobe commented 5 months ago

@finnBsch I noticed that in [tool.mypy],the version of py is still 3.10, is that correct ?Or it should be 3.9 as well? Thanks for your replyiing

I just replaced all the 3.10 versions with 3.9 in 'pyproject.toml' and passed the compiler.

PEACHTTT commented 4 months ago

Hi,I wonder if you met the error below, my datasets' path is /home/name/vlfm/objectnav/hm3d/v1/val

图片

finnBsch commented 4 months ago

Should be in /home/name/vlfm/data/datasets/objectnav/hm3d/v1/val I think

PEACHTTT commented 4 months ago

Sorrry,/home/tcy/vlfm/data/datasets/objectnav/hm3d/v1/val is my datasets path, but this error is still exists. The config file's path is /home/tcy/anaconda3/envs/vlfm/lib/python3.9/site-packages/habitat/config/habitat/dataset/objectnav/hm3d.yaml in which ... I'm confused 图片