当前位置: 首页 > news >正文

深度学习之开发环境(CUDA、Conda、Pytorch)准备(4)

目录

1.CUDA 介绍

1.1 CUDA 的基本概念

1.2 CUDA 的工作原理

1.3 CUDA 的应用领域

2. 安装CUDA

2.1 查看GPU版本

 2.2 升级驱动(可选)

2.3 查看CUDA版本驱动对应的支持的CUDA ToolKit工具包

2.4 下载Toolkit

2.5 安装(省略)

2.6 验证安装 nvcc -V

2.7 卸载 CUDA版本(可选)

3. Anaconda 介绍

3.1 Anaconda 的主要功能和特点:

3.2 Anaconda 的使用场景

4. 安装Anaconda

4.1 安装(省略)

4.2 配置环境变量Path

4.3 验证

4.4 更改镜像源

4.5 修改默认存储位置(可选,但建议修改)

4.6 常用命令

4.6.1 常用快捷键

4.6.2 常用命令(Jupyter Notebook)

4.6.3 常用命令(Anaconda Prompt )

环境管理

包管理

缓存与配置

 其他常用命令

 5. Pytorch 介绍

PyTorch 的特点

6. 安装Pytorch

6.1 创建conda虚拟环境

6.2 安装 pytorch

验证


1.CUDA 介绍

       CUDA(Compute Unified Device Architecture)是由NVIDIA公司推出的一种并行计算平台和编程模型,它使得开发者能够利用NVIDIA GPU的强大并行计算能力来加速计算密集型任务。CUDA 不仅是一种编程语言,更是一个完整的开发平台,包括了硬件、软件、驱动程序、库和工具等。

1.1 CUDA 的基本概念

  1. 硬件支持:CUDA 要求使用支持 CUDA 技术的 NVIDIA GPU。这些 GPU 包含了大量的计算单元(CUDA Cores),能够同时执行多个线程,以实现并行计算。

  2. 编程模型:CUDA 提供了基于 C/C++ 的编程模型,允许开发者编写在 GPU 上执行的代码。CUDA 代码通常分为两部分:一部分运行在主机(Host,通常是 CPU)上,另一部分运行在设备(Device,通常是 GPU)上。运行在设备上的代码称为核函数(Kernel),它们由主机上的代码调用并在 GPU 上并行执行。

  3. 内存层次结构:CUDA 设计了一个多层次的内存体系结构,包括全局内存(Global Memory)、共享内存(Shared Memory)、常量内存(Constant Memory)、纹理内存(Texture Memory)等。不同类型的内存具有不同的访问特性和速度,合理使用这些内存可以显著提升程序性能。

    9de07c5bcb104851a7742174513ce8cd.png

1.2 CUDA 的工作原理

1b13e588f8c04b0e89dcbe74aec0c4db.png

  1. 主机与设备:在 CUDA 中,CPU 称为主机(Host),GPU 称为设备(Device)。主机负责启动计算任务,并将数据传输到设备上,设备负责执行并行计算任务。

  2. 网格与块:CUDA 中的并行任务组织成网格(Grid),每个网格包含多个块(Block),每个块又包含多个线程(Thread)。这种层次结构允许开发者控制并行程度和数据共享方式。

  3. 核函数:这是在 GPU 上运行的函数,由主机代码调用。每个线程执行核函数的一份拷贝,每个线程处理数据的不同部分。核函数是 CUDA 程序的核心,它们在 GPU 上并行执行,处理大量的数据。

1.3 CUDA 的应用领域

  • 深度学习:许多深度学习框架,如 TensorFlow、PyTorch 等,都支持 CUDA 加速,能够大幅加快模型训练和推理的速度。通过 CUDA,可以利用 GPU 的并行计算能力来加速神经网络的训练和预测。
  • 科学计算:CUDA 可以用于模拟物理、化学等领域中的复杂系统,加速数值计算。例如,在分子动力学模拟、天气预报等方面,CUDA 可以提供显著的性能提升。
  • 图像和视频处理:利用 GPU 的并行处理能力,CUDA 可以加速图像和视频的渲染和处理任务。从图像识别到视频编辑,CUDA 都能提供强大的支持。
  • 金融建模:在金融行业中,CUDA 可以用于快速计算期权定价、风险评估等复杂的金融模型。

