外贸网站建设要注意什么/今日全国最新疫情通报

外贸网站建设要注意什么,今日全国最新疫情通报,网站开发成本报表,宜昌c2b网站建设start DL from stratch &#xff08;2&#xff09;!!! 一、CPU and GPUcpuGPU安培架构爱达洛夫莱斯架构 二、使用conda创建一个新的虚拟环境三、autodl操作先知Linux复习目录文件和数据上传对于整个镜像的操作守护进程Tips 四、autodl租用创建实例<big>没有所需要的版本的…

start DL from stratch (2)!!!

    • 一、CPU and GPU
      • cpu
      • GPU
      • 安培架构
      • 爱达·洛夫莱斯架构
    • 二、使用conda创建一个新的虚拟环境
    • 三、autodl操作先知
      • Linux复习
      • 目录
      • 文件和数据上传
      • 对于整个镜像的操作
      • 守护进程
      • Tips
    • 四、autodl租用
      • 创建实例
      • ==<big>没有所需要的版本的话<big>==
      • 连接pycharm
      • 配置环境
      • GitHub上项目
      • 开具发票
    • 五、ssh和sftp
    • 六、性能
      • nvidia-smi -l 1
      • 如果发现GPU利用率较低时可以按下述方法排查瓶颈
      • numpy
      • 其余经验

主要解决DL入门关于相关软件的配置问题,使用autodl远程使用实例。

续前节 Start DL from stratch(1) !!!

一、CPU and GPU

参考:::
CPU-GPU

cpu

CPU非常重要!尽管CPU并不直接参与深度学习模型计算,但CPU需要提供大于模型训练吞吐的数据处理能力。比如,一台8卡NVIDIA V100的DGX服务器,训练ResNet-50 ImageNet图像分类的吞吐就达到8000张图像/秒,而扩展到16卡V100的DGX2服务器却没达到2倍的吞吐,说明这台DGX2服务器的CPU已经成为性能瓶颈了。
理想情况下,模型计算吞吐随GPU数量线性增长,单GPU的合理CPU逻辑核心数分配可以直接线性扩展到多GPU上。每块GPU应配备至少4~8核心的CPU,以满足多线程的异步数据读取。

GPU

我们建议在实例上启用深度学习框架的混合精度训练来加速模型计算相较于单精度训练,混合精度训练通常能够提供2倍以上的训练加速。

GPU的数量选择与训练任务有关。一般我们认为模型的一次训练应当在24小时内完成,这样隔天就能训练改进之后的模型。以下是选择多GPU的一些建议:

1块GPU。适合一些数据集较小的训练任务,如Pascal VOC等。
2块GPU。同单块GPU,但是你可以一次跑两组参数或者把Batchsize扩大。
4块GPU。适合一些中等数据集的训练任务,如MS COCO等。
8块GPU。经典永流传的配置!适合各种训练任务,也非常方便复现论文结果。
我要更多!用于训练大参数模型、大规模调参或超快地完成模型训练。

内存和CPU配置的分配逻辑为按GPU的数量成倍数分配,比如在主机上看到的CPU和内存分配规则为:32GB/GPU、8核/GPU,那么租用1块GPU时实例的配置为1卡GPU; 8核CPU; 32GB内存,租用2块GPU时实例的配置为2卡GPU; 16核CPU; 64GB内存,依此类推。

在这里插入图片描述

安培架构

NVIDIA Ampere 架构
安培架构是继图灵(Turing)架构之后的下一代架构
用于其 RTX 30 系列显卡(如 RTX 3090、RTX 3080、RTX 3070 等)。

爱达·洛夫莱斯架构

NVIDIA Ada Lovelace架构
是继安培架构之后推出的下一代 GPU 架构,命名来源于 19 世纪数学家 Ada Lovelace,她被认为是世界上第一位计算机程序员
RTX 40 系列

二、使用conda创建一个新的虚拟环境

在这里插入图片描述

三、autodl操作先知

Linux复习

