从〇开始深度学习(0)——背景知识与环境配置

从〇开始深度学习(0)——背景知识与环境配置

文章目录

  • 从〇开始深度学习(0)——背景知识与环境配置
    • 写在前面
    • 1.背景知识
      • 1.1.Pytorch
      • 1.2.Anaconda
      • 1.3.Pycharm
      • 1.4.CPU与GPU
      • 1.5.整体关系
    • 2.环境配置
      • 2.1.准备工作
        • 2.1.1.判断有无英伟达显卡
        • 2.1.2.清理电脑里的旧环境
      • 2.1.安装Anaconda
      • 2.2.安装Pytorch
        • 2.2.1.CPU版
        • 2.2.2.GPU版
          • 支线剧情:安装CUDA
          • 主线剧情:安装PyTorch
      • 2.3.安装PyCharm、配置环境
      • 2.4.(可选)汉化PyCharm
      • 2.5.(可选)配置PyCharm终端

写在前面

学习之前从未接触过的领域,总是充满未知和挑战。我可以从很多教程学习我该“做什么”,但是很少有教程可以讲清楚“为什么”。希望通过本专栏,可以让和我一样“有编程基础,但不多”的小白,也可以轻松了解深度学习相关知识,并在脑海里构建出学习框架。

笔记分类:

1.背景知识

1.1.Pytorch

在Python中,有很多功能强大的库。这些库为我们封装好了很多功能强大的方法和函数,我们可以站在前人的肩膀上开发我们自己的项目。Pytorch也是如此,完全可以把它看作是一个大的python库。

1.2.Anaconda

在初学Python时,我们往往是在Python官网下载某版本的Python然后编程。但是这种方式存在一个弊端:别人开发的Python工程可能与自己的Python版本不同,此时若想运行别人的工程,则需要重新在官网下载相应版本的Python并配置环境变量。如此一来,我们可能需要频繁地修改本地Python环境。

Anaconda便是一个用于管理Python环境的工具。Anaconda会配置不同的虚拟环境,与我们在本地配置的环境不同,本地环境无法同时配置不同的Python版本,而虚拟环境可以“同时”配置多个不同环境,可以随时按需切换。在不同环境中,可以按需安装不同的库。这样对应不同的工程,我们可以更清晰地区分环境,可以更直观地进行工程管理。

1.3.Pycharm

Pycharm是Jetbrains的一款Python编译器,用过CLion和IDEA的朋友应该都可以很轻松上手Pycharm。Pycharm分为社区版和专业版,社区版是开源免费使用,专业版需要购买,或经过Jetbrains的学生认证后可以免费使用(可以免费使用Jetbrains全家桶,不仅Pycharm专业版)。如果对IDEA的使用也有需求,推荐使用Jetbrains Toolbox进行IDE的统一管理。

Pycharm也可以配置虚拟环境。我们可以不用Anaconda的虚拟环境,直接在Pycharm中配置虚拟环境,下载不同版本的Python;我们也可以在Pycharm中选择Anaconda配置的不同虚拟环境,或是直接选择本地配置的环境。

1.4.CPU与GPU

一般来讲,深度学习的程序用GPU跑更好。与CPU相比,GPU的运算能力更强,且有并行处理能力。

Pytorch分为CPU和GPU两个版本,CPU版本所有设备均可以使用,有英伟达显卡的设备才可以使用GPU版本的Pytorch,且显卡最好拥有>=6GB的显存。

1.5.整体关系

在之后的学习中,我会用Anaconda配置Python+Pytorch环境(其中Pytorch在本地和云服务器均选择GPU版本),使用Pycharm Professional进行编程。计划先在本地环境学习Pytorch,然后在云服务器跑其他算法。

2.环境配置

目标:Anaconda+PyTorch+Pycharm

推荐课程:最详细的 Windows 下 PyTorch 入门深度学习环境安装与配置 CPU GPU 版 | 土堆教程_哔哩哔哩_bilibili

2.1.准备工作

2.1.1.判断有无英伟达显卡

打开任务管理器,找到性能——GPU:

image-20240115095243217
image-20241122101132459

