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

Ascend开发板镜像烧录、联网、其他设备访问

Ascend开发板镜像烧录、联网、外部访问

1.1 Ascend开发板制卡方式一:镜像烧录

SD卡插入读卡器,读卡器插入PC的USB接口
烧录镜像前,先格式化一下SD卡
参考教程:格式化SD卡、修复烧写系统失败的SD卡
Win+R,输入cmd

DISKPART

选择是后,输入以下命令

LIST DISK
SELECT DISK 数字
CLEAN
CREATE PARTITION PRIMARY
ACTIVE
FARMAT QUICK

格式化SD卡后进行镜像烧录过程:
参考教程:华为Atlas200DK的环境部署与运行demo(人脸识别)
镜像下载地址:更方便的200DK合设环境搭建方法——dd镜像
我的方案是使用Ascend AI Devkit Imager软件、操作系统镜像进行本地制卡
选择文件,找到目标镜像,点击烧录镜像即可


烧录完操作系统后,将SD卡插入ascend开发板SDCARD插槽,上电后进行后续步骤
镜像中已经包含了驱动和固件

张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(二)分设环境之运行环境准备

1.2 Ascend开发板制卡方式二:mksd

我发现镜像烧录后分区划分不满足我的要求,除了镜像直接制卡也可以采用mksd的方式进行制卡
参考教程:
1.张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(二)分设环境之运行环境准备
2.HUAWEI Atlas 200 DK 环境搭建与基本应用

TF卡格式化这个过程我是在笔记本Windows10中执行的

Win+R,输入cmd

DISKPART

选择是后,输入以下命令

LIST DISK
SELECT DISK 数字
CLEAN
CREATE PARTITION PRIMARY
ACTIVE

本小节中以下制卡过程在ubuntu中操作,博主使用台式机的Ubuntu22.04

#创建目录
sudo mkdir mksd
cd mksd
# 下载制卡脚本
wget https://raw.githubusercontent.com/Ascend/tools/master/makesd/generic_script/make_sd_card.py
wget https://raw.githubusercontent.com/Ascend/tools/master/makesd/generic_script/make_ubuntu_sd.sh
#下载ubuntu arm版操作系统镜像
wget http://old-releases.ubuntu.com/releases/18.04.3/ubuntu-18.04.5-server-arm64.iso
#下载200DK的CANN 5.0.4的nnrt驱动包
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/5.0.4.alpha005/Ascend-cann-nnrt_5.0.4.alpha005_linux-aarch64.run
#下载固件
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/turing/resource/atlas200dk/1.0.12/A200dk-npu-driver-21.0.3.1-ubuntu18.04-aarch64-minirc.tar.gz

#安装制卡时的依赖
pip3 install pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simple --user
sudo apt-get install qemu-user-static binfmt-support python3-yaml squashfs-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

将格式化完成后的TF卡查到ubuntru的主机上

#查看TF卡所在目录
sudo fdisk -l
#开始制卡
sudo python3 make_sd_card.py local /dev/sdb

1.3 Ascend开发板联网

参考教程:Atlas 200 DK(Model 3000)开发者套件的网络连接

我的方案:笔记本PC连接校园网WIFI,PC通过网线连接Ascend主板,PC将WIFI共享给网线,最终ascend开发板可以连接外网

步骤一:笔记本PC连接校园网WIFI
这一步正常进行校园网认证连接即可
特别注意:PC电脑重新启动后,IP会被自动重新分配,如果之前使用类似FileZilla的软件连接过ascend主板,请记得修改为你PC当前的IP地址

步骤二:PC通过网线连接Ascend主板
我的方案是烧录完镜像后,先通过usb0口接通主板,通过更改网络配置文件之后,才可以使用网线连接ascend开发板
为了能够使用type-c连接ascend开发板,我们需要安装相应驱动
参考教程:使用Type-C接口登录





安装完USB驱动后,我们打开终端连接ascend开发板
Win+R,输入cmd,在终端输入以下命令

ssh HwHiAiUser@192.168.1.2

