COTR模型跑起来的一些记录

建立COTR运行环境


实际跑起COTR的时候,会发现 这个安装方案是的的确确失败的,因为在VScode里切换环境的时候,你甚至连相应的python解释器都找不到…
请跳过这一部分… 下拉到下一个章节吧(因为后面也记录了一些解决问题的过程,最终方案在最后啦)…emmm

在这里插入图片描述
以纯属笨蛋操作了…由于是第一次载入environment.yml…大意了…
根本不需要你先单独建环境,因为environment.yml 里面有建环境的指令…
你只需要 conda env create -f environment.yml 就可以了
在这里插入图片描述
在这里插入图片描述

pip list 就能发现,环境已经重建好了…
在这里插入图片描述
下面再来看看anaconda中环境的信息 conda info --env
在这里插入图片描述
会发现,即使当环境中已经存在 cotr_env ,environment.yml 里其他包还是可以正常安装好,即使有报错。


于是我决定 从头再来
首先进入 .yml 在的文件夹下,之后就可以直接读啦

cd C:\Users\007\Desktop\COTRmaster
在这里插入图片描述
把之前安的 cotr_env 彻底删掉了之后,重新开始啦,But…

ResolvePackageNotFound: 找不到安装包…

在这里插入图片描述
解决方式:参考 Conda导入环境时 ResolvePackageNotFound错误
据说要把第二个等号之后的东西去掉…OK 这样我干完了

新的问题出现了…

咋还有失败的呜呜呜…大声哭出来…
在这里插入图片描述
于是想尝试一下 单独pip,但是不对劲哦…还是不行…
在这里插入图片描述
没有放弃pip,因为看到 修改 .yml 文件的方法,让其中一部分包转到pip方式下载,于是也去试了试…但是仿佛没用…出现了冲突…
在这里插入图片描述
在这里插入图片描述

Points:要结束终端批处理,可以 ctrl+c

在这里插入图片描述
以上就是出现的那么那么多冲突了…后面给出了很多分析…but 俺也不会整啊…再想想办法吧…

灵机一动:要不我把这些包先去掉吧,后面要是要用的话我再手动安…

哇呜…不行…还是冲突…

- pip:
  - libstdcxx-ng==9.1.0
  - harfbuzz==1.8.8
  - gst-plugins-base==1.14.0
  - libgcc-ng==9.1.0
  - graphite2==1.3.14
  - gstreamer==1.14.0
  - libuuid==1.0.3
  - libglu==9.0.0
  - dbus==1.13.18
  - readline==8.1
  - libvpx==1.7.0
  - ncurses==6.2
  - libgfortran-ng==7.3.0
  - ld_impl_linux-64==2.33.1
  - libxcb==1.14
Again,从头再来…

回到最开始的原文件 (当然,这里注释掉了那上面十几个找不到的包…也许…那些包去掉版本限制之后也能成功找到呢…算了 有用到的时候我再装吧)

好家伙,实在不行了…我决定…把所有版本限定都去掉…然后再次尝试…

Done !!! It’s Done !!! 我真是个小机灵鬼…

啊 但是有个问题,一时激动忘记限定python=3.7了…所以它给我装了py3.8…算了算了…凑合先用吧…

装好之后本来打算跑demo,但是有报错了…

在这里插入图片描述
。。。

好家伙 我一看 这不就是那个torchvision和cuda版本不匹配的经典报错么…

好…原来我pytorch和torchvision也忘记限定了…人生重来吧…重装torchvision中…

因为之前我配置 workspace 环境中安装了torchvision…这回就直接copy一下那边的版本好了…
在这里插入图片描述
它不行…哇呜…又有这么多包冲突…应该是版本不对应了…难顶…再一次…人生重来吧…
请添加图片描述

Again again,人生重来…

conda remove -n cotr_env --all 再见了 cotr_env 我怀疑作者给出的 environment.yml 有坑(但没有证据) 哇呜… 还是我win10的问题 ???