即可知道自己是什么显卡。只有英伟达的显卡才可以使用GPU版Pytorch,且显存最好>=6GB。上图说明没有英伟达显卡,只能使用CPU版PyTorch;下图有英伟达显卡,显存8GB,可以使用GPU版PyTorch。

2.1.2.清理电脑里的旧环境

推荐视频:Python深度学习:安装Anaconda、PyTorch(GPU版)库与PyCharm_哔哩哔哩_bilibili,P1

在此之前,可能有的读者学习过Python。我们需要把之前的环境都清理干净,重新配置新环境。下载一个名为Everything的小工具,启动后等待20秒初始化。

在Everything中搜索Uninstall-Anaconda ,这是Anaconda的卸载程序。如果之前下载过Anaconda,可以通过此程序卸载。

在Everything中搜索.condarc、jupyter、 ipython、 continuum、 matplotlib、 anaconda 以及 conda 的文件,仅删除C盘中的即可。

打开系统环境变量,将Python路径从Path中移除,否则可能会在后续安装Anaconda时无法配置Anaconda的环境变量。

image-20241122102133759

2.1.安装Anaconda

打开Anaconda官网,输入邮箱,会给你发过去下载链接。然后点击Download即可直接进行下载:

image-20241122102348533

当然,也可以[下载](Anaconda Distribution release notes — Anaconda documentation)较旧版本的Anaconda以获取更好的稳定性:

image-20241122102532229

如果你不知道自己的windows是多少位,可以打开系统设置进行查看:

image-20241122102610089

然后下载对应版本即可。

安装Anaconda比较简单。安装在C盘D盘都可以,要留出足够的空间。**且不论安装到什么地方,都要记住这个安装路径,一会需要配置环境变量!**在安装老版本时可能遇到下图的选项卡,如果勾选了第一个选项卡,则会将 Anaconda3 添加到系统 PATH 环境变量中,显然官方也Not recommended,不勾即可。只勾选第二个选项卡,然后安装即可。

image-20240115103341583

现版本的Anaconda安装是这样:

image-20241122103122598

安装过程比较漫长,我在安装时进度条卡在90%约20分钟,耐心等待安装即可。

我们再次打开环境变量,将Anaconda添加到系统环境变量中(注意不是用户变量)。找到系统变量——Path——编辑,将...\Anaconda...\Anaconda\Scripts...\Anaconda\Library\bin 添加到Path中即可(...为刚刚Anaconda的安装路径)。

我们可以把“Jupyter Notebook (Anaconda)”和“Anaconda Prompt (Anaconda)”添加到桌面快捷方式。打开开始,从最近添加中找到Anaconda,右键单击,选择更多,然后打开文件位置:

image-20240115104132972

打开后如图所示:

image-20240115104410858

把第三个(Anaconda Prompt (Anaconda))和第四个(Jupyter Notebook (Anaconda)),右键单击,选择发送到——桌面快捷方式即可。第二个(Anaconda Powershell Prompt (Anaconda))和第三个功能差不多,第二个的功能更加强大,但是我们日常使用第三个已经足够了。具体是用第二个还是第三个,看个人喜好即可。第一个(Anaconda Navigator (Anaconda))是Anaconda的图形界面,可以直观看到自己的虚拟环境,缺点是在图形界面里进行安装包之类的操作会有些慢,看个人喜好,也可以添加到桌面快捷方式。

打开Prompt,默认是在Anaconda的base环境下。这个环境是安装Anaconda时就配置好的,无需额外配置。我们一般会自己创建新的虚拟环境,常用指令如下:

# 清屏
cls
# base 环境下的操作
## 列出所有的环境
conda env list
## 创建名为“环境名” 的虚拟环境,并指定 Python 的版本
conda create -n 环境名 python=3.9
## 删除名为“环境名” 的虚拟环境
conda remove -n 环境名 --all
## 进入名为“环境名”的虚拟环境
conda activate 环境名
# 虚拟环境内的操作
## 列出当前环境下的所有库
conda list
## 安装 NumPy 库,并指定版本 1.21.5
pip install numpy==1.21.5 -i https://pypi.tuna.tsinghua.edu.cn/simple
## 安装 Pandas 库,并指定版本 1.2.4
pip install Pandas==1.2.4 -i https://pypi.tuna.tsinghua.edu.cn/simple
## 安装 Matplotlib 库,并指定版本 3.5.1
pip install Matplotlib==3.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
## 查看当前环境下某个库的版本(以 numpy 为例)
pip show numpy
## 退出虚拟环境
conda deactivate