在AutoDL租用实例的系统默认为Linux Ubuntu发行版,因此熟悉使用基本的Linux命令对于训练模型非常有必要
Linux操作系统中,几乎所有的东西都以文件夹或文件形式存在,这些文件夹/文件有一个共同的根目录/。如果我们在某块磁盘A上(无其他分区)安装了Linux操作系统后,那么根目录下将会有此类默认的系统目录:

$ ls /
bin  etc  lib  mnt  proc  run  tmp  var  boot  dev  home  root  srv  sys   usr

具体命令如下:::
经常去pwd + ls + tree!!!

ls # 列出当前目录下的文件和文件夹
ls -l # 列出文件和文件夹的详细信息:权限,Owner,Group和创建/更新时间
mkdir test_dir # 新建一个叫test_dir的路径
mkdir a b # 创建两个文件夹a和b
cd test_dir/ # 进入 test_dir 路径
cd …/test_dir/ # 上一级目录下有test_dir目录
pwd # 查看当前路径

mv test_dir/ test_directory # 将test_dir目录重命名为test_directory,文件重命名同样适用
mv a b/ # 将a移动到b目录下。如果b目录不存在的话,这条命令相当于将a重命名为b
cp -r a b # 将a文件夹拷贝到b文件夹下,-r代表递归拷贝
-rf folder/* # *是通配符号,这样代表remmove删除此文件夹下所有
vim # 编辑文本文件


zip和unzip。如果没有zip请使用apt-get update && apt-get install -y zip安装
user@host:/tmp/$ zip -r dir.zip test_directory/ # 将test_directory文件夹压缩为dir.zip文件
ser@host:/tmp/$ unzip dir.zip # 将dir.zip文件解压
tar. 以下参数c代表压缩,x表示解压,z代表压缩/解压为gz格式的压缩包
user@host:/tmp/$ tar czf dir.tar.gz test_directory/ # 将test_directory文件夹压缩为dir.tar.gz文件
user@host:/tmp/$ tar xzf dir.tar.gz # 将dir.tar.gz文件解压
tar还可以用于压缩和解压其他格式的压缩文件,比如bz2
user@host:/tmp/$ tar cjf dir.tar.bz2 test_directory/ # 将test_directory文件夹压缩为dir.tar.bz2文件
user@host:/tmp/$ tar xjf dir.tar.bz2 # 将dir.tar.bz2文件解压

目录

在这里插入图片描述
在AutoDL实例中安装的系统软件以及用内置的miniconda安装的python依赖,都是安装在了**系统盘中。 系统盘( 即系统环境
数据盘 temp 可存放读写IO要求高的数据 ,所以叫做数据盘,但是不能保存至镜像中以及进行实例迁移。

文件存储会挂载文件存储至实例**/root/autodl-fs**
平台内置的所有镜像都安装了Miniconda,安装路径为/root/miniconda3/

JupyerLab的工作路径是/root,数据盘、网盘、公共数据目录都在/root目录下,因此进入JupyterLab后可直接看到这些平台默认创建的目录

题外话:::JupyterLab在关闭终端/Notebook选项卡后默认不会终止,仍然在运行
在这里插入图片描述
所以右键复制路径之后::没有带root的,所以需要自己手动加上/root/

文件和数据上传

  1. 公网网盘,直接使用阿里云盘、百度网盘上传下载数据,一般推荐
    (阿里云盘在2024年7月左右对三方应用进行了限制,需要购买三方权益包才能获得良好的上传下载速度
    百度网盘由于规则调整,不再支持个人认证及个人创建应用功能,需要企业认证才可开通应用)
  2. JupyterLab上传,和网盘类似,优点简单,但是只支持文件不支持文件夹 推荐
  3. scp命令支持文件和文件夹上传下载,由于是命令行执行,上手难度稍高
  4. FileZilla软件支持文件和文件夹,拖拉拽即可上传下载,推荐使用(免费、全平台(Mac、Linux、Windows))
  5. XShell软件支持管理SSH连接,而且集成了xftp,支持拖拉拽上传下载文件夹/文件(但是付费版软件)啊啊啊
  6. AutoDL文件存储 上传数据,优点简单而且不用开实例,缺点是网页不支持上传文件夹
    (当只是需要上传一个zip压缩包时,或者其他类型的单个文件时,建议直接进入到文件存储中上传。因为这样可以少了连接到Xftp这个步骤,以及可以少费点钱。)
    上传数据的时候选择无卡开机模式,可以减少费用