2. 安装CUDA

TIP:后续需要安装Pytorch,可先检查Pytorch版本是否与CUDA版本相匹配再决定是否升级CUDA。

       笔者环境:CUDA v11.2,驱动 v462.42 ,但Pytorch 早期版本支持CUDA v11.1 和v11.3,就会比较纠结。

       于是升级驱动 v561.09,CUDA v12.6,但Pytorch 最新版本支持的CUDA v12.1 和v12.4

2.1 查看GPU版本

cmd命令输入 nvidia-smi

8c2064c3a54149068a0c2ea853e97f02.png

 2.2 升级驱动可选

如果显卡驱动版本过低,检查是否可以升级驱动

NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIA

手动升级

 自动升级:下载GeForce 

 验证升级:

2.3 查看CUDA版本驱动对应的支持的CUDA ToolKit工具包

CUDA 12.6 Update 1 Release Notes

5fcdb84aa37345fdaf800f1ce7c0f977.png

2.4 下载Toolkit

CUDA Toolkit Archive | NVIDIA Developer

2.5 安装(省略)

2.6 验证安装 nvcc -V

9c853753f74347b1bc1b0c8cb64ec9f6.png

2.7 卸载 CUDA版本(可选)

卸载旧版本,为了安装新版本

控制面板-程序和功能,选择对应的程序进行卸载


3. Anaconda 介绍

        Anaconda 是一个开源的 Python 和 R 语言的分发版本,主要用于数据科学、机器学习和大数据分析。它提供了一个完整的科学计算环境,包含了多种流行的数据分析、可视化、机器学习等工具包,是数据科学和开发人员的常用平台。Anaconda 可以在不同的操作系统上运行,包括 Windows、macOS 和 Linux。

3.1 Anaconda 的主要功能和特点:

  • 包管理和环境管理:

Anaconda 内置了 Conda,一个强大的包管理和环境管理工具。它可以轻松地创建独立的虚拟环境、安装和管理不同版本的 Python 以及其他科学计算相关的库,避免包冲突。

  • 内置常用库:

Anaconda 默认自带超过 1500 个数据科学和机器学习相关的库,比如 NumPy、Pandas、Matplotlib、SciPy、Scikit-learn 等,不需要手动安装,节省开发时间。

  • Jupyter Notebook:

Anaconda 集成了 Jupyter Notebook,这是一个交互式的开发环境,方便进行数据分析和算法调试。开发人员可以在一个网页界面中编写和运行代码,并即时查看结果。

  • 图形界面管理工具:

Anaconda 提供了一个可视化管理界面,叫做 Anaconda Navigator,用户可以通过图形界面轻松管理包、创建环境、启动 Jupyter Notebook 或其他工具,比如 Spyder、RStudio。

  • 跨平台支持:

无论你使用的是 Windows、macOS 还是 Linux,Anaconda 都能提供一致的开发体验,并支持在不同操作系统上进行科学计算。

  • 简化部署:

Anaconda 通过 Conda 包管理器,支持快速的项目部署。它可以将整个开发环境打包,确保在不同机器上都能复现项目的环境配置。

3.2 Anaconda 的使用场景

  • 数据科学: Anaconda 是数据科学家们的理想工具,提供了大量用于数据清洗、分析、建模的工具和库。
  • 机器学习: 内置常用机器学习库如 TensorFlow、Keras、Scikit-learn 等,方便搭建、训练和测试机器学习模型。
  • 大数据分析: 通过与 Hadoop、Spark 等工具的集成,Anaconda 支持大规模数据处理和分布式计算。

4. 安装Anaconda

官网地址:

Download Now | Anaconda

4eecfa9682c0400683e4319c8fc29147.png

镜像地址下载(可选,速度较快):anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

4.1 安装(省略)

4.2 配置环境变量Path

F:\IT\software\Anaconda3\Library\bin   #替换为你真实的安装路径