如果你有过Python学习的基础,或者是细心观察了刚刚的常用指令,会发现我们是从清华源下载各种包。默认情况下,Anaconda都是从国外服务器下载包,而由于众所周知的原因,这样下载往往比较慢,所以我们会换源下载。

在Anaconda Prompt命令行中输入指令conda config --get,即可看到我们默认下载途径是defaults

image-20240115114057049

如果我们在创建虚拟环境时,直接指定下载源(下载通道channels),那在后续的下载中就不用每条指令都进行换源了:

## 创建名为“环境名” 的虚拟环境,并指定 Python 的版本,并指定下载源
conda create -n 环境名 python=3.9 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

但是还是更推荐不更改默认下载地址,推荐使用刚刚这种方式:

## 安装 NumPy 库,并指定版本 1.21.5
pip install numpy==1.21.5 -i https://pypi.tuna.tsinghua.edu.cn/simple

更改默认地址后,有时会出现奇怪的错误。所以还是每次下载单独指定即可。

2.2.安装Pytorch

2.2.1.CPU版

注:这部分笔记时间为2024年02月,可能现在的安装过程会有小区别。

进入Pytorch官网,往下翻,找到这个表格:

image-20240115115822553

笔者选择的是稳定版、windows、Conda(也可以选择Pip)、CPU版本,可以看到为我们生成了下载命令:

conda install pytorch torchvision torchaudio cpuonly -c pytorch

我们进入Anaconda Prompt命令行,创建一个虚拟环境,命令如下:

conda create -n 环境名 python=3.9

进入该环境:

conda activate 环境名
image-20240115121229770

然后运行刚刚从网站上复制的指令:

conda install pytorch torchvision torchaudio cpuonly -c pytorch

推荐科学上网,或者换源下载。下载完成后,再检查一下:

conda list

如果安装成功的话,列表会显示pytorch。如下所示:

image-20240115123449465

安装成功。

下面验证一下Pytorch能否被Python调用。在命令行输入:

python

如果已经成功激活Python解释器,会有三个>>>的标志,如下所示:

image-20240115173254629

再在命令行输入:

import torch
torch.cuda.is_available()

如果显示False,则Pytorch的CPU版本已经安装成功了:

image-20240115173616930

需要注意的是,import的是torch而非pytorch,函数torch.cuda.is_available()记得括号。

2.2.2.GPU版

英伟达显卡的运算平台是CUDA,PyTorch的下载组件中含有cudatoolkit,是CUDA的子集。一般要满足CUDA版本>cudatoolkit版本。

打开CMD命令行,输入:

nvcc -V

如果你已经安装了CUDA则会显示版本号,如果显示:

image-20241122131338082

那就进入支线剧情了:安装CUDA。如果不需要,则可以直接跳过,看主线剧情。

支线剧情:安装CUDA

在CMD命令行中输入:

nvidia-smi.exe
image-20241122134202316

这个版本是你的显卡所支持的最高版本的CUDA!

进入CUDA Toolkit - Free Tools and Training | NVIDIA Developer,可以直接下载最新版:

image-20241122131838926

也可以进入CUDA Toolkit Archive | NVIDIA Developer下载老版:

image-20241122131915550

进入Pytorch官网,往下翻,找到这个表格:

image-20241122132154171

所以我选择下载12.4.1版本CUDA,跳转后选择如下:

image-20241122132401377

Version是你Windows版本。然后点击下载即可,这里下载的过程会比较久,耐心等待即可。

下载完毕,双击安装,我选择的安装路径如下:

image-20241122134947373

安装过程需要注意的点:

image-20241122140038391
image-20241122140255523

