运行配置--ICCV23开源 | 兼具泛化性与绝对尺度的单目深度估计!

标题:Towards Zero-Shot Scale-Aware Monocular Depth Estimation

作者:Vitor Guizilini, Igor Vasiljevic, Dian Chen, Rares Ambrus, Adrien Gaidon

机构:丰田研究所 (TRI)

原文链接:https://arxiv.org/abs/2306.17253

代码链接:https://github.com/tri-ml/vidar

官方主页:https://sites.google.com/t...

一、获取代码:

git clone --recurse-submodules https://github.com/TRI-ML/vidar.git
cd vidar

二、build,这里没有docker会报错,未报错的 跳过这一步骤即可:

make docker-build 
#检查docker版本
docker --version

#安装docker
sudo apt update
sudo apt install docker.io

#启动Docker服务并使其在启动时自动运行
sudo systemctl start docker
sudo systemctl enable docker

尝试重新构建:make docker-build ,可能会开始构建docker镜像。

三、运行脚本:

make docker-interactive

如果报错,尝试修改cuda镜像:寻找合适的cuda镜像 ,(我的cuda为11.6)

#查询gpu相关信息,查询cuda信息
nvidia-smi

 复制选择的镜像的命令:

#拉取镜像
docker pull nvidia/cuda:11.6.1-base-ubuntu20.04

#测试
docker run --rm --gpus all nvidia/cuda:11.6.1-base-ubuntu20.04 nvidia-smi

 依然报错,要正确安装nvidia docker支持:安装nvidia docker支持 ,重启docker 

#重启docker
sudo systemctl restart docker

#测试nvidia docker是否工作正常
docker run --rm --gpus all nvidia/cuda:11.6.1-base nvidia-smi

四、验证环境是否设置正确,可以运行简单的过拟合测试:

# Download a tiny subset of KITTI
mkdir /data/datasets 
curl -s https://tri-ml-public.s3.amazonaws.com/github/vidar/datasets/KITTI_tiny.tar | tar xv -C /data/datasets/

# Inside docker
python scripts/launch.py configs/overfit/kitti/selfsup_resnet18.yaml
运行报错:   
    Traceback (most recent call last):
      File "scripts/launch.py", line 8, in <module>
        from vidar.core.trainer import Trainer
      File "/workspace/vidar_release/vidar/core/trainer.py", line 10, in <module>
        from vidar.core.logger import WandbLogger
      File "/workspace/vidar_release/vidar/core/logger.py", line 14, in <module>
        from vidar.utils.viz import viz_depth, viz_inv_depth, viz_normals, viz_optical_flow, viz_camera
      File "/workspace/vidar_release/vidar/utils/viz.py", line 9, in <module>
        from vidar.utils.depth import depth2inv
      File "/workspace/vidar_release/vidar/utils/depth.py", line 7, in <module>
        from vidar.geometry.camera import Camera
      File "/workspace/vidar_release/vidar/geometry/camera.py", line 3, in <module>
        from vidar.geometry.cameras.pinhole import CameraPinhole
      File "/workspace/vidar_release/vidar/geometry/cameras/pinhole.py", line 4, in <module>
        from torch_scatter import scatter_min
      File "/usr/local/lib/python3.8/dist-packages/torch_scatter/__init__.py", line 16, in <module>
        torch.ops.load_library(spec.origin)
      File "/usr/local/lib/python3.8/dist-packages/torch/_ops.py", line 933, in load_library
        ctypes.CDLL(path)
      File "/usr/lib/python3.8/ctypes/__init__.py", line 373, in __init__
        self._handle = _dlopen(self._name, mode)
    OSError: /usr/local/lib/python3.8/dist-packages/torch_scatter/_version_cuda.so: undefined symbol: _ZN3c1017RegisterOperatorsD1Ev

检查环境兼容性

确保您的PyTorch版本和torch_scatter版本是兼容的。在Dockerfile中设置的PyTorch版本为1.12.1(对应CUDA 11.3),而安装的是torch_scatter==2.0.9。您需要查看torch_scatter的文档或其GitHub仓库,确定这个版本是否与PyTorch版本兼容。

 重新安装torch_scatter

pip uninstall torch_scatter
pip install torch_scatter

发现环境适配的torch-scatter版本是2.1.2

修改docker/Dockerfile文件

我这边即使修改版本后也会报错,仍需重新执行重新安装部分。

之后就正常了。

附链接:

pytorch,torchvision与python版本对应关系及安装命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值