oneflow深度学习框架使用问题总结(Windows/Linux)

发布于:2024-12-19 ⋅ 阅读:(17) ⋅ 点赞:(0)

目录

1.简述

2.在Windows下使用Oneflow深度学习框架(错误记录,谨慎,官方不支持,需要WSL)

2.1安装Anaconda

2.1创建虚拟环境

2.2安装Pytorch

2.3安装Pycharm

2.4 安装Oneflow

3.在Linux下使用Oneflow深度学习框架

2.1安装Ubuntu18.04系统

2.2安装Anaconda(Linux)

2.3安装Pytorch

2.4安装Linux版Pycharm

2.5安装Oneflow

1.简述

起源:OneFlow 是北京一流科技有限公司旗下的开源工业级通用深度学习框架,于 2018 年 9 月发布闭源版,2020 年 7 月正式开源。

与 PyTorch 对比,在计算机机制方面,OneFlow采用静态图执行,并通过编译优化提高运行效率,同时也提供了一定动态计算图的灵活性,PyTorch 使用动态计算图,操作在编写时执行,图形动态构建,更灵活,适合研究和实验中的实时调整;此外,与Pytorch相比,OneFlow 的分布式性能是其核心优势,在大规模分布式训练场景下表现出色,能更好地应对大数据、大模型、大计算的挑战;上手难易程度上对比,Pytorch基础入门简单,学习曲线较缓,OneFlow 的学习曲线相对较陡,新手需要花费一定时间和精力去掌握其核心概念和使用方法。

tensorflow与OneFlow 对比,在计算机机制方面,TensorFlow 使用静态计算图,需先定义计算图,再在会话中运行并输入数据,灵活性欠佳;在复杂分布式场景下,TensorFlow 虽也支持分布式计算,但易用性和性能比不上Oneflow;在生态社区方面,TensorFlow 有更庞大的社区和更广泛的应用基础,其生态系统包括各种工具和库,如 TensorBoard 等,文档也非常全面,Oneflow在这方面相对不够完善。

2.在Windows下使用Oneflow深度学习框架(错误记录,谨慎,官方不支持,需要WSL)

2.1安装Anaconda

具体安装网址:Download Anaconda Distribution | Anaconda(官网),也可以通过网盘进行安装夸克网盘分享(ZHOUPUYU博客提供),具体安装步骤按照网络上教程安装即可。

2.1创建虚拟环境

安装完成后打开Anaconda Prompt创建虚拟环境,具体如下图所示:

打开Anaconda Prompt,创建虚拟环境,具体命令为

conda create -n your_name python=3.X

等待创建完成之后进入到虚拟环境中,通常使用的命令为:

conda activate your_name

即可进入名为your_name的虚拟环境中,对应的包可以在诸如D:\anoconda\setAnaconda\envs下搜寻到。

2.2安装Pytorch

创建CPU版的Pytorch(如果有N卡(GPU训练),需要配置CUDA和cudnn环境),去到Pytorch的官网去复制命令,PyTorch官网具体如下图所示:

如果使用CPU版命令可直接复制:

pip install torch torchvision torchaudio

等待安装完成即可。

2.3安装Pycharm

进入PyCharm:适用于数据科学和 Web 开发的 Python IDE,下载可使用的Pycharm对应的版本,可以下community版,进行安装。具体如下图:

完成后点击右下角Add New Interpreter选择上面创建的虚拟环境。

2.4 安装Oneflow

在Pycharm中打开一个项目,博主采用的是之江实验室和一流科技公司共同研发的EfficientnetV2图像分类算法,在控制台运行

pip install -r requirements.txt

批量安装算法所需要的依赖项,。有的安装失败需要单独去安装,如Oneflow,个人建议直接运行

pip install oneflow

上述命令直接安装oneflow的CPU版,GPU版本参照OneFlow -- 全新一代深度学习框架 - OneFlow安装完成后需要安装flowvision,此处在Windows下就会出现问题,在Linux不会,在Linux下直接运行(具体情况看下文)

pip install flowvision

在Windows下安装flowvision出的问题是pip安装库报错TypeError: canonicalize_version() got an unexpected keyword argument ‘strip_trailing_zero‘解决方案是降级setuptools版本到64之后,再进行安装。具体降级的命令为

pip install setuptools==64