在选择组件时,我仅勾选了我电脑上没有的组件、我电脑有但是版本落后的组件,如上图所示。然后在CUDA中取消VS,如下所示:

image-20241122140354905

如果你电脑上有VS,可以勾选;如果没有,一定不要勾选

选择安装位置:

image-20241122140829667

然后等待安装即可。安装完关闭窗口,回到CMD命令行,重新输入:

nvcc -V
image-20241122141217590

至此,完成CUDA安装。

有些教程还包括安装cudnn,实际上并不需要,PyTorch本身就包含了cudnn。

主线剧情:安装PyTorch

笔者选择的是稳定版、windows、Conda(也可以选择Pip)、CUDA12.4版本,可以看到为我们生成了下载命令:

conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia

我们进入Anaconda Prompt命令行,创建一个虚拟环境,命令如下:

conda create -n 环境名 python=3.9

进入该环境:

conda activate 环境名
image-20240115121229770

然后运行刚刚从网站上复制的指令:

conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia

推荐科学上网,或者换源下载。若换源,则输入:

conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c nvidia -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/

下载完成后,再检查一下:

conda list

如果安装成功的话,列表会显示pytorch。如下所示:

image-20241122153756784

安装成功。

下面验证一下Pytorch能否被Python调用。在命令行输入:

python

如果已经成功激活Python解释器,会有三个>>>的标志,如下所示:

image-20240115173254629

再在命令行输入:

import torch
torch.cuda.is_available()

如果显示True,则Pytorch的GPU版本已经安装成功了:

image-20241122153853528

需要注意的是,import的是torch而非pytorch,函数torch.cuda.is_available()记得括号。

原谅我的懒惰,配GPU版的时候直接用了几个CPU版的图,但是无伤大雅,不耽误理解,不耽误配置

这个win11的UI是好看哈

2.3.安装PyCharm、配置环境

在Pycharm官网进行下载,分为Professional和Community Edition。可以通过购买或进行学生认证的方式使用Professional版本,当然免费的Community Edition也足够用,自行选择进行下载。当然,也可以下载一个JetBrains Toolbox,对Jetbrains的开发工具进行统一管理。不论是哪种方式,下载安装都非常简单,速度也很快。

打开Pycharm,新建一个工程。先在Location(位置)输入工程保存的地址,注意地址要全英文:

image-20240115175125605

需要注意的是,以上图为例,E:\PythonStudy是你电脑种已有的文件夹,test0是你的工程名称。然后选择Python解释器,我们选择下面的方式:

image-20240115175158948

点击添加解释器:

image-20240115175223755

然后输入路径...\Anaconda\Scripts\conda.exe,其中...为Anaconda的安装路径。在使用现有环境中,选择刚刚创建好的环境:

image-20240115190851614

新版Pycharm配置方式如下:

image-20241122150500389

其中,Git repository是可选项,不勾也完全没问题。

有些版本的Pycharm可能还要配置Python解释器,Python解释器的路径为...\Anaconda\envs\PytorchStudy\python.exe,其中...为Anaconda的安装路径。**不要搞混了Conda可执行文件和Python解释器,二者不是一个东西,路径也不一样。**确定后即可创建:

image-20240115191740203

更换main.py中的代码:

import torch
print(torch.cuda.is_available())

点击运行,如果你是CPU版的PyTorch会输出:

image-20240115195708806

GPU版的PyTorch会输出:

image-20241122154453911

环境配置完毕。

2.4.(可选)汉化PyCharm

PyCharm的汉化方法与Jetbrains其他产品的汉化方法相同。点击File(文件)——Settings(设置)——Plugins(插件),搜索Chinese,找到标志为的插件,下载并应用即可。当然,汉化并非必须选择的。

image-20240115201552278

2.5.(可选)配置PyCharm终端

备注:这个方法我在2024年01月配置过没问题,但是2024年11月配置的时候出现问题,具体原因未知,可能是某些版本变化导致的。

Pycharm其实也可以直接打开终端,如果我们想打开Anaconda的命令行,则需要进行额外的配置。

首先,找到Anaconda Prompt (Anaconda)所在位置:

image-20240115202304030