aec8be87ee9d4d58826b9d5a31165c44.png

4.3 验证

按下Win+R,输入cmd打开终端。 ac677c04bfda4010861d1f3ec183a28e.png

4.4 更改镜像源

  • 创建 .condarc 文件

不同系统下的 .condarc 目录如下:
- Linux: ${HOME}/.condarc
- macOS: ${HOME}/.condarc
- Windows: C:\Users\<YourUserName>\.condarc

TIP:* Windows 用户无法直接创建名为 .condarc 的文件,

可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改

 .condarc 文件插入以下内容

channels:- defaults
show_channel_urls: true
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

4.5 修改默认存储位置(可选,但建议修改)

.condarc 文件末尾追加,注意:同时修改envs和pkgs 

envs_dirs:- E:\IT\conda_env
pkgs_dirs:    - E:\IT\conda_pkgs
  •  验证

conda info ,发现默认路径修改了

conda create env_name ,默认路径也修改了

参考信息 anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror


4.6 常用命令

  • Jupyter Notebook 使用

打开Jupyter Notebook 即可 / 或者打开Anaconda Prompt 输入jupyter notebook

e1a8f6c0efed40de9895909bad988bf5.png
4.6.1 常用快捷键

Jupyter Notebook有两种输入模式:命令模式和编辑模式。

  • 命令模式(蓝色边框):用于控制单元格的行为,如添加、删除、移动单元格等。
    • A:在当前单元格上方插入新单元格。
    • B:在当前单元格下方插入新单元格。
    • D, D(连续按两次D):删除当前单元格。
    • M:将当前单元格转换为Markdown模式。
    • Y:将当前Markdown单元格转换为代码模式。
    • Enter:进入编辑模式。
  • 编辑模式(绿色边框):用于在单元格中输入代码或文本。
    • Tab:代码补全。
    • Shift + Tab:显示函数的文档字符串。
    • Ctrl + Enter:运行当前单元格。
    • Shift + Enter:运行当前单元格并选中下一个单元格。
    • Alt + Enter:运行当前单元格并在下方插入新单元格。
  • 模式切换:通过按Esc键可以从编辑模式切换到命令模式,通过按Enter键可以从命令模式切换到编辑模式。
  • 代码执行:在编辑模式下,可以使用上述快捷键或点击工具栏中的“运行”按钮来执行单元格中的代码。
  • Markdown支持:Jupyter Notebook支持Markdown语法,可以在Markdown单元格中编写格式化的文本、插入链接、图片等。
4.6.2 常用命令(Jupyter Notebook)
  1. 安装包
    • 使用pip安装库:pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple(使用清华源加速下载)
    • 查看当前环境:import sys; print(sys.executable)
    • 查看已安装包及其版本:pip list
  2. 文件读取
    • 读取Excel文件:使用pandas库,pd.read_excel('文件名.xlsx')
    • 读取CSV文件:使用pandas库,pd.read_csv('文件名.csv')
  3. 系统查看
    • 查看操作系统信息:import platform; print(platform.platform())
    • 查看Python运行环境信息:import sys; print(sys.version)
    • Linux系统查看GPU信息:!nvidia-smi
    • Linux系统查看内存信息:!free -h
    • Linux系统查看CPU信息:cat /proc/cpuinfo
  4. 魔法命令(Magic Commands)
    • %matplotlib inline:在Jupyter Notebook中嵌入Matplotlib生成的图形。
    • %time:测量单个语句的执行时间。
    • %timeit:提供更准确的代码运行时间测量,自动多次执行以计算平均值和标准差。
    • %ls:列出当前目录的文件和文件夹。
    • %pwd:显示当前工作目录。
    • %run:运行外部Python脚本。
    • %load:将外部脚本的内容加载到当前单元格中。
4.6.3 常用命令(Anaconda Prompt )

打开Anaconda Prompt 

a. 环境管理
  • 创建新环境

# 创建一个名为 myenv_name 的新环境,并指定Python版本为3.10。

conda create --name myenv_name python=3.10