如果之前使用镜像烧录过并且连接过开发板,连接过程中可能会出现以下情况:

使用以下命令解决问题:
删除旧的主机密钥记录:由于旧的主机密钥记录与当前服务器发送的密钥不匹配,你需要删除 known_hosts 文件中对应的记录。

ssh-keygen -f "C:\Users\替换为你的用户名\.ssh\known_hosts" -R 192.168.1.2

开发板默认passwords: Mind@123

在主板内部修改以太网接口配置信息

cd /etc/netplan
sudo vi 01-netcfg.yaml


修改完配置网络信息后,重启ascend开发板网络

netplan apply

修改完ascend开发板网络配置信息后,修改笔记本PC端的相关网络配置

特别注意:PC电脑重新启动后,可能这里设置过得IP地址和子网掩码会变,如果发现重启后无法连接,记得重新修改这里的设置

经过以上操作,目前PC已经可以通过网线连接ascend开发板了
Win+R,输入cmd,在终端输入以下命令

ssh HwHiAiUser@192.168.0.2

但是目前ascend开发板无法连接外网,接下来我们将学校WiFi分享给以太网接口,使得ascend可以连接外网
参考教程:Atlas 200 DK(Model 3000)开发者套件的网络连接



经过以上操作,ascend开发板可以连接外网了
Win+R,输入cmd,在终端输入以下命令

ssh HwHiAiUser@192.168.0.2

检查一下ascend是否可以连接外网

ping www.baidu.com


特别注意:如果发现PC电脑重启后无法连接,可以将WLAN关闭分享后重新分享给以太网

1.4 其他设备访问Ascend开发板

由于课题组内需要所有成员共同使用开发板进行开发,所以有必要使得其他成员都能通过ssh对开发板进行连接。

要让其他使用网线连接校园网的人连接你的 Ascend 开发板,在 Windows 10 系统的 PC 上可以按以下步骤操作,但要注意需先确认校园网策略允许此类操作:
1.确认网络信息
获取 Ascend 开发板 IP:Ascend 开发板通过网线连接到 PC 后,其 IP 地址为 192.168.0.2 。
明确服务端口:确定你希望其他用户连接到开发板上的服务端口,例如 SSH 服务默认端口是 22,HTTP 服务默认端口是 80。
配置 Windows 10 系统的端口转发
开启端口转发功能:
以管理员身份运行命令提示符。
输入以下命令开启 IP 转发功能:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v IPEnableRouter /t REG_DWORD /d 1 /f

2.配置 Windows 10 系统的端口转发:
以管理员身份再次运行命令提示符。
若要转发 SSH 服务(端口 22),使用以下命令:

netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=192.168.0.2 connectport=22

如果需要取消22端口转发
在 Windows 系统中,若之前使用netsh interface portproxy命令设置端口转发规则,可按以下步骤取消:
以管理员身份打开命令提示符:在开始菜单搜索框中输入 “cmd”,右键点击 “命令提示符”,选择 “以管理员身份运行”。
查看已有的端口转发规则:输入以下命令,查看当前系统中所有的端口转发规则:

netsh interface portproxy show all

取消指定的端口转发规则:根据要取消的规则,使用以下命令格式删除。
假设之前设置了将本地 22 端口转发到 Ascend 开发板(IP 为 192.168.0.2)22 端口的规则,现在要取消,命令如下:

netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=22

其中,listenaddress和listenport需与之前设置规则时的对应参数一致,这样就能删除相应的端口转发规则。

3.配置 Windows 防火墙
打开 “控制面板”,选择 “系统和安全”,然后点击 “Windows Defender 防火墙”。

在左侧导航栏中选择 “高级设置”。

在 “入站规则” 中,点击 “新建规则”。


规则类型选择 “端口”,点击 “下一步”。

选择 “TCP”,并指定特定本地端口(如 22 用于 SSH 服务),点击 “下一步”。

选择 “允许连接”,点击 “下一步”。

根据需要选择网络位置(如专用、公用等),点击 “下一步”。

为规则命名(如 “SSH 端口转发”),点击 “完成”。