要不我回colab玩…

conda env list 查看卸完了没…


跑起来了…

我决定先用 workspace 环境手动先安点儿包看看吧…

在这里插入图片描述
补上这俩包之后,仿佛是能跑了呢hhh 好家伙,前面白整了…不过之后有时间还是得去找找解决这种冲突的办法…不知道到底是哪个环节出了问题…

But 很快,新的问题出现了…

cannot use vispy, setting triangulate_corr as None
---------------------- OPTIONS ----------------------

                 backbone  resnet50
                  command  c:\Users\007\Desktop\COTRmaster\demo_single_pair.py
               dec_layers  6
                 dilation  False
          dim_feedforward  1024
                  dropout  0.1
               enc_layers  6
               hidden_dim  256
                    layer  layer3
             load_weights  None
                max_corrs  100
                   nheads  8
                  out_dir  ./out
       position_embedding  lin_sine

----------------------------------------------------
using lin_sine as positional encoding
Downloading: "https://download.pytorch.org/models/resnet50-0676ba61.pth" to C:\Users\007/.cache\torch\hub\checkpoints\resnet50-0676ba61.pth
100%|███████████████████████████████████████████████████████████████████| 97.8M/97.8M [00:15<00:00, 6.64MB/s] 
freeze conv1.weight
freeze layer1.0.conv1.weight       
freeze layer1.0.conv2.weight       
freeze layer1.0.conv3.weight       
freeze layer1.0.downsample.0.weight
freeze layer1.1.conv1.weight       
freeze layer1.1.conv2.weight
freeze layer1.1.conv3.weight
freeze layer1.2.conv1.weight
freeze layer1.2.conv2.weight
freeze layer1.2.conv3.weight
freeze layer2.0.conv1.weight
freeze layer2.0.conv2.weight
freeze layer2.0.conv3.weight
freeze layer2.0.downsample.0.weight
freeze layer2.1.conv1.weight
freeze layer2.1.conv2.weight
freeze layer2.1.conv3.weight
freeze layer2.2.conv1.weight
freeze layer2.2.conv2.weight
freeze layer2.2.conv3.weight
freeze layer2.3.conv1.weight
freeze layer2.3.conv2.weight
freeze layer2.3.conv3.weight
freeze layer3.0.conv1.weight
freeze layer3.0.conv2.weight
freeze layer3.0.conv3.weight
freeze layer3.0.downsample.0.weight
freeze layer3.1.conv1.weight
freeze layer3.1.conv2.weight
freeze layer3.1.conv3.weight
freeze layer3.2.conv1.weight
freeze layer3.2.conv2.weight
freeze layer3.2.conv3.weight
freeze layer3.3.conv1.weight
freeze layer3.3.conv2.weight
freeze layer3.3.conv3.weight
freeze layer3.4.conv1.weight
freeze layer3.4.conv2.weight
freeze layer3.4.conv3.weight
freeze layer3.5.conv1.weight
freeze layer3.5.conv2.weight
freeze layer3.5.conv3.weight
freeze layer4.0.conv1.weight
freeze layer4.0.conv2.weight
freeze layer4.0.conv3.weight
freeze layer4.0.downsample.0.weight
freeze layer4.1.conv1.weight
freeze layer4.1.conv2.weight
freeze layer4.1.conv3.weight
freeze layer4.2.conv1.weight
freeze layer4.2.conv2.weight
freeze layer4.2.conv3.weight
freeze fc.weight
freeze fc.bias
using lin_sine as positional encoding
Traceback (most recent call last):
  File "c:\Users\007\Desktop\COTRmaster\demo_single_pair.py", line 66, in <module>
    main(opt)
  File "c:\Users\007\Desktop\COTRmaster\demo_single_pair.py", line 28, in main
    weights = torch.load(opt.load_weights_path, map_location='cpu')['model_state_dict']