对于整个镜像的操作

您在一个实例中配置好了环境等,在更换主机以及开新的实例时希望复用该环境,以及长期留存该环境以备日后使用,那么保存镜像将是最好的选择,还支持共享镜像给其他用户之后的保存镜像请在我的镜像菜单中查看

重置系统->更换镜像,都是系统盘清空,数据盘不动

克隆实例把整个都给复制一份
点击克隆实例后,在创建实例页面选择一台新主机创建实例即可。

Tips:如果您在克隆时忘了勾选同时拷贝数据盘,那么可以在新实例创建完成后,在原实例的更多操作中点击【跨实例拷贝数据】,再对数据盘进行拷贝

守护进程

远程执行程序时,那么请注意开守护进程来执行程序,避免因为SSH连接中断导致程序终止
最简单的方式是通过jupyterlab的终端来执行,只要jupyterlab不出现重启(几乎不会),jupyterlab的终端就会一直运行,无论是本地主机断网还是关机!!!!!

Tips

  1. 可以在pycharm 中调试好 ,然后再 jupyterlab的终端 执行,这样页面可以关闭去做其他事情
  2. 按量计费实例在关机后会释放GPU给其他用户租用,如果想一直占有GPU,可选择变更计费方式为包年包月
  3. 有时候抢不到服务器,可以提前租用多个实例,等到15天快结束的时候开机一会,又可以延时了
  4. 如果在编写/调试代码、上传下载数据到实例、给他人做代码展示等不需要GPU卡场景时,可以关机后使用无卡模式开机,无卡模式开机的区别在于对于这次开机会使用0.5核;2GB内存;无GPU卡的配置,价格统一为¥0.1/小时,对于实例之前和之后的数据均无影响,今后仍然可以使用正常的模式开关机。使用方法

四、autodl租用

更多详细参考:-> Autodl

创建实例

首先平台镜像中有没有您需要的Torch、TensorFlow等框架的相应版本,如果有首选平台内置的镜像
如果平台中没有合适的Torch、TensorFlow等框架版本,那么查询自己的框架需要什么CUDA版本,比如PyTorch=1.9.0需要CUDA=11.1,那么可以选择Miniconda/CUDA=11.1的平台镜像,然后在镜像内安装自己需要的框架,免去安装cudatoolkit的麻烦。(平台内置的CUDA均带.h头文件,如有二次编译代码的需求更方便)

没有所需要的版本的话

安装其他版本的Python: 参考


安装其他版本的CUDA: 参考


安装PyTorch: 参考


安装TensorFlow: 参考

方法一:::可随便挑选一个Miniconda镜像,在开机后自行安装相关框架、CUDA、甚至其他版本的Python。(miniconda镜像即内部未安装任何深度学习框架,保持运行环境干净)

方法二:::在连接ssl的时候选择conda 环境
在这里插入图片描述
这个就相当于你

conda create -n Untrack python=3.7           # 构建一个虚拟环境
conda init bash && source /root/.bashrc # 更新bashrc中的环境变量
conda activate Untrack                       # 切换到创建的虚拟环境

注意创建位置/envs里面,此外 在编译器这里就是用的他的环境,如下:::
在这里插入图片描述
但是在termial中:::还是显示的base环境+root目录

在这里插入图片描述

综上,所以说开始不选miniconda也是可以的,就是新建一个环境,但是在克隆实例,保存镜像什么的时候会很大的,相当与有两份了
那python interpreter 怎么换到base里面呢,还是在ssl配置那里,选择已有的base conda环境就可以了,注意路径就是图中的 /root/miniconda3