1.5 安装CANN

烧录完镜像后我们已经有NPU驱动和固件了,现在我们安装CANN软件
什么是CANN?
异构计算架构CANN(Compute Architecture for Neural Networks)是昇腾针对AI场景推出的异构计算架构向上支持多种AI框架,包括MindSpore、PyTorch、TensorFlow等,向下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。同时针对多样化应用场景,提供多层次编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。


图片来源:CANN是什么

参考教程:CANN开发运行环境搭建流程

备份原镜像源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

更改系统apt镜像源

vi /etc/apt/sources.list

添加以下内容:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://repo.huaweicloud.com/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic main restricted universe multiversedeb https://repo.huaweicloud.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-updates main restricted universe multiversedeb https://repo.huaweicloud.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-backports main restricted universe multiversedeb https://repo.huaweicloud.com/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://repo.huaweicloud.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# deb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse

在 vim 编辑器中操作步骤如下:
进入编辑器后,按 dd 多次删除原有的内容。
按 i 进入插入模式,将上述内容复制粘贴到编辑器中。
按 Esc 键退出插入模式,输入 :wq 并回车保存并退出编辑器。

安装CANN软件之前需要安装依赖包
参考教程:安装依赖

检查源
请在root用户下执行如下命令检查源是否可用。

apt-get update

如果命令执行报错或者等待时间过长,则检查网络是否连接或修改“/etc/apt/sources.list”文件为可用源(以配置华为镜像源为例,可参考华为开源镜像站中镜像源对应的配置方法操作)

训练场景下,OS的最大线程数可能不满足训练要求,需执行以下命令修改最大线程数为无限制。
以root用户登录安装环境。
配置环境变量,修改线程数为无限制,编辑“/etc/profile”文件,在文件的最后添加如下内容后保存退出:

ulimit -u unlimited

执行如下命令使环境变量生效。

source /etc/profile

参考教程:编译安装Python3.7.5

以root安装Python3.7.5为例演示编译安装操作,编译前请检查系统时间,确认与当前一致后再进行编译,避免编译安装Python时陷入死循环。
安装源码编译所需依赖。

apt-get install -y gcc g++ make cmake libsqlite3-dev zlib1g-dev libssl-dev libffi-dev

使用wget下载python3.7.5源码包,可以下载到安装环境的任意目录,命令为:

wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz

进入下载后的目录,解压源码包,命令为:

tar -zxvf Python-3.7.5.tgz

进入解压后的文件夹,执行配置、编译和安装命令:

cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make
make install

其中“–prefix”参数用于指定python安装路径,用户根据实际情况进行修改。
设置python3.7.5环境变量。用户通过修改~/.bashrc文件方式设置永久环境变量,操作如下:
执行vi ~/.bashrc命令,打开.bashrc文件添加如下内容

export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/python3.7.5/bin:$PATH

保存文件后,执行source ~/.bashrc命令使其立即生效。

安装完成之后,执行如下命令查看安装版本,如果返回相关版本信息,则说明安装成功。

python3 --version
pip3 --version

配置pip源。
使用软件包的安装用户,执行如下命令:

cd ~/.pip

如果提示目录不存在,则执行如下命令创建:

mkdir ~/.pip
cd ~/.pip

编辑pip.conf文件。
使用vi pip.conf命令打开pip.conf文件,写入如下内容:

[global]
#以华为源为例,请根据实际情况进行替换。
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120

执行:wq!命令保存文件。

执行如下命令安装所需的Python第三方库:
root用户安装,执行如下命令:

pip3 install attrs cython numpy==1.21.6 decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.20 scipy requests absl-py

非root用户安装,执行如下命令:

pip3 install attrs cython numpy==1.21.6 decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.20 scipy requests absl-py --user

参考教程:张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(七)合设环境准备(mksd)
博主使用的是Ascend 200I DK
NPU驱动版本

cat /var/davinci/driver/version.info


NPU固件版本

cd /var/davinci/driver/
./upgrade-tool --device_index -1 --system_version