# 从environment.yml文件中创建环境。
conda env create -f environment.yml

  • 查看已有环境

# 列出所有已创建的环境

conda info --envs 或 conda env list

  • 激活环境

# 激活名为 myenv_name 的环境

conda activate myenv_name

  • 退出环境

# 退出当前激活的环境

conda deactivate

  • 删除环境

# 删除名为myenv的环境及其中的所有包

conda remove --name myenv_name --all

  • 复制环境

# 复制名为old_env的环境到名为new_env的新环境

conda create --name new_env --clone old_env

b. 包管理
  • 安装包

# 在当前环境中安装numpy包
conda install numpy
# 安装指定版本的numpy包
conda install numpy=1.20
# 从conda-forge频道安装numpy包
conda install numpy -c conda-forge

  • 更新包

# 更新numpy包到最新版本
conda update numpy

  • 卸载包

# 卸载numpy包
conda remove numpy

  • 搜索包

# 搜索numpy包的所有可用版本
conda search numpy

c. 缓存与配置
  • 清理缓存

# 清理conda的缓存,包括下载的包和临时文件

conda clean --all

  • 查看配置

# 显示当前conda的配置信息

conda config --show

  • 添加/删除/设置镜像源

# 添加镜像源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

# 删除镜像源:

conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

# 设置默认镜像源:

conda config --prepend channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

d. 其他常用命令
  • 查看conda版本

# 显示conda的版本号

conda --version 或 conda -V

  • 查看已安装包

# 在激活的环境中列出所有已安装的包

conda list

# 列出指定环境(如myenv)中已安装的包。

conda list -n myenv


 5. Pytorch 介绍

       PyTorch 是一个开源的机器学习库,由 Facebook 的人工智能研究实验室 FAIR(Facebook AI Research)开发并维护。它主要用于实现深度学习模型,并且提供了强大的 GPU 加速功能。PyTorch 的设计初衷是为了提供灵活性和易用性,使得研究人员可以更方便地进行实验。

PyTorch 的特点

  1. 动态计算图:与一些需要静态图定义的框架不同,PyTorch 支持动态构建计算图,这使得开发者在调试和修改模型时更加灵活方便。

  2. 易于上手:PyTorch 使用 Python 语言编写,API 设计直观,接近自然语言,易于学习和使用。

  3. 自动微分:PyTorch 提供了自动求导的功能,简化了梯度计算的过程,使得开发者能够专注于模型的设计而不是繁琐的数学推导。

  4. 丰富的预训练模型库:PyTorch 拥有大量预训练好的模型,用户可以直接使用这些模型进行迁移学习等任务。

  5. 强大的社区支持:由于其灵活性和易用性,PyTorch 获得了广泛的社区支持,包括大量的插件、教程和第三方库。

  6. 分布式训练支持:PyTorch 提供了分布式训练的支持,可以用于多机多卡的场景,这对于大规模数据集的处理非常有用。

  7. 可移植性和生产环境部署:PyTorch 还提供了工具来将模型转换为 C++ 可执行文件或者 ONNX 格式,便于在生产环境中部署。

6. 安装Pytorch

官网地址:PyTorch

6.1 创建conda虚拟环境

conda create --name deeplearn python=3.10

conda activate deeplearn

6.2 安装 pytorch

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

验证
(E:\IT\conda_env\deeplearn) C:\Users\*****>python
Python 3.10.14 | packaged by Anaconda, Inc. | (main, May  6 2024, 19:44:50) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> x = torch.rand(5)
>>> x
tensor([0.5679, 0.3314, 0.5000, 0.6988, 0.2062])
>>>

相关文章:

深度学习之开发环境(CUDA、Conda、Pytorch)准备(4)

目录 1.CUDA 介绍 1.1 CUDA 的基本概念 1.2 CUDA 的工作原理 1.3 CUDA 的应用领域 2. 安装CUDA 2.1 查看GPU版本 2.2 升级驱动&#xff08;可选&#xff09; 2.3 查看CUDA版本驱动对应的支持的CUDA ToolKit工具包 2.4 下载Toolkit 2.5 安装&#xff08;省略&#xff0…...