那怎么Notebook环境切换呢??
–>参考<–

# 创建Conda新的虚拟环境(如已创建,请忽略!)
conda create -n tf python=3.7             # 构建一个虚拟环境,名为:tf
conda init bash && source /root/.bashrc   # 更新bashrc中的环境变量# 将新的Conda虚拟环境加入jupyterlab中
conda activate tf                         # 切换到创建的虚拟环境:tf
conda install ipykernel
ipython kernel install --user --name=tf   # 设置kernel,--user表示当前用户,tf为虚拟环境名称

在这里插入图片描述

具体例子,参考我的另一篇->>>

连接pycharm

选择File—Settings,点击Add interpreter----On SSH即可。
在这里插入图片描述

或者 Tools -> Deployment -> Configuration点击…进入SSH Configurations
在这里插入图片描述
检验:::
在这里插入图片描述

配置环境

在PyCharm中进入终端,或者在通过JupyterLab进入终端------>>>>编辑文件+刷新,使得能使用conda的一些其他命令,比如conda activate 环境,以进行后续的环境配置
否则报错
在这里插入图片描述
怎么办呢::::::

输入:vim ~/.bashrc
开始进行编辑:输入i
光标移动到文件的最后一行,插入source /root/miniconda3/etc/profile.d/conda.sh
保存文件并退出:按Esc键,输入:wq,再回车
输入bash重启终端(即刷新一下)

在这里插入图片描述
重新输入命令:::
进来啦::在这里插入图片描述

参考AutoDL
Autodl

GitHub上项目

  1. 记得下面两个文件加上目录,就可以直接install
  2. 如果项目提供了 requirements.txt,你可以直接使用以下命令安装依赖:
pip install -r requirements.txt
  1. 使用 conda
    若项目有 environment.yml 文件,可以用以下命令创建 conda 环境:
conda env create -f environment.yml

开具发票

发票抬头请填写真实姓名,统一社会信用代码请填写身份证号之后会发送到邮箱电子版的
单次开票金额满10元可开票
在这里插入图片描述
autod开具的都是具有增值税的,没有 普通的个人发票貌似嘞
在这里插入图片描述

五、ssh和sftp

  1. SSH (Secure Shell)
    作用:SSH 是一种安全的远程登录协议,主要用于通过不安全的网络(例如互联网)安全地访问和管理远程计算机。它允许用户通过命令行界面(CLI)连接到远程服务器,执行命令、管理文件和执行其他管理任务。
    加密:SSH 使用加密技术(如对称加密、非对称加密、哈希算法等)来确保数据传输的安全性,因此,它比传统的 Telnet 或 FTP 更加安全。
    主要功能:
    远程登录:使用终端在远程服务器上执行命令。
    安全的文件传输:SSH 本身并不直接用于文件传输,但它可以与 SCP 或 SFTP 一起使用
  2. SFTP (Secure File Transfer Protocol)
    作用:SFTP 是一种通过 SSH 提供的安全文件传输协议。它用于通过安全的加密通道,在远程计算机和本地计算机之间传输文件。与 FTP 相比,SFTP 是加密的,因此数据在传输过程中不会被窃取或篡改。
    加密:SFTP 使用 SSH 协议进行加密,确保传输过程中的文件和命令的保密性和完整性。

六、性能

nvidia-smi -l 1