下图来自:合设环境之开发环境准备(mksd方式)

由于课题组内需要多人进行开发,为了方便采用开发环境和运行环境合设,所以这里在开发板上安装cann-toolkit
(如果是开发板仅作为运行环境则安装nnrt,PC机开发环境安装toolkit)

下述安装步骤均以root用户默认安装路径/usr/local/Ascend为例
对应的CANN-Toolkit安装包

wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/5.0.4.alpha005/Ascend-cann-toolkit_5.0.4.alpha005_linux-aarch64.run

CANN-Toolkit安装

chmod +x Ascend-cann-toolkit_5.0.4.alpha005_linux-aarch64.run
./Ascend-cann-toolkit_5.0.4.alpha005_linux-aarch64.run --check
./Ascend-cann-toolkit_5.0.4.alpha005_linux-aarch64.run --install


1.6 安装深度学习框架pytorch

参考教程:安装PyTorch

相关文章:

Ascend开发板镜像烧录、联网、其他设备访问

Ascend开发板镜像烧录、联网、外部访问 1.1 Ascend开发板制卡方式一:镜像烧录 SD卡插入读卡器,读卡器插入PC的USB接口 烧录镜像前,先格式化一下SD卡 参考教程:格式化SD卡、修复烧写系统失败的SD卡 WinR,输入cmd DIS…...

Llama-Factory框架下的Meta-Llama-3-8B-Instruct模型微调

目录 引言 Llama - Factory 训练框架简介: Meta - Llama - 3 - 8B - Instruct 模型概述: Lora 方法原理及优势: 原理 优势 环境准备: 部署环境测试: 数据准备: 模型准备: 模型配置与训练&#xff1…...

MySQL进阶-分析查询语句EXPLAIN

概述 能做什么? 表的读取顺序 数据读取操作的操作类型 哪些索引可以使用 哪些索引被实际使用 表之间的引用 每张表有多少行被优化器查询 官网介绍 https://dev.mysql.com/doc/refman/5.7/en/explain-output.html https://dev.mysql.com/doc/refman/8.0/…...

Python 高级编程与实战:构建数据可视化应用

在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧、数据科学、机器学习、Web 开发、API 设计、网络编程、异步IO、并发编程、设计模式与软件架构、性能优化与调试技巧、分布式系统、微服务架构、自动化测试框架以及 RESTf…...

学习threejs,Animation、Core、CustomBlendingEquation、Renderer常量汇总

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️Animation常量汇总1.1.1 循…...

Java直通车系列14【Spring MVC】(深入学习 Controller 编写)

目录 基本概念 编写 Controller 的步骤和要点 1. 定义 Controller 类 2. 映射请求 3. 处理请求参数 4. 调用业务逻辑 5. 返回响应 场景示例 1. 简单的 Hello World 示例 2. 处理路径变量和请求参数 3. 处理表单提交 4. 处理 JSON 数据 5. 异常处理 基本概念 Cont…...

【蓝桥杯集训·每日一题2025】 AcWing 5539. 牛奶交换 python

AcWing 5539. 牛奶交换 Week 3 3月6日 题目描述 农夫约翰的 N N N 头奶牛排成一圈,使得对于 1 , 2 , … , N − 1 1,2,…,N−1 1,2,…,N−1 中的每个 i i i,奶牛 i i i 右边的奶牛是奶牛 i 1 i1 i1,而奶牛 N N N 右边的奶牛是奶牛 …...

Mybatis缓存机制(一级缓存和二级缓存)

前言 为什么要学习Mybatis 缓存机制? 学习Mybatis 缓存机制,可以有效解决 数据库的压力,提高数据库的性能。 例如:你要 对tb_user 表 ,查询 所有用户的信息,并且多次查询所有用户信息。我们知道第一次查询表信息流…...

设计模式--单例模式