10月2日笔记(内网资源探测篇)

内网资源探测 在内网渗透中&#xff0c;测试人员往往需要通过各种内网扫描技术来探测内网资源的情况&#xff0c;为后续的横向渗透做准备&#xff0c;通常需要发现内网存活的主机&#xff0c;并探测主机的操作系统、主机开放了哪些端口、端口上运行了哪些服务、服务的当前版本…...

SpringCloud-基于Docker和Docker-Compose的项目部署

一、初始化环境 1. 卸载旧版本 首先&#xff0c;卸载可能已存在的旧版本 Docker。如果您不确定是否安装过&#xff0c;可以直接执行以下命令&#xff1a; sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logro…...

Linux下的基本指令/命令(一)

目录 基本命令 1. Is命令/指令: 罗列当前目录下指定的文件或者目录. 2. pwd命令&#xff1a; 查看当前工作的路径 3. cd命令&#xff1a; 切换到指定路径下。 只能切换到目录中 4. tree命令: 树状显式目录 使用前要输入命令 yum install -y tree &#xff0c;用来安装一个…...

从零开始Ubuntu24.04上Docker构建自动化部署(四)Docker安装gitlab

你会发现所有gitlab都无法拉取到的情况下&#xff0c;经查找极狐下的gitlab还可以下载&#xff0c;具体如下&#xff1a; 建议保存地址&#xff1a; https://packages.gitlab.cn/#browse/searchkeyword%3Dgitlab 最新版本&#xff1a; sudo docker pull registry.gitlab.cn…...

No module named ‘_ssl‘

目录 背景具体报错检验升级过程步骤一&#xff1a;升级ssl。步骤二&#xff1a;重新编译安装python 背景 换了台服务器按照之前centos升级python版本升级python正常编译安装成功&#xff0c;但是当使用时又出现了奇怪的报错&#xff0c;估计是机器太老了 具体报错 这个报错也…...

Linux —— Socket编程(三)

一、本章重点 1. tcp服务器实现思路&#xff0c;进一步了解和总结相关的接口 2. 了解日志和守护进程 二、tcp服务器核心思路 tcp版的服务器与udp的不同在于&#xff0c;udp是面向数据报传输数据&#xff0c;在数据传输中不需要建立与客户端的链接&#xff0c;直接用recvfrom…...

5G N2 N3 N6 NB口

在5G架构中&#xff0c;N2、N3和N6是三种关键的接口&#xff0c;每个接口都有其特定的功能和应用场景。 N2接口&#xff1a; N2接口是5G无线接入网&#xff08;RAN&#xff09;与5G核心网&#xff08;5GC&#xff09;之间的控制面接口。它主要负责传递控制平面消息&#xff0c…...

【数据结构】堆(Heap)详解

在深入了解堆这一重要的数据结构之前&#xff0c;不妨先回顾一下我之前的作品 ——“二叉树详解”。 上篇文章&#x1f449;剖析二叉树&#xff08;Binary Tree&#xff09; 二叉树作为一种基础的数据结构&#xff0c;为我们理解堆以及其他更复杂的数据结构奠定了坚实的基础。它…...

《Linux从小白到高手》理论篇(四):Linux用户和组相关的命令

List item 本篇介绍Linux用户和组相关的命令&#xff0c;看完本文&#xff0c;有关Linux用户和组相关的常用命令你就掌握了99%了。Linux用户和组相关的命令可以分为以下六类&#xff1a; 一.用户和用户组相关查询操作命令&#xff1a; Id id命令用于显示用户的身份标识。常见…...

OpenGL ES 之EGL(6)

OpenGL ES 之EGL(6) 简述 EGL是OpenGL ES的封装&#xff0c;目的是跨设备跨平台&#xff0c;隔离不同平台对窗口不同的实现。上一节我们基本没有使用到EGL&#xff0c;因为GLSurfaceView帮助我们处理了相关的逻辑&#xff0c;我们这一节来看一下EGL的一些概念以及接口的使用。…...

kotlin 委托