NVIDIA System Management Interface
-l 1:是该工具的一个参数,表示以每秒 1 次的loop刷新输出

  1. GPU 信息:
    GPU:表示 GPU 的编号。例如,GPU 0、GPU 1 等,这个编号通常是按照设备的插槽顺序分配的。
    GPU-Name:显示 GPU 的具体型号,例如 Tesla T4、GeForce RTX 3090 等。
    Bus-Id:表示 GPU 在系统中的 PCI 总线地址(例如 00000000:00:1E.0),可以帮助区分不同的 GPU。
    Disp.A:表示是否有显示器连接到该 GPU。如果显示器连接,通常显示 On,如果没有显示器连接,显示 Off。
  2. GPU 使用情况:
    GPU-Util:表示 GPU 的当前计算利用率,范围从 0% 到 100%。显示 GPU 在进行计算时的负载情况。如果 GPU 没有进行计算或处于空闲状态,值通常为 0%。
    Memory-Usage:显示 GPU 显存的使用情况。格式通常为 XMiB / YMiB,其中 X 是已用的显存,Y 是总显存大小。例如 100MiB / 8192MiB 表示已用显存为 100MiB,总显存为 8GB。
    GPU Temp:表示 GPU 当前的温度,单位是摄氏度(°C)。GPU 温度过高可能会影响性能,并且可能会自动降低性能以避免过热。
    Power-Usage:显示 GPU 当前的功耗,单位为瓦特(W)。这表明 GPU 在运行时的功率消耗情况。
    Fan Speed:表示 GPU 风扇的转速,单位是 RPM(转/分钟)。如果 GPU 温度过高,风扇转速通常会增大,以提供更多的冷却。
  3. 计算进程(Processes):
    PID (Process ID):显示正在使用 GPU 的进程的 ID。每个正在运行的程序都会有一个唯一的进程 ID。
    User:显示启动该进程的用户。例如,root 或 user。
    GPU Memory Usage:显示该进程使用的 GPU 显存大小。例如,100MiB 表示该进程已使用了 100MB 显存。
    Type:显示该进程是计算任务(C)还是显示任务(G)。例如,C 表示该进程在执行计算任务,G 表示该进程用于显示或渲染图形。
    Process Name:显示该进程的名称,通常是启动该进程的应用程序的名称,如 python、tensorflow 等。
    Memory-Usage:显示该进程占用的显存量。如果该值较高,表示该进程正在进行大型计算任务。
  4. 驱动与 CUDA 版本:
    Driver Version:显示当前系统安装的 NVIDIA 驱动版本。例如,460.39 表示安装了 NVIDIA 460.39 版本的驱动。
    CUDA Version:显示当前系统支持的 CUDA 版本。

如果发现GPU利用率较低时可以按下述方法排查瓶颈

如果GPU占用率为0说明代码可能没有使用GPU,需检查代码。

如果GPU占用率忽高忽低、占用率峰值在50%以下,那么可能是数据预处理跟不上GPU的处理速度 数据处理和CPU挂钩

如果CPU占用率远没有达到N00%的,说明您的代码没有把CPU的算力压榨出来,一般可以通过修改Torch Dataloader中的worker_num提高CPU负载,经验值num_worker = 略小于核心数量,最好测试不同worker num值对性能的影响。

numpy

NumPy会使用OpenBlas或MKL做计算加速。Intel的CPU支持MKL,AMD CPU仅支持OpenBlas。

如果使用Intel的CPU,MKL会比OpenBlas有几倍的性能提升(部分矩阵计算),对最终的性能影响非常大。一般来说AMD CPU使用OpenBlas会比Intel的CPU使用OpenBlas更快,因此不用过份担心AMD CPU使用OpenBlas的性能差。
在使用清华等国内的Conda源时,安装NumPy时默认会使用OpenBlas的加速方案
我的设备是:::

在这里插入图片描述
所以不用修改了
修改的话参考:::Pref

# 第一步:卸载当前的NumPy
pip uninstall numpy (如果是conda安装的, conda uninstall numpy)
# 第二步:删除国内的Conda源
echo "" > /root/.condarc
# 第三步:重新安装NumPy
conda install numpy

其余经验

如果您在使用单机多卡并行,并且使用了PyTorch框架,那么一般将torch.nn.DataParallel (DP)更换为torch.nn.DistributedDataParallel (DDP) 能提升性能。官方原文是:DistributedDataParallel offers much better performance and scaling to multiple-GPUs.

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

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

相关文章

机器学习:线性回归,梯度下降

