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

目录

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-cu11==8.7.0.84

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/938988.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TypeScript 变量与常量

文章目录 一、变量声明(一)let 关键字(块级作用域)(二)var 关键字(函数级作用域,与 let 的区别)二、常量声明(一)const 关键字(不可重新赋值)一、变量声明 (一)let 关键字(块级作用域) 在 TypeScript 中,let 关键字用于声明变量,它所声明的变量具有块级作用…

【Go】-倒排索引的简单实现

目录 什么是倒排索引 定义 基本结构和原理 分词在倒排索引中的重要性 简单倒排索引的实现 接口定义 简单数据库的实现 倒排索引 正排索引 测试 总结 什么是倒排索引 定义 倒排索引(Inverted Index)是一种索引数据结构,它是文档检…

使用 Wireshark 和 Lua 脚本解析通讯报文

在复杂的网络环境中,Wireshark 凭借其强大的捕获和显示功能,成为协议分析不可或缺的工具。然而,面对众多未被内置支持的协议或需要扩展解析的场景,Lua 脚本的引入为Wireshark 提供了极大的灵活性和可扩展性。本文将详细介绍如何使…

黑马Java面试教程_P7_常见集合_P4_HashMap

系列博客目录 文章目录 系列博客目录4. HashMap相关面试题4.4 面试题-HashMap的put方法的具体流程 频54.4.1 hashMap常见属性4.4.2 源码分析 HashMap的构造函数面试文稿: 4.5 讲一讲HashMap的扩容机制 难3频4面试文稿: 4.6 面试题-hashMap的寻址算法 难4…

Netcat:网络中的瑞士军刀

免责声明:使用本教程或工具,用户必须遵守所有适用的法律和法规,并且用户应自行承担所有风险和责任。 文章目录 一、引言二、简述三、Netcat功能?四、参数选项五、Netcat 的常见功能六、高级用法多连接处理创建简单的代理 七、Netc…

这是一个vue3 + scss的数字滚动效果

介绍: 当数字变化时&#xff0c;只改变变化的数字位&#xff0c;其余的不变&#xff0c;可以递增、递减、骤变、负数也可以&#xff0c;但是样式要根据具体的项目需求去改&#xff1b; 效果1、增加数字&#xff1a; 效果2、减少数字&#xff1a; 使用方法&#xff1a; <te…

Pytest-Bdd vs Behave:选择最适合的 Python BDD 框架

Pytest-Bdd vs Behave&#xff1a;选择最适合的 Python BDD 框架 Pytest BDD vs Behave&#xff1a;选择最适合的 Python BDD 框架BDD 介绍Python BDD 框架列表Python BehavePytest BDDPytest BDD vs Behave&#xff1a;关键区别Pytest BDD vs Behave&#xff1a;最佳应用场景结…

【Unity3D】无限循环列表(扩展版)

基础版&#xff1a;【Unity技术分享】UGUI之ScrollRect优化_ugui scrollrect 优化-CSDN博客 using UnityEngine; using UnityEngine.UI; using System.Collections.Generic;public delegate void OnBaseLoopListItemCallback(GameObject cell, int index); public class BaseLo…

【Elasticsearch】使用阿里云 infererence API 及 semantic text 进行向量搜索

原作者&#xff1a;Elastic布道师 刘晓国 在之前的文章 “Elasticsearch 开放推理 API 新增阿里云 AI 搜索支持”&#xff0c;它详细描述了如何使用 Elastic inference API 来针对阿里的密集向量模型&#xff0c;稀疏向量模型&#xff0c; 重新排名及 completion 进行展示。在…

景联文科技:精准语音标注,驱动语音技术新发展

在人工智能迅速发展的今天&#xff0c;语音技术的应用已经渗透到我们生活的方方面面。从智能音箱、语音助手到自动语音识别系统&#xff0c;高质量的语音数据是这些应用成功的关键。景联文科技作为领先的AI数据服务提供商&#xff0c;专注于为客户提供高精度、高效的语音标注服…

windows免登录linux

windows 生成秘钥文件 ssh-keygen -t rsa 将公钥传送到服务器 scp C:\Users\xx/.ssh/id_rsa.pub xxxx:/home/ruoyi/id_rsa.pub linux 使用ssh-copy-id -i ~/.ssh/id_rsa.pub userhost 如果禁用root登录&#xff0c;先开启 vim /etc/ssh/sshd_config PermitRootLogin yes …

基于容器的云原生,让业务更自由地翱翔云端

无论是要构建一个应用或开发一个更庞大的解决方案&#xff0c;在技术选型时&#xff0c;技术的开放性和可移植性已经成为很多企业优先考虑的问题之一。毕竟没人希望自己未来的发展方向和成长速度被自己若干年前选择使用的某项技术所限制或拖累。 那么当你的业务已经上云&#x…

Visual Studio 使用 GitHub Copilot 协助调试

&#x1f380;&#x1f380;&#x1f380;【AI辅助编程系列】&#x1f380;&#x1f380;&#x1f380; Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…

springboot限流注解

我们在工作中 有些接口访问量过大 为了保证服务的正常运行可以增加限流 第一步 引入aop和redis <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency…

MySQL多表查询时有哪些连接方式?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL多表查询时有哪些连接方式?】面试题。希望对大家有帮助&#xff1b; MySQL多表查询时有哪些连接方式? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MySQL 中进行多表查询时&#xff0c;常见的连接方式有以下…

Python | 虚拟环境01 - 什么是虚拟环境、它的由来

导言 python3真的不是安装了就完事&#xff0c;必须理解虚拟环境是什么才算是初步掌握python环境。 学习python3虚拟环境&#xff0c;建议参考B站教程。这位博主用了6个视频&#xff0c;每一个视频仅仅几分钟。居然把python3的虚拟环境讲明白了。 虚拟环境&#xff08;Virtual…

【已解决】在Visual Studio里将应用与Microsoft Store关联时提示网络异常

发布Windows应用时。在Visual Studio里点击"发布“&#xff0c;将应用与Microsoft Store关联时&#xff0c;一直提示网络错误。 查了一下论坛&#xff0c;发现之前也经常出现&#xff0c;但我是第一次遇到。 不能就这样一直被卡着呀&#xff0c;研究了一下&#xff0c;还…

html基础-认识html

1.什么是html html是浏览器可以识别的的标记语言&#xff0c;我们在浏览器浏览的网页就是一个个的html文档 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>认识html</title> </head> <body><h1…

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(四)

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(四) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《拉…

MySQL 深入理解隔离性

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 MySQL 深入理解隔离性 收录于专栏[MySQL] 本专栏旨在分享学习MySQL的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 由于之前在 MySQL 事务特…