(深度估计学习)Marigold复现Win11

官网:https://marigoldmonodepth.github.io/

很不幸这篇论文收藏很多但是没有复现教程 ·_·
试过docker但是一直run不起来
在这里插入图片描述

本机配置

一、配置环境

WSL2+Ubuntu22.04

本来像安装一个远程连接图像界面的但我失败了https://www.bilibili.com/video/BV1AV4y1K7Xe/?vd_source=48468d37677304f7842732d50721bc9c

详细攻略 WIN11 + WSL2+ Ubuntu22.04+CUDA + MINICONDA3+Pytorch安装踩坑总结,手把手教学,看不会你打我

在这里插入图片描述

Cuda11.7+cudann

Ubuntu 22.04安装Cuda11.7和cudnn8.6

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda-repo-wsl-ubuntu-11-7-local_11.7.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-7-local_11.7.1-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

在这里插入图片描述

MINICONDA3+Pytorch安装(先别用conda创建环境,我建议用Manba,原因后续提出)

详细攻略 WIN11 + WSL2+ Ubuntu22.04+CUDA + MINICONDA3+Pytorch安装踩坑总结,手把手教学,看不会你打我

二、在本机code编写代码

在powershell或者cmd中以管理员运行,输入wsl进入ubuntu系统,输入code .等待下载好后会在本机跳出vscode,等待它加载远程连接。
你的代码可以直接粘贴到ubuntu中
在这里插入图片描述

三、拉取代码创建conda / mamba环境

拉取代码

git clone https://github.com/prs-eth/Marigold.git
cd Marigold

方法一:conda方法

我没有用mamba或者pip 我有罪!我该用!后面看mamba使用方法

conda create -n marigold python=3.10
conda activate marigold

方法二:mamba方法

由于我在尝试train之前组织数据的时候一直在报错,我心想不至于吧!但我怀疑是因为我包之间有冲突导致的,于是我重新用mamba环境配置,就没报错了555(也可能是技术不精进我也看不出来哪里包有冲突,但我猜测是因为numpy和h5py那里出错了)

conda install mamba # 这个在base安装就可以
mamba init # 初次使用mamba需要
mamba env create -n marigold --file environment.yaml
conda activate marigold

这里虽然environment.yaml制定了cuda,但是安装后居然是cpu,再次运行下面命令安装cuda版本:

pip install torch==2.0.1+cu117 torchvision==0.15.2+cu117 torchaudio==2.0.2 -f https://download.pytorch.org/whl/torch_stable.html

这里之后两个方法都一样了

安装其他依赖

pip install -r requirements.txt -r requirements+.txt -r requirements++.txt

查看torch是否安装成功
在这里插入图片描述

整个文件结构如下:
在这里插入图片描述
请注意文件结构不要错了,不然会有很多路径问题

四、Test

下载测试图片,下载到 input/in-the-wild_example

bash script/download_sample_data.sh

作者给了两个checkpoint

# 方法一 
bash script/download_weights.sh marigold-lcm-v1-0
python run.py --input_rgb_dir input/in-the-wild_example --output_dir output/in-the-wild_example_lcm
     

# 方法二
bash script/download_weights.sh marigold-v1-0
python run.py --checkpoint prs-eth/marigold-v1-0 --denoise_steps 50 --ensemble_size 10 --input_rgb_dir input/in-the-wild_example --output_dir output/in-the-wild_example

参数解释:
请添加图片描述
run的时候报错如下:
在这里插入图片描述
尝试重新conda install numpy解决问题(我猜就是这里把conda环境改坏了)
test结果如下:
请添加图片描述

五、Train

真的下了很多东西。。。最后却以爆显存而告终。。。

hypersim数据组织

  1. 首先在官网中找到dataset_download_images.py并下载,下载后运行py文件。
    我这里只尝试下载了三个数据在这里插入图片描述
  2. 再下载分割图片所需要的csv文件
  3. 根据下载的数据修改一些文件:
    • 修改metadata_images_split_scene_v1.csv文件为你有的数据,适当更改split_partition_name在这里插入图片描述
    • 修改preprocess_hypersim.py文件中的路径然后运行该文件在这里插入图片描述
    • 得到的数据结构如下,并将其process文件夹中的各个分割文件打包
      cd data/Hypersim/processed/train
      tar -cf ../../hypersim_processed_train.tar .
      
      在这里插入图片描述
    • 修改data_split/hypersim里面的数据文件以适应你自己的数据在这里插入图片描述
    • 修改config中的配置文件
      • dataset_train.yaml在这里插入图片描述
      • dataset_val.yaml在这里插入图片描述
  4. 官网下载stable-diffusion-2。注意有些文件过大不会下载需要自己把他下载下来。权重文件我之前用的512的,结果贼慢,后来看到vae里面的配置文件写的768*768,所以换成了768快了很多。 好吧后来我发现没有这个文件也可以运行
    在这里插入图片描述

开始训练

代码使用了wandb网站,点进它的链接注册登录就可以了,然后再点下方的认证链接就会有一个认证码,复制到相应地方就可以继续了。
```bash
python train.py --config config/train_marigold.yaml
```

接下来就报错了:
在这里插入图片描述

查找了很多解决方法都无效:

有没有大佬能帮忙解决一下,不然就只有放在服务器上去了。但是服务器大家都在用555

服务器配置

现在我已经连接好服务器,记得配置一下代理之类的

一、将本机内容传到服务器

运行命令:

scp -r source_folder(你自己指定你的文件夹名称) 用户名@服务器的ip地址:/remote/path/

服务器ip地址通过ip addr命令可以查看

二、配置vscode远程服务器

跟着下面的教程做:

pycharm和vscode远程连接服务器的步骤

并且给vscode的扩展里面安装python和debug,给本机和ssh都装上

三、配置服务器上的conda环境

Ubuntu 22.04 LTS, Python 3.10.12, CUDA 11.7

1. 安装miniconda

上面有讲

2. 配置项目的conda环境

(1)创建marigold环境

还是使用mamba

conda install mamba # 这个在base安装就可以
mamba init # 初次使用mamba需要
mamba create -n marigold python=3.10
mamba activate marigold
(2)conda下安装cuda

由于服务器上面我不能安装CUDA,只能在conda上安装cuda。由于原论文是在环境Ubuntu 22.04 LTS, Python 3.10.12, CUDA 11.7中做的,所以我也安装的cuda11.7.
跟着下面的教程做:

conda虚拟环境中安装cuda和cudnn,再也不用头疼版本号的问题了

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/cudatoolkit-11.7.1-h4bc3d14_13.conda
conda install --use-local cudatoolkit-11.7.1-h4bc3d14_13.conda
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64/cudnn-8.9.7.29-hcdd5f01_2.conda
conda install --use-local cudnn-8.9.7.29-hcdd5f01_2.conda
(3)安装其他依赖
pip install torch==2.0.1+cu117 torchvision==0.15.2+cu117 torchaudio==2.0.2 -f https://download.pytorch.org/whl/torch_stable.html
pip install -r requirements.txt -r requirements+.txt -r requirements++.txt

注意:请使用1.26.4版本的numpy,否则会出错。

(4)检查torch是否安装正确以及cuda版本
python
import torch
torch.cuda.is_available()
torch.version.cuda

四、Train

设置不了全局变量BASE_DATA_DIR和BASE_CKPT_DIR的,直接更改参数中的base_data_dir和base_ckpt_dir的默认值,或者在命令行加入参数。
在这里插入图片描述
运行:

python train.py --config config/train_marigold.yaml
  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值