即可完成。接下来返回提示错误raise RuntimeError("This package is a placeholder. Please install oneflow following the instructions in https://github.com/Oneflow-Inc/oneflow#install-oneflow")
RuntimeError: This package is a placeholder. Please install oneflow following the instructions in https://github.com/Oneflow-Inc/oneflow#install-oneflow,该错误无法解决转战Linux环境进行。

3.在Linux下使用Oneflow深度学习框架

2.1安装Ubuntu18.04系统

使用的Linux环境是VM Workstation16(授权码可以在网上搜索到)虚拟机(ISO镜像为Ubuntu18.04)按照Ubuntu18.04安装教程(很详细)_ubuntu18安装-CSDN博客链接就可以安装完成Ubuntu18.04系统的安装。此外进入系统设置网络环境(IP/桥接模式 or 其他)、并设置ssh,可以远程访问,关闭防火墙。此外,可以装个搜狗输入法。

2.2安装Anaconda(Linux)

在线安装:在Index of /找到对应的Anaconda的Linux版本,下载到本地,使用命令

bash Anaconda3-xxxx.xx-x-Linux-x86_64.sh

遇到权限不足时,使用命令

sudo chmod 777 xxxxxxx.sh

再进行安装。遇到Please,按压ENTER,一路回车即可,直至出现yes/no,选择yes,安装完成。接下来修改环境变量

vi ~/.bashrc
export PATH="/root/ananconda3/bin:$PATH" #按照实际路径
#使用环境变量生效
source ~/.bashrc
#查看安装版本
conda --version

初始化conda

conda init

设置启动conda, 是否激活默认base环境,默认为True

conda config --set auto_activate_base false

为conda添加清华源

#添加镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2

#显示检索路径
conda config --set show_channel_urls yes

#显示镜像通道
conda config --show channels

接下来创建虚拟环境

conda create -n your_name python=3.X

进入虚拟环境为

conda activate your_name

删除所有的该虚拟环境为

conda remove -n your_name --all

2.3安装Pytorch

创建CPU版的Pytorch(如果有N卡(GPU训练),需要配置CUDA和cudnn环境),去到Pytorch的官网去复制命令,PyTorch官网具体如下图所示:

按照命令进行安装:CPU版本安装为

pip install torch torchvision torchaudio

进行验证

python
import torch
torch.__version__

至此,完成Pytorch的全部安装,如遇到算法开发中Pytorch版本匹配不上的问题,可以直接卸载,安装其他的Pytorch的版本。

2.4安装Linux版Pycharm

进入PyCharm:适用于数据科学和 Web 开发的 Python IDE,下载可使用的Pycharm对应的版本,可以下community版,进行安装。使用linux的压缩包。解压压缩包

tar -zxvf pycharm-community-xxxx.x

进入解压后文件的bin目录,打开终端,输入指令

. pycharm.sh

就可以运行软件

此外运用这种方式比较繁琐的话可以创建Pycharm的桌面快捷方式,使用命令

sudo gedit /usr/share/applications/Pycharm.desktop

在弹出的文件窗口输入以下代码文件

[Desktop Entry]
Type=Application
Name=Pycharm
GenericName=Pycharm3
Comment=Pycharm3:The Python IDE
Exec=sh /home/username/package/pycharm-2019.2.4/bin/pycharm.sh #根据实际情况改写
Icon=/home/username/package/pycharm-2019.2.4/bin/pycharm.png #根据实际情况改写
Terminal=pycharm
Categories=Pycharm;

在全部软件中添加到左边栏中,具体如下图:

进而完成Pycharm的安装。

2.5安装Oneflow

同样,此处按照Windows安装方式安装oneflow,安装flowvision时要注意,针对EfficientnetV2算法不能安装flowvision==0.2.0,否则会一直持续出现问题,在这个算法环境中,安装的flowvision为0.0.54,命令为,对应的oneflow==0.9.0。

pip install flowvision==0.0.54

此外,python还报错:ImportError:libcudnn_cnn_infer:cannot open shared object file

解决方法:

conda install cudatoolkit==11.8.0
pip install nvidia-cudnn-cull==8.7.0.84

至此,EfficientnetV2算法可以训练,可以进行预测。如下图:

至此完成Oneflow的首次使用,本篇博客仅用于学习记录总结!如有问题欢迎补充。