在文件夹中,再右键——属性:

image-20240115202522831

如下所示:

image-20240115202554840

复制路径如下:

C:\Windows\System32\cmd.exe

点击文件(File)——设置(Settings)——工具(Tools)——终端(Terminal),将Shell路径修改为刚刚复制的路径:

image-20240115202733734

再打开终端,如下所示:

image-20240115202822965

这样我们就可以很方便地在Pycharm中输入命令,无需额外打开窗口了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP屏蔽海外IP的访问页面(源代码实例)

PHP屏蔽海外IP的访问页面&#xff08;源代码实例&#xff09;&#xff0c;页面禁用境外IP地址访问 <?php/*** 屏蔽海外ip访问* 使用ip2long函数得到ip转为整数的值&#xff0c;判断值是否在任一一个区间中* 以下是所有国内ip段* 调用方法&#xff1a;IschinaIp($ALLIPS)* …

“iOS profile文件与私钥证书文件不匹配”总结打ipa包出现的问题

目录 文件和证书未加载或特殊字符问题 证书过期或Profile文件错误 确认开发者证书和私钥是否匹配 创建证书选择错误问题 申请苹果 AppId时勾选服务不全问题 ​总结 在上线ios平台的时候&#xff0c;在Hbuilder中打包遇见了问题&#xff0c;生成ipa文件时候&#xff0c;一…

VUE 的前置知识

一、JavaScript----导图导出 1. JS 提供的导入导出机制&#xff0c;可以实现按需导入 1.1 在html页面中可以把JS文件通过 <script src"showMessage.js"></script> 全部导入 1.2 通过在JS文件中写export关键字导出通过 <script src"showMessage…

量子卷积神经网络

量子神经网络由量子卷积层、量子池化层和量子全连接层组成 量子卷积层和量子池化层交替放置&#xff0c;分别实现特征提取和特征降维&#xff0c;之后通过量子全连接层进行特征综合 量子卷积层、量子池化层和量子全连接层分别由量子卷积单元、量子池化单元和量子全连接单元组…

学习编程,学习中间件,学习源码的思路

01 看的多&#xff0c;内化不足 最近想复习一下编程相关的知识&#xff0c;在复习前我翻开了之前的一些笔记&#xff0c;这些笔记基本都是从书本、视频、博客等摘取记录的&#xff0c;看着这些笔记心里总结&#xff1a;看的多&#xff0c;内化不足。 02 整理大纲 为了解决这个…

MyBatis框架

1. 什么是MyBatis框架 MyBatis框架是一个优秀的持久层框架&#xff0c;为了简化JDBC开发。传统的JDBC编程编写起来很麻烦。 MyBatis框架使用了数据库连接池技术&#xff0c;避免了频繁的创建和销毁操作。 初始情况下&#xff0c;数据库连接池会默认创建一定数量的connection对…

IDEA配置本地maven

因为idea和maven是没有直接关系的。所以使用idea创建maven工程之前需要将本地的maven配置到idea环境中&#xff0c;这样才可以在idea中创建maven工程。配置方法如下&#xff1a; 1.1 配置本地maven 第一步&#xff1a;关闭当前工程&#xff0c;回到idea主界面找到customize--…

论文阅读——Intrusion detection systems using longshort‑term memory (LSTM)

一.基本信息 论文名称&#xff1a;Intrusion detection systems using longshort‑term memory (LSTM) 中文翻译&#xff1a;基于长短期记忆(LSTM)的入侵检测系统 DOI&#xff1a;10.1186/s40537-021-00448-4 作者&#xff1a;FatimaEzzahra Laghrissi1* , Samira Douzi2*, Kha…

企业OA管理系统:Spring Boot技术实现与案例研究

摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了企业OA管理系统的开发全过程。通过分析企业OA管理系统管理的不足&#xff0c;创建了一个计算机管理企业OA管理系统的方案。文章介绍了企业OA管理系统的系统分析部…

递归算法专题一>Pow(x, n)