AttributeError: 'Namespace' object has no attribute 'load_weights_path'

emmm…路径不对 ?啊 哦对 直接在VScode里跑的话 它好像没有指明如何加载权重,要添加 --load_weights="default" 在命令行末尾。

在这里插入图片描述
你需要在终端里手动输入 python -u "c:\Users\007\Desktop\COTRmaster\demo_single_pair.py" --load_weights="default"

但是,注意还是有提示 cannot use vispy, setting triangulate_corr as None 而关于 vispy 一个以OpenGL为基础的交互3D可视化库,目前还没有深入学习和了解…

cannot use vispy, setting triangulate_corr as None
---------------------- OPTIONS ----------------------

                 backbone  resnet50
                  command  c:\Users\007\Desktop\COTRmaster\demo_single_pair.py --load_weights=default
               dec_layers  6
                 dilation  False
          dim_feedforward  1024
                  dropout  0.1
               enc_layers  6
               hidden_dim  256
                    layer  layer3
             load_weights  default
        load_weights_path  ./out\default\checkpoint.pth.tar
                max_corrs  100
                   nheads  8
                  out_dir  ./out
       position_embedding  lin_sine

----------------------------------------------------
using lin_sine as positional encoding
freeze conv1.weight
freeze layer1.0.conv1.weight
freeze layer1.0.conv2.weight
freeze layer1.0.conv3.weight
freeze layer1.0.downsample.0.weight
freeze layer1.1.conv1.weight
freeze layer1.1.conv2.weight
freeze layer1.1.conv3.weight
freeze layer1.2.conv1.weight
freeze layer1.2.conv2.weight
freeze layer1.2.conv3.weight
freeze layer2.0.conv1.weight
freeze layer2.0.conv2.weight
freeze layer2.0.conv3.weight
freeze layer2.0.downsample.0.weight
freeze layer2.1.conv1.weight
freeze layer2.1.conv2.weight
freeze layer2.1.conv3.weight
freeze layer2.2.conv1.weight
freeze layer2.2.conv2.weight
freeze layer2.2.conv3.weight
freeze layer2.3.conv1.weight
freeze layer2.3.conv2.weight
freeze layer2.3.conv3.weight
freeze layer3.0.conv1.weight
freeze layer3.0.conv2.weight
freeze layer3.0.conv3.weight
freeze layer3.0.downsample.0.weight
freeze layer3.1.conv1.weight
freeze layer3.1.conv2.weight
freeze layer3.1.conv3.weight
freeze layer3.2.conv1.weight
freeze layer3.2.conv2.weight
freeze layer3.2.conv3.weight
freeze layer3.3.conv1.weight
freeze layer3.3.conv2.weight
freeze layer3.3.conv3.weight
freeze layer3.4.conv1.weight
freeze layer3.4.conv2.weight
freeze layer3.4.conv3.weight
freeze layer3.5.conv1.weight
freeze layer3.5.conv2.weight
freeze layer3.5.conv3.weight
freeze layer4.0.conv1.weight
freeze layer4.0.conv2.weight
freeze layer4.0.conv3.weight
freeze layer4.0.downsample.0.weight
freeze layer4.1.conv1.weight
freeze layer4.1.conv2.weight
freeze layer4.1.conv3.weight
freeze layer4.2.conv1.weight
freeze layer4.2.conv2.weight
freeze layer4.2.conv3.weight
freeze fc.weight
freeze fc.bias
using lin_sine as positional encoding
weights safely loaded
c:\Users\007\Desktop\COTRmaster\COTR\inference\inference_helper.py:50: UserWarning: Spatial smoothness in dense optical flow is lost, but sparse matching and triangulation should be fine
  warnings.warn('Spatial smoothness in dense optical flow is lost, but sparse matching and triangulation should be fine')
