目录
2.在Windows下使用Oneflow深度学习框架(错误记录,谨慎,官方不支持,需要WSL)
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的首次使用,本篇博客仅用于学习记录总结!如有问题欢迎补充。