题目&#xff1a; 解析&#xff1a; 代码&#xff1a; public double myPow(double x, int n) {return n < 0 ? 1.0 / pow(x,-n) : pow(x,n); }private double pow(double x, int n){if(n 0) return 1.0;double tmp pow(x,n / 2);return n % 2 0 ? tmp * tmp : tmp …

阿里云私服地址

1.解压apache-maven-3.6.1-bin 2.配置本地仓库&#xff1a;修改conf/dettings.xml中的<localReoisitory>为一个指定目录。56行 <localRepository>D:\apache-maven-3.6.1-bin\apache-maven-3.6.1\mvn_repo</localRepository> 3.配置阿里云私服&#xff1a;…

基于之前的秒杀功能的优化(包括Sentinel在SpringBoot中的简单应用)

这篇博客主要是对自己之前写的博客的一次优化&#xff0c;可以结合下面两篇博客进行这篇博客的阅读&#xff1a; 对自己关于秒杀功能的一次访谈与实战-CSDN博客 SpringBoot中使用Sharding-JDBC实战&#xff08;实战版本兼容Bug解决&#xff09;-CSDN博客 开始正题&#xff1a…

Redis Search系列 - 第七讲 Windows(CygWin)编译Friso

目录 一、背景二、安装CygWin三、编译Friso四、运行Friso五、Friso分词效果测试 一、背景 最近在做RedisSearch的中文分词效果调研&#xff0c;底层的中文分词插件使用的就是Friso&#xff0c;目前手里的Linux环境上yum镜像仓库有问题导致没法安装gcc&#xff0c;又急于验证Fr…

(动画)Qt控件 QLCDNumer

文章目录 LCD Number1. 介绍2. 核心属性3 . 代码实现:倒计时1. 在界⾯上创建⼀个 QLCDNumber , 初始值设为 10.2. 修改 widget.h 代码, 创建⼀个 QTimer 成员, 和⼀个 updateTime 函数3. 修改 widget.cpp, 在构造函数中初始化 QTimer4. 修改 widget.cpp, 实现 updateTime 4. 动…

《操作系统 - 清华大学》4 -5:非连续内存分配:页表一反向页表

文章目录 1. 大地址空间的问题2. 页寄存器&#xff08; Page Registers &#xff09;方案3. 基于关联内存(associative memory )的反向页表&#xff08;inverted page table&#xff09;4. 基于哈希&#xff08;hashed&#xff09;查找的反向页表5. 小结 1. 大地址空间的问题 …

web前端开发--动画效果

1、3D旋转 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>3D旋转</title><style type"text/css">div{/*设置大盒子样式*/width: 100px;height: 100px;/*background-color: rgba(255,0,0,0.5);*/ba…

linux入门——“僵尸进程、孤儿进程”

引入 在linux中&#xff0c;特别是我们自己写代码时&#xff0c;使用fork&#xff08;&#xff09;创建子进程的时候&#xff0c;需要知道两种特殊的进程——僵尸进程、孤儿进程。这是我们不可忽视的进程的两种特殊情况。 一、僵尸进程 在C语言编程中&#xff0c;僵尸进程的出…

【数据结构 | C++】部落

在一个社区里&#xff0c;每个人都有自己的小圈子&#xff0c;还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里&#xff0c;于是要请你统计一下&#xff0c;在一个给定社区中&#xff0c;到底有多少个互不相交的部落&#xff1f;并且检查任意两个人是否属…

维护在线重做日志(一)

学习目标 解释在线重做日志文件的目的概述在线重做日志文件的结构控制日志开关和检查点多路复用和维护在线重做日志文件使用OMF管理在线重做日志文件获取在线重做日志文件信息 在线重做日志文件提供了在数据库发生故障时重做事务的方法。 每个事务都同步写入重做日志缓冲区&a…

mayo介绍和QTqmake编译基于Opencascade开发的mayo工程-小白配置

目录: 一、mayo介绍:zap: 最新功能&#xff08;截止7.8.2&#xff09;在这里插入图片描述 二、编译准备三、编译过程3.1QT Creator打开源码的pro工程3.2修改几处pro配置3.3复制所需的动态链接库3.4编译完成 一、mayo介绍 1️⃣mayo是一个基于opencascade开源库开发的一个开源CA…