一、单例模式代码实现 public class DatabaseConnection {// 1. 私有静态实例变量private static DatabaseConnection instance;// 2. 私有构造函数,防止外部直接创建实例private DatabaseConnection() {// 初始化数据库连接System.out.println("Database con…...

ubuntu22.04本地部署OpenWebUI

一、简介 Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台,旨在完全离线运行。它支持各种 LLM 运行器,如 Ollama 和 OpenAI 兼容的 API,并内置了 RAG 推理引擎,使其成为强大的 AI 部署解决方案。 二、安装 方法 …...

2025-3-7二叉树的线索化

一、中序线索化 代码其实就是和中序遍历相似,增加了两个标志位 ltag rtag。 完整的代码: 二、先序线索化: 三、后序线索化: 总结:其核心其实还是遍历算法的改造。 并且注意处理最后一个被访问的节点。...

以商业思维框架为帆,驭创业浪潮前行

创业者踏入商海,如同航海家奔赴未知海域,需有清晰的思维罗盘指引方向。图中“为什么—用什么—怎么做—何人做—投入产出”的商业框架,正是创业者破解商业谜题的密钥,从需求洞察到落地执行,为创业之路铺就逻辑基石。 …...

海思Hi3516DV300交叉编译opencv

OpenCV是一个开源的跨平台计算机视觉库,支持C、Python等多种语言,适用于图像处理、目标检测、机器学习等任务。其核心由C编写,高效轻量,提供实时视觉处理功能,广泛应用于工业自动化、医疗影像等领域。 1 环境准备 1…...

基于NIST后量子算法的混合加密系统

目录 基于NIST后量子算法的混合加密系统一、前言二、后量子密码学概述2.1 后量子密码学的背景2.2 NIST候选后量子算法 三、混合加密系统的设计原理3.1 混合加密的基本思想3.2 数学公式与证明3.3 混合加密系统的优势 四、工程实现与优化策略4.1 算法层面优化4.2 工程实现优化 五…...

uni-app 开发ios 使用testFlight 进行分发测试

一、生成ipa 首先你要生成一个ipa包,怎么生成这个包,可以在uniapp打包安卓和iOS包 二、上传到分发平台 在这里我使用的是Transporter ,当然你也可以看下其他分发平台 在mac电脑app store中下载Transporter,双击打开, 点击添加,将打包好的ipa文件放上去,注意打包的时…...

Node.js入门笔记2---下载安装Node.js

Node.js入门笔记2 Node.js下载并安装的步骤1.Node.js 环境的安装2. 区分 LTS 版本和 Current 版本的不同3.项目node管理版本工具4.Node.js 包管理工具5.MSI与ZIP文件格式的主要区别6. 选择好上面的内容,点击下载mis7. 环境配置 Node.js下载并安装的步骤 1.Node.js …...

基于微信小程序的超市购物系统+论文源码调试讲解

4 系统设计 超市购物系统的设计方案比如功能框架的设计,比如数据库的设计的好坏也就决定了该系统在开发层面是否高效,以及在系统维护层面是否容易维护和升级,因为在系统实现阶段是需要考虑用户的所有需求,要是在设计阶段没有经过…...

OpenCV视频解码实战指南

硬核解析OpenCV视频处理底层原理,从零实现高效视频解码流水线!附赠FFmpeg调优参数和异常帧处理方案,建议收藏备用。 📺 视频解码核心原理 视频容器 vs 编码格式 类型常见格式特点容器格式MP4/MKV/AVI/MOV存储封装格式&#xff0…...

Python的那些事第四十三篇:功能强大的测试框架pytest

pytest:功能强大的测试框架 摘要 本文旨在深入探讨 pytest 这一功能强大的测试框架。pytest 具有简单易用、功能丰富等特点,支持分布式测试、自动化测试用例发现等功能。本文将从 pytest 的基本概念、主要功能、使用方法等多个方面进行详细阐述,并通过具体的代码示例和表格…...

工程化与框架系列(23)--前端性能优化(下)

前端性能优化(用户体验) 🎨 引言 用户体验(UX)性能优化是前端性能优化的重要组成部分。本文将探讨如何通过优化用户体验相关的性能指标,提升用户对应用的满意度,包括感知性能、交互响应、视觉…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...