C:\Users\007\anaconda3\envs\workspace\lib\site-packages\torch\nn\functional.py:3982: UserWarning: Default grid_sample and affine_grid behavior has changed to align_corners=False since 1.3.0. Please specify align_corners=True if the old behavior is desired. See the documentation of grid_sample for details.
  "Default grid_sample and affine_grid behavior has changed "
0 / 333 | 0 / 666
0 / 333 | 0 / 666
0 / 333 | 0 / 666
0 / 333 | 0 / 666
30 / 333 | 32 / 666
30 / 333 | 32 / 666
30 / 333 | 32 / 666
30 / 333 | 32 / 666
59 / 333 | 64 / 666
59 / 333 | 64 / 666
59 / 333 | 64 / 666
59 / 333 | 64 / 666
86 / 333 | 96 / 666
86 / 333 | 96 / 666
86 / 333 | 96 / 666
86 / 333 | 96 / 666
113 / 333 | 128 / 666
113 / 333 | 128 / 666
113 / 333 | 128 / 666
113 / 333 | 128 / 666
141 / 333 | 160 / 666
141 / 333 | 160 / 666
141 / 333 | 160 / 666
141 / 333 | 160 / 666
170 / 333 | 192 / 666
170 / 333 | 192 / 666
170 / 333 | 192 / 666
170 / 333 | 192 / 666
199 / 333 | 224 / 666
199 / 333 | 224 / 666
199 / 333 | 224 / 666
199 / 333 | 224 / 666
231 / 333 | 256 / 666
231 / 333 | 256 / 666
231 / 333 | 256 / 666
231 / 333 | 256 / 666
261 / 333 | 288 / 666
261 / 333 | 288 / 666
261 / 333 | 288 / 666
261 / 333 | 288 / 666
287 / 333 | 320 / 666
287 / 333 | 320 / 666
287 / 333 | 320 / 666
287 / 333 | 320 / 666
313 / 333 | 352 / 666
313 / 333 | 352 / 666
313 / 333 | 352 / 666
313 / 333 | 352 / 666
341 / 333 | 384 / 666
0 / 333 | 0 / 333
0 / 333 | 0 / 333
0 / 333 | 0 / 333
0 / 333 | 0 / 333
29 / 333 | 32 / 333
29 / 333 | 32 / 333
29 / 333 | 32 / 333
29 / 333 | 32 / 333
58 / 333 | 64 / 333
58 / 333 | 64 / 333
58 / 333 | 64 / 333
58 / 333 | 64 / 333
87 / 333 | 96 / 333
87 / 333 | 96 / 333
87 / 333 | 96 / 333
87 / 333 | 96 / 333
118 / 333 | 128 / 333
118 / 333 | 128 / 333
118 / 333 | 128 / 333
118 / 333 | 128 / 333
147 / 333 | 160 / 333
147 / 333 | 160 / 333
147 / 333 | 160 / 333
147 / 333 | 160 / 333
175 / 333 | 192 / 333
175 / 333 | 192 / 333
175 / 333 | 192 / 333
175 / 333 | 192 / 333
202 / 333 | 224 / 333
202 / 333 | 224 / 333
202 / 333 | 224 / 333
202 / 333 | 224 / 333
229 / 333 | 256 / 333
229 / 333 | 256 / 333
229 / 333 | 256 / 333
229 / 333 | 256 / 333
257 / 333 | 288 / 333
257 / 333 | 288 / 333
257 / 333 | 288 / 333
257 / 333 | 288 / 333
287 / 333 | 320 / 333
287 / 333 | 320 / 333
287 / 333 | 320 / 333
287 / 333 | 320 / 333
298 / 333 | 333 / 333
spent 32.58227229118347 seconds for 100 correspondences.
Traceback (most recent call last):
  File "c:\Users\007\Desktop\COTRmaster\demo_single_pair.py", line 66, in <module>
    main(opt)
  File "c:\Users\007\Desktop\COTRmaster\demo_single_pair.py", line 42, in main
    dense = triangulate_corr(corrs, img_a.shape, img_b.shape)