线性回归模型 (Linear Regression Model) 梯度下降算法 (Gradient Descent Algorithm) 的数学公式

论文笔记-NeurIPS2017-DropoutNet

论文笔记-NeurIPS2017-DropoutNet: Addressing Cold Start in Recommender Systems DropoutNet&#xff1a;解决推荐系统中的冷启动问题摘要1.引言2.前言3.方法3.1模型架构3.2冷启动训练3.3推荐 4.实验4.1实验设置4.2在CiteULike上的实验结果4.2.1 Dropout率的影响4.2.2 实验结…

从UNIX到Linux:操作系统进化史与开源革命

从UNIX到Linux&#xff1a;操作系统进化史与开源革命 一、操作系统&#xff1a;数字世界的基石 1.1 什么是操作系统&#xff1f; 操作系统&#xff08;OS&#xff09;是计算机系统的核心管理者&#xff0c;承担着三大核心使命&#xff1a; 硬件指挥官&#xff1a;直接管理C…

如何修改安全帽/反光衣检测AI边缘计算智能分析网关V4的IP地址?

TSINGSEE青犀推出的智能分析网关V4&#xff0c;是一款集成了BM1684芯片的高性能AI边缘计算智能硬件。其内置的高性能8核ARM A53处理器&#xff0c;主频可高达2.3GHz&#xff0c;INT8峰值算力更是达到了惊人的17.6Tops。此外&#xff0c;该硬件还预装了近40种AI算法模型&#xf…

【全栈开发】----Mysql基本配置与使用

本篇是在已下载Mysql的情况下进行的&#xff0c;若还未下载或未创建Mysql服务&#xff0c;请转到这篇: 2024 年 MySQL 8.0.40 安装配置、Workbench汉化教程最简易&#xff08;保姆级&#xff09;_mysql8.0.40下载安装教程-CSDN博客 本文对于mysql的操作均使用控制台sql原生代码…

C++ primer plus 第四节 复合类型

本章内容包括: • 创建和使用数组 • 创建和使用 c-风格字符串 • 创建和使用 string 类字符串 • 使用方法getline( )和 get( )读取字符串 • 混合输入字符串和数字 • 创建和使用结构 • 创建和使用共用休 • 创建和使用枚举 • 创建和使用指针 • 使用 new和delete 管理动态…

FFmpeg入门:最简单的音频播放器

FFmpeg入门&#xff1a;最简单的音频播放器 欢迎大家来到FFmpeg入门的第二章&#xff0c;今天只做一个最简单的FFmpeg音频播放器&#xff1b;同样&#xff0c;话不多说&#xff0c;先上流程图 流程图 以上流程和视频播放器的解码过程基本上是一致的&#xff1b; 不同点在于 S…

《每天读一个JDK源码》之HashMap解读

&#x1f4cc;《每天读一个JDK源码》之HashMap解读 &#x1f517;源码定位&#xff1a;java.util.HashMap&#xff08;建议IDE对照阅读&#xff09; 今天我们来破解Java集合框架中最精妙的艺术品——HashMap&#xff01;它不仅是面试必考题&#xff08;出现率99%&#xff09;&…

【Java项目】基于SpringBoot的Java学习平台

【Java项目】基于SpringBoot的Java学习平台 技术简介&#xff1a;采用Java技术、SpringBoot框架、MySQL数据库等实现。系统基于B/S架构&#xff0c;前端通过浏览器与后端数据库进行信息交互&#xff0c;后端使用SpringBoot框架和MySQL数据库进行数据处理和存储&#xff0c;实现…

使用ChatGPT-Deep Reaserch两步给出文献综述!

文献综述是学术论文写作中不可或缺的一部分&#xff0c;它不仅是对已有研究的梳理和总结&#xff0c;更是为后续研究奠定理论基础的关键步骤。通过文献综述研究者能够全面了解当前研究领域的现状、主要观点和研究方法&#xff0c;从而找到自己研究的切入点和创新点。这一过程需…

综合实验处理表格

