Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot

文章目录

    • 环境配置
      • Python依赖
      • 数据集下载
        • 1. Mini dataset
        • 2. Full dataset
    • 运行
      • Eval
      • Visualize

项目地址:https://github.com/nv-tlabs/lift-splat-shoot
数据集下载地址:https://www.nuscenes.org/download

环境配置

Python依赖

conda create -n bev python=3.7
conda activate bev
  • 安装torch:
pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
  • 安装工具:
pip install nuscenes-devkit tensorboardX efficientnet_pytorch==0.7.0

数据集下载

1. Mini dataset

  • 下载mini即可:
    Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第1张图片
  • 解压数据集,并将根目录下的v1.0-mini改成mini:
    Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第2张图片

Map

  • 下载最新的Map expansion
    Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第3张图片
  • 解压到maps文件下:

Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第4张图片

2. Full dataset

依然是从网上下载得到,整理成如下格式,根目录为SAVE_PATH/nuscense/trainval

  • samplessweeps为所有图像的数据;
  • v1.0-trainval为所有数据集的json文件。
    Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第5张图片

运行

  • 拉取项目文件:
git clone https://github.com/nv-tlabs/lift-splat-shoot.git
  • 下载模型文件:
https://github.com/lukemelas/EfficientNet-PyTorch/releases/download/1.0/efficientnet-b0-355c32eb.pth

Eval

这里的dataroot改成你自己的路径位置,GPU如果是默认一块则为0:

python main.py eval_model_iou mini --modelf=./efficientnet-b0-355c32eb.pth --dataroot=/home/pc/Dataset/nuScenes --gpuid=0
  • 报错
    如果在模型读取时报如下错误
    Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第6张图片

  • 解决方法
    将报错位置的python代码改为:
    Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第7张图片

model.load_state_dict(torch.load(modelf), False)

即可解决。

  • 运行成功如下:

在这里插入图片描述

Visualize

和上一步配置相同:

python main.py viz_model_preds mini --modelf=./efficientnet-b0-355c32eb.pth --dataroot=/home/pc/Dataset/nuScenes --map_folder=/home/pc/Dataset/nuScenes/mini --gpuid=0
  • 报错
    如果在模型运行时报如下错误:(因为本机GPU卡编号和定义的不同导致报错)
    Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第8张图片

  • 解决方法
    将报错位置的python代码改为:
    Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第9张图片

device = torch.device('cpu') if gpuid >= 0 else torch.device(f'cuda:{gpuid}')
  • 运行成功:

Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第10张图片

Paper——基于Ubuntu18.04跑通Lift, Splat, Shoot_第11张图片

你可能感兴趣的:(Paper,ubuntu,paper)