一、类委托 interface DB{fun insert() } class SqliteDB : DB {override fun insert() {println(" SqliteDB insert")} }class MySql : DB{override fun insert() {println(" MySql insert")} }class OracleDB : DB{override fun insert() {println(&quo…...

Stream流的中间方法

一.Stream流的中间方法 注意1&#xff1a;中间方法&#xff0c;返回新的Stream流&#xff0c;原来的Stream流只能使用一次&#xff0c;建议使用链式编程 注意2&#xff1a;修改Stream流中的数据&#xff0c;不会影响原来集合或者数组中的数据 二.filter filter的主要用法是…...

【车载开发系列】ParaSoft单元测试环境配置(四)

【车载开发系列】ParaSoft单元测试环境配置&#xff08;四&#xff09; 【车载开发系列】ParaSoft单元测试环境配置&#xff08;四&#xff09; 【车载开发系列】ParaSoft单元测试环境配置&#xff08;四&#xff09;一. 如何设置过滤二. 如何设置静态扫描的规则三. 如何设置单…...

IDEA 设置自动定位文件

一、场景分析 IDEA 在使用的过程中&#xff0c;发现有时候&#xff0c;打开一个类&#xff0c;它并不能自动帮我们在左侧 Project 树中定位出文件&#xff0c;需要自己手动点击 瞄准 图标。很不方便。 二、解决方法 1、点击 瞄准 图标旁边的 竖三点 2、将 Alwasy Select Opene…...

Nature Machine Intelligence 基于强化学习的扑翼无人机机翼应变飞行控制

尽管无人机技术发展迅速&#xff0c;但复制生物飞行的动态控制和风力感应能力&#xff0c;仍然遥不可及。生物学研究表明&#xff0c;昆虫翅膀上有机械感受器&#xff0c;即钟形感受器campaniform sensilla&#xff0c;探测飞行敏捷性至关重要的复杂气动载荷。 近日&#xff0…...

[Web安全 网络安全]-XXE 外部实体注入攻击XML

文章目录&#xff1a; 一&#xff1a;前言 1.定义 1.1 XXE 1.2 XML可扩展标记语言 2.DDT文档类型定义 2.1 分类 2.2 元素element DTD元素 DTD属性 2.3 实体entity DTD实体类别 DTD实体声明引用 声明&#xff1a;内部 外部 参数实体 公共实体 引用&#xff1a;…...

8--苍穹外卖-SpringBoot项目中套餐管理 详解(二)

目录 删除套餐 需求分析和设计 代码开发 根据id查询套餐 mapper层 Service层 ServiceImpl层 Mapper层 批量删除套餐 mapper层 Service层 ServiceImpl层 Mapper层 SetmealMapper.xml 修改套餐 需求分析和设计 代码开发 起售停售套餐 需求分析和设计 代码开发…...

测试面试题:pytest断言时,数据是符点类型,如何断言?

在使用 Pytest 进行断言时&#xff0c;如果数据是浮点类型&#xff0c;可以使用以下方法进行断言&#xff1a; 一、使用pytest.approx pytest.approx可以用来比较两个浮点数是否近似相等。例如&#xff1a; import pytestdef test_float_assertion():result 3.14159expecte…...

Python与MongoDB交互

一、基本概念 MongoDB: 一个面向文档的数据库系统&#xff0c;使用BSON&#xff08;Binary JSON&#xff09;作为存储格式。集合&#xff08;Collection&#xff09;: 类似于关系型数据库中的表&#xff0c;是文档的集合。文档&#xff08;Document&#xff09;: MongoDB中的基…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型

在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重&#xff0c;适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解&#xff0c;并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...

Vue 3 + WebSocket 实战:公司通知实时推送功能详解

&#x1f4e2; Vue 3 WebSocket 实战&#xff1a;公司通知实时推送功能详解 &#x1f4cc; 收藏 点赞 关注&#xff0c;项目中要用到推送功能时就不怕找不到了&#xff01; 实时通知是企业系统中常见的功能&#xff0c;比如&#xff1a;管理员发布通知后&#xff0c;所有用户…...