新建excel表格&#xff0c;输入信息&#xff0c;另存为csv文件。 利用notepad打开csv文件&#xff0c;可以观察格式 目标&#xff1a;通过编程处理文件&#xff0c;实现对数据的处理&#xff0c;成绩求和以及评价 对数据逐行处理&#xff0c;读一行&#xff0c;处理一行&#…

我和我的通义灵码

我和我的通义灵码 我和我的通义灵码个人版&企业版个人版登录个人版workspace应用场景terminal 企业版登录企业版#team docs 体验总结 我和我的通义灵码 说到通义灵码&#xff0c;作为程序员的我们是最有发言权的。从全国首个AI代码助手-通义灵码公测到现在&#xff0c;不知…

Java测试框架Mockito快速入门

Mockito结合TestNG快速入门 什么是Mockito Mockito 是一个专门用于 Java 的强大测试框架&#xff0c;主要用来创建和管理模拟对象&#xff0c;辅助开发者进行单元测试&#xff0c;具有以下特点和功能&#xff1a; 创建模拟对象&#xff1a;能通过简洁的语法创建类或接口的模…

week 3 - More on Collections - Lecture 3

一、Motivation 1. Java支持哪种类型的一维数据结构&#xff1f; Java中用于在单一维度中存储数据的数据结构&#xff0c;如arrays or ArrayLists. 2. 如何在Java下创建一维数据结构&#xff1f;&#xff08;1-dimensional data structure&#xff09; 定义和初始化这些一…

STM32CubeMx DRV8833驱动

一、DRV8833驱动原理 ​ STBY口接单片机的IO口&#xff0c;STBY置0电机全部停止&#xff0c;置1才能工作。STBY置1后通过AIN1、AIN2、BIN1、BIN2 来控制正反转。 AIN1AIN2电机状态00停止1speed反转speed1正转11停止 其中A端&#xff08;AIN1与AIN2&#xff09;只能控制AO1与…

JSON Schema 入门指南:如何定义和验证 JSON 数据结构

文章目录 一、引言二、什么是 JSON Schema&#xff1f;三、JSON Schema 的基本结构3.1 基本关键字3.2 对象属性3.3 数组元素3.4 字符串约束3.5 数值约束 四、示例&#xff1a;定义一个简单的 JSON Schema五、使用 JSON Schema 进行验证六、实战效果6.1 如何使用 七、总结 一、引…

零样本思维链(Zero-shot CoT)

Large Language Models are Zero-Shot Reasoners (Kojima et al., 2022) 这篇文章研究了大型语言模型 (LLMs) 在推理任务上的能力&#xff0c;并提出了一种名为 Zero-shot-CoT 的新方法&#xff0c;该方法能够有效地引导 LLM 进行多步骤推理&#xff0c;并在各种推理任务上取得…

day01_Java基础

文章目录 day01_Java基础一、今日课程内容二、Java语言概述&#xff08;了解&#xff09;1、Java语言概述2、为什么要学习Java语言3、Java平台版本说明4、Java特点 三、Java环境搭建&#xff08;操作&#xff09;1、JDK和JRE的概述2、JDK的下载和安装3、IDEA的安装4、IDEA的启动…

Spring Boot 项目开发流程全解析

目录 引言 一、开发环境准备 二、创建项目 三、项目结构 四、开发业务逻辑 1.创建实体类&#xff1a; 2.创建数据访问层&#xff08;DAO&#xff09;&#xff1a; 3.创建服务层&#xff08;Service&#xff09;&#xff1a; 4.创建控制器层&#xff08;Controller&…

数据结构课程设计(java实现)---九宫格游戏,也称幻方

【问题描述】 九宫格&#xff0c;一款数字游戏&#xff0c;起源于河图洛书&#xff0c;与洛书是中国古代流传下来的两幅神秘图案&#xff0c;历来被认为是河洛文化的滥觞&#xff0c;中华文明的源头&#xff0c;被誉为"宇宙魔方"。九宫格游戏对人们的思维锻炼有着极大…