TypeError: 'NoneType' object is not callable

最后一行是因为没有 vispy 所以 setting triangulate_corr as None 了,就到此结束了,Dense部分没有进行下去,但是你可以get一个稀疏的结果如下:
在这里插入图片描述

这里可以使用 conda install -c conda-forge glfw 来解决 vispy 的问题,参考 COTR讨论

这里有一些 关于COTR的讨论,有助于深入研究代码。

homography demo

cannot use vispy, setting triangulate_corr as None
---------------------- OPTIONS ----------------------

                 backbone  resnet50
                  command  c:\Users\007\Desktop\COTRmaster\demo_homography.py --load_weights=default
               dec_layers  6
                 dilation  False
          dim_feedforward  1024
                  dropout  0.1
               enc_layers  6
               hidden_dim  256
                    layer  layer3
             load_weights  default
        load_weights_path  ./out\default\checkpoint.pth.tar
                   nheads  8
                  out_dir  ./out
       position_embedding  lin_sine

----------------------------------------------------
using lin_sine as positional encoding
freeze conv1.weight
freeze layer1.0.conv1.weight
freeze layer1.0.conv2.weight
freeze layer1.0.conv3.weight
freeze layer1.0.downsample.0.weight
freeze layer1.1.conv1.weight
freeze layer1.1.conv2.weight
freeze layer1.1.conv3.weight
freeze layer1.2.conv1.weight
freeze layer1.2.conv2.weight
freeze layer1.2.conv3.weight
freeze layer2.0.conv1.weight
freeze layer2.0.conv2.weight
freeze layer2.0.conv3.weight
freeze layer2.0.downsample.0.weight
freeze layer2.1.conv1.weight
freeze layer2.1.conv2.weight
freeze layer2.1.conv3.weight
freeze layer2.2.conv1.weight
freeze layer2.2.conv2.weight
freeze layer2.2.conv3.weight
freeze layer2.3.conv1.weight
freeze layer2.3.conv2.weight
freeze layer2.3.conv3.weight
freeze layer3.0.conv1.weight
freeze layer3.0.conv2.weight
freeze layer3.0.conv3.weight
freeze layer3.0.downsample.0.weight
freeze layer3.1.conv1.weight
freeze layer3.1.conv2.weight
freeze layer3.1.conv3.weight
freeze layer3.2.conv1.weight
freeze layer3.2.conv2.weight
freeze layer3.2.conv3.weight
freeze layer3.3.conv1.weight
freeze layer3.3.conv2.weight
freeze layer3.3.conv3.weight
freeze layer3.4.conv1.weight
freeze layer3.4.conv2.weight
freeze layer3.4.conv3.weight
freeze layer3.5.conv1.weight
freeze layer3.5.conv2.weight
freeze layer3.5.conv3.weight
freeze layer4.0.conv1.weight
freeze layer4.0.conv2.weight
freeze layer4.0.conv3.weight
freeze layer4.0.downsample.0.weight
freeze layer4.1.conv1.weight
freeze layer4.1.conv2.weight
freeze layer4.1.conv3.weight
freeze layer4.2.conv1.weight
freeze layer4.2.conv2.weight
freeze layer4.2.conv3.weight
freeze fc.weight
freeze fc.bias
using lin_sine as positional encoding
weights safely loaded
C:\Users\007\anaconda3\envs\workspace\lib\site-packages\torch\nn\functional.py:3982: UserWarning: Default grid_sample and affine_grid behavior has changed to align_corners=False since 1.3.0. Please specify align_corners=True if the old behavior is desired. See the documentation of grid_sample for details.
  "Default grid_sample and affine_grid behavior has changed "
0 / 1000 | 0 / 4
0 / 1000 | 0 / 4
0 / 1000 | 0 / 4
0 / 1000 | 0 / 4
4 / 1000 | 4 / 4

在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值