IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 手把手安装flownet2-pytorch -> 正文阅读

[人工智能]手把手安装flownet2-pytorch

前言:

????????nvidia在github上发布的flownet2-pytorch并不能按照它说明的那样直接安装,里面存在很多bug, 根据上网查询与自己实践,我把安装步骤一步一步列出来,供大家参考。?


1) 创建环境

conda create -n flownet2 python=3.6.9

2)进入虚拟环境

conda activae flownet2

3)安装gcc7,g++7

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-7
sudo apt-get install g++-7

4)将gcc7,g++7作为默认选项

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100
sudo update-alternatives --config gcc

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
sudo update-alternatives --config g++

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50

5) 查看所有gcc版本

ls /usr/bin/gcc*

6) 查看当前gcc版本

gcc -v

7)安装pytorch

可行版本1:

conda install pytorch==1.5.1 torchvision==0.6.1 cudatoolkit=10.1 -c pytorch

可行版本2:?

conda uninstall python
conda install python==3.7
conda install pytorch==1.9.0 torchvision==0.6.1 cudatoolkit=10.2 -c pytorch

8) 安装依赖包

pip install numpy
pip install tensorboardX
pip install setproctitle
pip install colorama
pip install tqdm
pip install scipy
pip install matplotlib
pip install pytz
pip install opencv-python

9) 下载flownet代码

git clone https://github.com/NVIDIA/flownet2-pytorch.git
cd flownet2-pytorch

10)对以下文件进行修改,

????????在以下三个文件中?

  • networks/channelnorm_package/setup.py
  • networks/resample2d_package/setup.py
  • networks/correlation_package/setup.py

???????把

cxx_args = ['-std=c++11']

修改为

cxx_args = ['-std=c++14']

11)在 flownet2-pytorch/utils/frame_utils.py ?中

from scipy.misc import imread

修改为

from imageio import imread

12)在 flownet2-pytorch/datasets.py 中

from scipy.misc import imread, imresize

修改为

from imageio import imread

13) 在flownet2-pytorch/networks/channelnorm_package/channelnorm.py中

在第9行添加

input1 = input1.contiguous()

修改后代码如下:?

 class ChannelNormFunction(Function):
? ? ? @staticmethod
? ? ? def forward(ctx, input1, norm_deg=2):
? ? ? ? ? input1 = input1.contiguous() # 新添加的代码
? ? ? ? ? assert input1.is_contiguous()

14) 进入install.sh所在文件夹后输入如下命令

./install.sh

15) 输入以下命令进行测试

python main.py -h

测试的过程中会出现各种module的缺失问题,缺什么就输入如下命令:

pip install modules_needed

根据个人经验,在8)中我已经把所有需要安装的module都记录下来了

?????????测试成功应该输出以下结果:

usage: main.py [-h] [--start_epoch START_EPOCH] [--total_epochs TOTAL_EPOCHS]
? ? ? ? ? ? ? ?[--batch_size BATCH_SIZE] [--train_n_batches TRAIN_N_BATCHES]
? ? ? ? ? ? ? ?[--crop_size CROP_SIZE [CROP_SIZE ...]]
? ? ? ? ? ? ?...
? ? ? ? ? ? ?...
Model:
? --model {ChannelNorm,FlowNet2,FlowNet2C,FlowNet2CS,FlowNet2CSS,FlowNet2S,FlowNet2SD,Resample2d,tofp16,tofp32}

16) 跑inference测试

(1)下载数据集

????????为了测试代码是否能跑通,我只下载了 MPI-Sintel 数据集,并新建一个datasets文件夹,把数据集放在这个文件夹下

(2)下载checkpoint

? ? ? ? github上提供的checkpoint下载路径难以下载,我把checkpoint下载后转存到了百度云,大家可以从百度云下载。

????????链接:https://pan.baidu.com/s/19g9ufG5zPARxMFireouXXQ?
????????提取码:w97r

? ? ? ? 值得注意的是: 下载得到的checkpoint文件是一个整体,不能用rar或tar解压。这个文件直接被使用。

?(3)数据集及checkpoint路径设置

????????我的数据集存放路径是:flownet2-pytorch/datasets/MPI-Sintel

????????checkpoint的存放路径是:flownet2-pytorch/pre_train/

?(4)inference测试,我的测试代码是? ?

python main.py --inference \
? ? --model FlowNet2 \
? ? --save_flow \
? ? --inference_dataset MpiSintelClean \
? ? --inference_dataset_root ./datasets/MPI-Sintel/training \
? ? --inference_visualize \
? ? --resume ./pre_train/FlowNet2_checkpoint.pth.tar

? ? 备注:

  • ????????inference时,只能选择 /MPI-Sintel/training 文件夹
  • ????????需要修改的仅仅是 --inference_dataset_root ./datasets/MPI-Sintel/training \
  • ? ? ? ? 和 ? --resume ./pre_train/FlowNet2_checkpoint.pth.tar 的路径

17) flownet2封装

????????见 https://github.com/wzg16/FlowNet2-PyTorch-EasyToUse-Wrapper


# 其他问题

问题1: ModuleNotFoundError: No module named 'resample2d_cuda'

原因分析: 在执行上面的第14)步之后,更新了pytorch版本或者torchvision版本,导致针对原来版本编译的文件与当前版本的torch不适用。

? 解决方法1:?

? ? step1)?分别进入

????????????????/flownet2_pytorch/networks/resample2d_package/

? ? ? ? ? ? ? ? /flownet2_pytorch/networks/correlation_package/

????????????????flownet2_pytorch/networks/channelnorm_package

????????????????等三个文件夹

? ? step2) 执行以下命令:? ? ?

python3 setup.py build
python3 setup.py install

? 解决方法2: 重新运行

./install.sh

????????通过看install.sh的代码,方法2与方法1应该是等价的。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:32:33  更:2021-10-25 12:33:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 8:38:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码