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

YOLOv11 目标检测

本文章不再赘述anaconda的下载以及虚拟环境的配置,博主使用的python版本为3.8

1.获取YOLOv11的源工程文件

链接:GitHub - ultralytics/ultralytics: Ultralytics YOLO11 🚀

直接下载解压

2.需要自己准备的文件

文件结构如下:红框部分的文件需要自己补充(见下文)

yolo11n.pt (还是在同一个链接下)

my_train.py

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLOif __name__ == '__main__':model = YOLO('ultralytics/cfg/models/11/yolo11.yaml')model.load('yolo11n.pt') # loading pretrain weightsmodel.train(data='E:/pytroch/YOLO/yolov11/ultralytics-main-250314/ultralytics-main/my_Data.yaml',imgsz=640,epochs=100,batch=32,workers=8,#close_mosaic=10,device='cpu',#device='0',optimizer='SGD', # using SGD#project='runs/train',#name='exp',amp=False,cache=False,  # 服务器可设置为True,训练速度变快)

.yaml的路径要使用绝对路径

my_predict图像推理.py (之后可换成自己训练的模型)

from ultralytics import YOLO# Load a pre-trained YOLO model (adjust model type as needed)
model = YOLO("yolo11n.pt")  # n, s, m, l, x versions available# Perform object detection on an image
results = model.predict(source="1.jpg")  # Can also use video, directory, URL, etc.# Display the results
results[0].show()  # Show the first image results

my_predict实时推理.py (之后可换成自己训练的模型)

from ultralytics import YOLO
import cv2
import numpy as np
import time# 加载模型
model = YOLO("yolo11n.pt")# 打开视频文件
#video_path = "720p.mp4"  # 替换为你的视频路径
#cap = cv2.VideoCapture(video_path)
cap = cv2.VideoCapture(0) #使用外置USB摄像头# 检查视频是否打开成功
if not cap.isOpened():print("Error: Cannot open video file.")exit()# 获取视频信息
fps = int(cap.get(cv2.CAP_PROP_FPS))
print(f"Video FPS: {fps}")# 获取视频宽高
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))# 实时推理并显示结果
while True:start_time = time.time()  # 记录帧处理开始时间ret, frame = cap.read()if not ret:break  # 视频结束# 模型推理results = model(frame)  # 对当前帧进行推理for r in results:# 绘制检测结果图像im_array = r.plot()  # 带预测结果的图像 (BGR 格式)# 检查是否有实例分割掩码if r.masks is not None:# 计算总像素占比total_pixels = frame_width * frame_height  # 图像总像素数masks = r.masks.data.cpu().numpy()  # 获取实例分割的掩码total_object_pixels = np.sum(masks)  # 所有物体的像素总和total_percentage = (total_object_pixels / total_pixels) * 100  # 百分比计算# 在图像左上角绘制百分比信息text = f"Total percentage: {total_percentage:.2f}%"else:text = "No objects detected"  # 没有检测到物体时的提示信息font = cv2.FONT_HERSHEY_SIMPLEXfont_scale = 1.2color = (0, 0, 255)thickness = 2position = (20, 40)  # 文本位置 (x, y)im_array = cv2.putText(im_array, text, position, font, font_scale, color, thickness)# 显示当前帧的推理结果cv2.imshow("Inference", im_array)# 计算帧率elapsed_time = time.time() - start_timeprint(f"Processing time per frame: {elapsed_time:.2f} seconds ({1/elapsed_time:.2f} FPS)")# 按 'q' 键退出if cv2.waitKey(1) & 0xFF == ord('q'):break# 释放资源
cap.release()
cv2.destroyAllWindows()

my_Data.yaml

train: my_Dataset\train # train images (relative to 'path') 128 images
val: my_Dataset\val  # val images (relative to 'path') 128 images
test: my_Dataset\testnc: 4# Classes
names: ['recycle','hazardous','foodWaste','other']

路径为数据集的路径(见下文)

names的类别顺序:与labels标签一致即可

my_Dataset存放数据集(数据集文件结构如下)

my_Dataset
|
|
|
----> test---->images1.jpg2.jpg……---->labels1.txt2.txt……----> train---->images3.jpg4.jpg……---->labels3.txt4.txt……----> val---->images5.jpg6.jpg……---->labels5.txt6.txt……

3.模型训练

在所有文件配置好后运行my_train.py

关于训练参数的设置:

翻译置:Configuration - Ultralytics YOLO Docs

YOLO 模型的训练设置包含训练过程中使用的各种超参数和配置。这些设置会影响模型的性能、速度和准确性。关键训练设置包括批量大小、学习率、动量和权重衰减。此外,优化器、损失函数和训练数据集组合的选择也会影响训练过程。仔细调整和试验这些设置对于优化性能至关重要。

参数Argument

类型

Type

默认值

Default

描述

Description

modelstrNone

指定用于训练的模型文件。接受 .pt 预训练模型或 .yaml 配置文件的路径。对于定义模型结构或初始化权重至关重要。

Specifies the model file for training. Accepts a path to either a .pt pretrained model or a .yaml configuration file. Essential for defining the model structure or initializing weights.

datastrNone

数据集配置文件的路径(例如,coco8.yaml)。该文件包含特定于数据集的参数,包括训练和验证数据的路径、类名和类数。

Path to the dataset configuration file (e.g., coco8.yaml). This file contains dataset-specific parameters, including paths to training and validation data, class names, and number of classes.

epochsint100

​训练 epoch 的总数。每个 epoch 表示整个数据集的完整传递。调整此值可能会影响训练持续时间和模型性能。

Total number of training epochs. Each epoch represents a full pass over the entire dataset. Adjusting this value can affect training duration and model performance.

timefloatNone

最大训练时间(小时)。如果设置,这将覆盖 epochs 参数,从而允许训练在指定的持续时间后自动停止。适用于时间受限的训练场景。

Maximum training time in hours. If set, this overrides the epochs argument, allowing training to automatically stop after the specified duration. Useful for time-constrained training scenarios.

patienceint100

​在提前停止训练之前,在验证指标没有改善的情况下等待的epochs数。通过在性能停滞时停止训练来帮助防止过度拟合。

Number of epochs to wait without improvement in validation metrics before early stopping the training. Helps prevent overfitting by stopping training when performance plateaus.

batchint16

具有三种模式:设置为整数(例如,batch=16)、GPU 内存利用率为 60% 的自动模式 (batch=-1) 或具有指定利用率分数的自动模式 (batch=0.70)。

Batch size, with three modes: set as an integer (e.g., batch=16), auto mode for 60% GPU memory utilization (batch=-1), or auto mode with specified utilization fraction (batch=0.70).

imgszint or list640

用于训练的目标图像大小。在输入到模型之前,所有图像都会调整到此尺寸。影响模型精度和计算复杂度。

Target image size for training. All images are resized to this dimension before being fed into the model. Affects model accuracy and computational complexity.

saveboolTrue

支持保存训练检查点和最终模型权重。对于恢复训练或模型部署非常有用。

Enables saving of training checkpoints and final model weights. Useful for resuming training or model deployment.

save_periodint-1

保存模型检查点的频率,以 epoch 为单位指定。值为 -1 将禁用此功能。对于在长时间训练期间保存临时模型很有用。

Frequency of saving model checkpoints, specified in epochs. A value of -1 disables this feature. Useful for saving interim models during long training sessions.

cacheboolFalse

启用数据集图像在内存 (True/ram)、磁盘 (disk) 上的缓存,或禁用数据集图像缓存 (False)。通过减少磁盘 I/O 来提高训练速度,但代价是内存使用量增加。

Enables caching of dataset images in memory (True/ram), on disk (disk), or disables it (False). Improves training speed by reducing disk I/O at the cost of increased memory usage.

deviceint or str or listNone

指定用于训练的计算设备:单个 GPU (device=0)、多个 GPU (device=0,1)、CPU (device=cpu) 或 Apple Silicon 的 MPS (device=mps)。

Specifies the computational device(s) for training: a single GPU (device=0), multiple GPUs (device=0,1), CPU (device=cpu), or MPS for Apple silicon (device=mps).

workersint8

用于数据加载的工作线程数(如果是多 GPU 训练,则按 RANK 计算)。影响数据预处理和馈送到模型的速度,在多 GPU 设置中特别有用。

Number of worker threads for data loading (per RANK if Multi-GPU training). Influences the speed of data preprocessing and feeding into the model, especially useful in multi-GPU setups.

projectstrNone

保存训练输出的项目目录的名称。允许有序地存储不同的实验。

Name of the project directory where training outputs are saved. Allows for organized storage of different experiments.

namestrNone

训练运行的名称。用于在项目文件夹中创建子目录,用于存储训练日志和输出。

Name of the training run. Used for creating a subdirectory within the project folder, where training logs and outputs are stored.

exist_okboolFalse

如果为 True,则允许覆盖现有 project/name 目录。对于迭代实验很有用,无需手动清除以前的输出。

If True, allows overwriting of an existing project/name directory. Useful for iterative experimentation without needing to manually clear previous outputs.

pretrainedboolTrue

确定是否从预训练的模型开始训练。可以是布尔值或指向要从中加载权重的特定模型的字符串路径。提高训练效率和模型性能。

Determines whether to start training from a pretrained model. Can be a boolean value or a string path to a specific model from which to load weights. Enhances training efficiency and model performance.

optimizerstr'auto'

选择用于训练的优化器。选项包括 SGD、Adam、AdamW、NAdam、RAdam、RMSProp 等,或 auto,用于根据模型配置自动选择。影响收敛速度和稳定性。

Choice of optimizer for training. Options include SGDAdamAdamWNAdamRAdamRMSProp etc., or auto for automatic selection based on model configuration. Affects convergence speed and stability.

seedint0

设置用于训练的随机种子,确保结果在具有相同配置的运行中的可重复性。

Sets the random seed for training, ensuring reproducibility of results across runs with the same configurations.

deterministicboolTrue

强制使用确定性算法,确保可重现性,但由于对非确定性算法的限制,可能会影响性能和速度。

Forces deterministic algorithm use, ensuring reproducibility but may affect performance and speed due to the restriction on non-deterministic algorithms.

single_clsboolFalse

在训练期间,将多类数据集中的所有类视为单个类。对于二元分类任务或专注于对象存在而不是分类时非常有用。

Treats all classes in multi-class datasets as a single class during training. Useful for binary classification tasks or when focusing on object presence rather than classification.

classeslist[int]None

指定要训练的类 ID 列表。对于在训练期间筛选并仅关注某些类很有用。

Specifies a list of class IDs to train on. Useful for filtering out and focusing only on certain classes during training.

rectboolFalse

启用矩形训练,优化批量合成以实现最少的填充。可以提高效率和速度,但可能会影响模型准确性。

Enables rectangular training, optimizing batch composition for minimal padding. Can improve efficiency and speed but may affect model accuracy.

multi_scaleboolFalse

通过在训练期间将 imgsz 增加/减少 0.5 倍来实现多尺度训练。在推理过程中使用多个 imgsz 训练模型以使其更准确。

Enables multi-scale training by increasing/decreasing imgsz by upto a factor of 0.5 during training. Trains the model to be more accurate with multiple imgsz during inference.

cos_lrboolFalse

利用余弦学习速率调度器,在历元上按照余弦曲线调整学习速率。有助于管理学习率以实现更好的收敛。

Utilizes a cosine learning rate scheduler, adjusting the learning rate following a cosine curve over epochs. Helps in managing learning rate for better convergence.

close_mosaicint10在最后N个时期禁用马赛克数据增强,以在完成前稳定训练。设置为0将禁用此功能。
Disables mosaic data augmentation in the last N epochs to stabilize training before completion. Setting to 0 disables this feature.
resumeboolFalse

从上次保存的检查点恢复训练。自动加载模型权重、优化器状态和 epoch 计数,无缝继续训练。

Resumes training from the last saved checkpoint. Automatically loads model weights, optimizer state, and epoch count, continuing training seamlessly.

ampboolTrue

支持自动混合精度(AMP)训练,减少内存使用,并可能加快训练速度,同时对准确性的影响最小。

Enables Automatic Mixed Precision (AMP) training, reducing memory usage and possibly speeding up training with minimal impact on accuracy.

fractionfloat1.0

指定用于训练的数据集的分数。允许对完整数据集的子集进行训练,这对于实验或资源有限时非常有用。

Specifies the fraction of the dataset to use for training. Allows for training on a subset of the full dataset, useful for experiments or when resources are limited.

profileboolFalse

在训练期间启用 ONNX 和 TensorRT 速度分析,有助于优化模型部署。

Enables profiling of ONNX and TensorRT speeds during training, useful for optimizing model deployment.

freezeint or listNone

冻结模型的前N层或按索引指定的层,减少可训练参数的数量。有助于微调或迁移学习。

Freezes the first N layers of the model or specified layers by index, reducing the number of trainable parameters. Useful for fine-tuning or transfer learning.

lr0float0.01

初始学习率(即 SGD=1E-2,Adam=1E-3)。调整此值对于优化过程至关重要,它会影响模型权重的更新速度。

Initial learning rate (i.e. SGD=1E-2Adam=1E-3) . Adjusting this value is crucial for the optimization process, influencing how rapidly model weights are updated.

lrffloat0.01

最终学习率占初始学习率的分数 = (lr0 * lrf),与调度器结合使用,以随时间调整学习率。

Final learning rate as a fraction of the initial rate = (lr0 * lrf), used in conjunction with schedulers to adjust the learning rate over time.

momentumfloat0.937

​SGD 的动量因子或 Adam 优化器的 beta1,影响当前更新中过去梯度的合并。

Momentum factor for SGD or beta1 for Adam optimizers, influencing the incorporation of past gradients in the current update.

weight_decayfloat0.0005

L2正则化项,惩罚大权重以防止过度拟合。

L2 regularization term, penalizing large weights to prevent overfitting.

warmup_epochsfloat3.0

学习率预热的 epoch 数,逐渐将学习率从低值提高到初始学习率,以尽早稳定训练。

Number of epochs for learning rate warmup, gradually increasing the learning rate from a low value to the initial learning rate to stabilize training early on.

warmup_momentumfloat0.8

预热阶段的初始动量,在预热期间逐渐适应设定的动量。

Initial momentum for warmup phase, gradually adjusting to the set momentum over the warmup period.

warmup_bias_lrfloat0.1

预热阶段偏差参数的学习率,有助于稳定初始 epoch 中的模型训练。

Learning rate for bias parameters during the warmup phase, helping stabilize model training in the initial epochs.

boxfloat7.5

损失函数中 box loss 分量的权重,影响对准确预测边界框坐标的重视程度。

Weight of the box loss component in the loss function, influencing how much emphasis is placed on accurately predicting bounding box coordinates.

clsfloat0.5

分类损失在总损失函数中的权重,影响相对于其他分量的正确类别预测的重要性。

Weight of the classification loss in the total loss function, affecting the importance of correct class prediction relative to other components.

dflfloat1.5

分布焦点损失的权重,用于某些 YOLO 版本以进行精细分类。

Weight of the distribution focal loss, used in certain YOLO versions for fine-grained classification.

posefloat12.0

为姿势估计训练的模型中姿势损失的权重,影响对准确预测姿势关键点的重视。

Weight of the pose loss in models trained for pose estimation, influencing the emphasis on accurately predicting pose keypoints.

kobjfloat2.0

姿态估计模型中关键点客体损失的权重,平衡检测置信度和姿态准确性。

Weight of the keypoint objectness loss in pose estimation models, balancing detection confidence with pose accuracy.

nbsint64

损失标准化的标称批量。

Nominal batch size for normalization of loss.

overlap_maskboolTrue

确定是应将对象掩码合并到单个掩码中进行训练,还是为每个对象保持单独。在重叠的情况下,在合并过程中,较小的蒙版将覆盖在较大的蒙版之上。

Determines whether object masks should be merged into a single mask for training, or kept separate for each object. In case of overlap, the smaller mask is overlaid on top of the larger mask during merge.

mask_ratioint4

分割掩码的下采样率,影响训练期间使用的掩码的分辨率。

Downsample ratio for segmentation masks, affecting the resolution of masks used during training.

dropoutfloat0.0

分类任务中正则化的 dropout rate,防止在训练期间通过随机省略单元来过度拟合。

Dropout rate for regularization in classification tasks, preventing overfitting by randomly omitting units during training.

valboolTrue

在训练期间启用验证,允许在单独的数据集上定期评估模型性能。

Enables validation during training, allowing for periodic evaluation of model performance on a separate dataset.

plotsboolFalse

生成并保存训练和验证指标的图以及预测示例,提供对模型性能和学习进度的可视化见解。

Generates and saves plots of training and validation metrics, as well as prediction examples, providing visual insights into model performance and learning progression.

4.模型推理

训练结果保存在文件夹runs中

将my_predict实时推理.py 的模型换成自己训练的模型并运行

5.在树莓派4b上推理

训练后的模型大小有10Mb以上(不进行量化),树莓派光用cpu跑只有可怜的1帧

树莓派4b上运行yolov11n

相关文章:

YOLOv11 目标检测

本文章不再赘述anaconda的下载以及虚拟环境的配置,博主使用的python版本为3.8 1.获取YOLOv11的源工程文件 链接:GitHub - ultralytics/ultralytics: Ultralytics YOLO11 🚀 直接下载解压 2.需要自己准备的文件 文件结构如下:红…...

数据库原理实验报告:Powerdesigner建模E-R模型并转换表

注:此实验并不完整,仅供参考,如需完整版请私我留言 一、实验目的: 二、实验工具: 三、实验要求: 四、实验过程: 图文并茂,每一步都包含详细图片,总共11页word&#xff01…...

【愚公系列】《高效使用DeepSeek》018-错题本整理

🌟【技术大咖愚公搬代码:全栈专家的成长之路,你关注的宝藏博主在这里!】🌟 📣开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主! 👉 江湖人称"愚公搬代码",用七年如一日的精神深耕技术领域,以"…...

面试八股 —— Redis篇

重点:缓存 和 分布式锁 缓存(穿透,击穿,雪崩) 降级可作为系统的保底策略,适用于穿透,击穿,雪崩 1.缓存穿透 2.缓存击穿 3.缓存雪崩 缓存——双写一致性 1.强一致性业务&#xff08…...

maven的安装配置

目录 一、官网下载压缩包 二、配置环境变量 设置 MAVEN_HOME 添加 MAVEN_HOME\bin 到 PATH 三、配置本机仓库和远程仓库 四、配置idea 一、官网下载压缩包 Download Apache Maven – Maven 如上图。选择这个压缩包 选择好文件,下载完后,配置环境变…...

SpringCloud系列教程(十四):Sentinel持久化

Sentinel之前已经搭建和应用成功了,但是它有一个很大的缺点就是官方没有提供持久化的方案,从项目源码上看感觉这款工具也没有完成的太好,所以需要我们去对它进行二次开发。要补充的功能大概如下: 1、将Sentinel接入nacos中&#…...

深度学习处理时间序列(1)

不同类型的时间序列任务 时间序列(timeseries)是指定期测量获得的任意数据,比如每日股价、城市每小时耗电量或商店每周销售额。无论是自然现象(如地震活动、鱼类种群的演变或某地天气)还是人类活动模式(如…...

微前端 qiankun vite vue3

文章目录 简介主应用 qiankun-main vue3 vite子应用 qiankun-app-vue2 webpack5子应用 qiankun-react webpack5子应用 quankun-vue3 vite遇到的问题 简介 主要介绍以qiankun框架为基础,vite 搭建vue3 项目为主应用,wepack vue2 和 webpack react 搭建的…...

【ArduPilot】Windows下使用Optitrack通过MAVProxy连接无人机实现定位与导航

Windows下使用Optitrack通过MAVProxy连接无人机实现定位与导航 配置动捕系统无人机贴动捕球配置无人机参数使用MAVProxy连接Optitrack1、连接无人机3、设置跟踪刚体ID4、校正坐标系5、配置IP地址(非Loopback模式)6、启动动捕数据推流 结语 在GPS信号弱或…...

【GPT入门】第24课 langfuse介绍

【GPT入门】第24课 langfuse介绍 1. langfuse概念与作用2. 代码3. 页面效果4. 设计模式1. 装饰器模式2. 上下文管理模式1. langfuse概念与作用 Langfuse是一款专为大规模语言模型(LLM)应用开发设计的开源平台。其作用主要包括以下几个方面: 提升开发效率:通过消除LLM应用构…...

基于javaweb的SpringBoot食品溯源系统设计与实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…...

SVN简明教程——下载安装使用

SVN教程目录 一、开发中的实际问题二、简介2.1 版本控制2.2 Subversion2.3 Subversion的优良特性2.4 工作原理2.5 SVN基本操作 三、Subversion的安装与配置1. 服务器端程序版本2. 下载源码包3. 下载二进制安装包4. 安装5. 配置版本库① 为什么要配置版本库?② 创建目…...

AJAX的理解和原理还有概念

你想问的可能是 AJAX(Asynchronous JavaScript and XML) ,它并不是一门新的编程语言,而是一种在无需重新加载整个网页的情况下,能够与服务器进行异步通信并更新部分网页的技术。以下从基本概念、原理、优点、使用场景等…...

利用AI让数据可视化

1. 从问卷星上下载一份答题结果。 序号用户ID提交答卷时间所用时间来源来源详情来自IP总分1、《中华人民共和国电子商务法》正式实施的时间是()。2、()可以判断企业在行业中所处的地位。3、()是指店铺内有…...

FOC——Butterworth (巴特沃斯)数字滤波器(2025.03.18)

参考链接1: [DSP] Butterworth (巴特沃斯)数字滤波器设计参考 参考链接2: 陈佩青《数字信号处理教程》 参考链接3: ButterWorthFIlter(巴特沃斯滤波器) 在此感谢各位前辈大佬的总结,写这个只是为了记录学习大佬资料的过程,内容基本…...

Redis如何实现持久化

Redis如何实现持久化 Redis默认将所有数据存储在内存中,虽然读写效率极高,但存在两大风险 数据易失性:进程重启或服务器宕机导致内存数据丢失。恢复成本高:无法直接通过内存重建大规模数据集。 Redis作为高性能的键值数据库&…...

docker安装rabbitmq并配置hyperf使用

为满足您的高标准需求,我将分步骤为您详细解释如何通过Docker安装RabbitMQ服务器,并展示如何配置PHP的Hyperf框架来使用RabbitMQ。 安装RabbitMQ: 获取RabbitMQ镜像在终端中运行以下命令来拉取RabbitMQ的官方Docker镜像: docker …...

极空间NAS部署gitea教程

极空间NAS部署gitea步骤教程 背景1. 准备镜像1.1 极空间官方1.2 Win系统docker再上传1.3 镜像转录 2. MySql配置2.1 容器配置2.2 命令行配置 3. gitea配置3.1 容器配置3.2 打开网页3.3 网页配置安装 参考资料 背景 极空间Nas和别的Nas不同的地方就在于,他不是那种标…...

大模型学习-从零开始在colab训练大模型

目录 写这篇文章的目的 1.准备训练所需的文件 2.将压缩包上传到谷歌云盘 使用colab 3.训练 写这篇文章的目的 这篇文章是对:大模型学习-在colab中训练并更换模型_colab调整模型-CSDN博客的一个优化,因为在之前的博文中,我是提供了一个现…...

【商城实战(38)】Spring Boot:从本地事务到分布式事务,商城数据一致性的守护之旅

【商城实战】专栏重磅来袭!这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建,运用 uniapp、Element Plus、SpringBoot 搭建商城框架,到用户、商品、订单等核心模块开发,再到性能优化、安全加固、多端适配&#xf…...

漏洞知识点《PHP数组绕过深入解析》

在PHP中,通过数组绕过安全限制的核心原理与PHP语言特性和底层实现机制密切相关。以下是具体原因及技术细节分析: 一、PHP参数解析机制的特性 PHP的$_GET、$_POST等超全局变量支持将用户输入自动解析为数组。例如,通过URL参数?username[0]a…...

【极光 Orbit·STC8x】05. GPIO库函数驱动LED流动

【极光 OrbitSTC8】05. GPIO库函数驱动LED流动 七律 逐光流转 八灯列阵若星河,状态为舟渡长波。 寄存器中藏玄机,Switch语句定山河。 循环往复如潮涌,步骤变量掌沉浮。 单片机前展锋芒,代码织就光之舞。 摘要 本文基于STC8H8K6…...

SSH配置过程及无法正常链接问题的解决【小白教学】

1.尝试克隆github上的项目,发现无法正常下载【之前有些是可以的】 git clone https://github.com/mogualla/PythonRobotics.git --depth 3 出现下面的提示【错误】: Cloning into PythonRobotics... fatal: unable to access https://github.com/mogua…...

总结 HTTP 协议的基本格式, 相关知识以及抓包工具fiddler的使用

目录 1 HTTP是什么 2 HTTP协议格式 3 HTTP请求(Request) 3.1 认识URL 3.2 方法 3.3 认识请求"报头"(header) 3.3.1 Host 3.3.2 Content-Length 3.3.3 Content-Type 3.3.4 User-Agent (简称UA) 3.3.5 Referer 3.3.6 Cookie和Session 4 HTTP响应详解 4.…...

Conda 虚拟环境创建:加不加 Python 版本的深度剖析

在 conda 中创建虚拟环境时,是否指定 Python 具体版本会直接影响环境构建的底层逻辑、依赖管理方式以及后续开发的可控性。 一、核心机制对比 不指定 Python 版本 (conda create -n env_name) 默认继承基础环境版本 Conda 会使用当前基础环境(如 base&am…...

docker的anythingllm和open-webui压缩包分享(国内镜像拉取,百度云压缩包分享)

文章目录 前言第一部分:镜像获取🚀 方式一:切换国内下载镜像✅1. 下载anythingllm✅ 2. 下载open-webui 🚀方式二:下载我分享的百度云✅ anythingllm压缩包百度云链接❎ open-webui压缩包 第二部分:下载之后…...

C#命令行参数用法

C#命令行参数用法 static void Main(string[] args){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);// 解析命令行参数if (args.Length > 0){// 这里处理命令行参数,例如:打开文件、设置配置等// 例如&…...

Unity3D开发AI桌面精灵/宠物系列 【二】 语音唤醒 ivw 的两种方式-Windows本地或第三方讯飞等

Unity3D 交互式AI桌面宠物开发系列【二】ivw 语音唤醒 该系列主要介绍怎么制作AI桌面宠物的流程,我会从项目开始创建初期到最终可以和AI宠物进行交互为止,项目已经开发完成,我会仔细梳理一下流程,分步讲解。 这篇文章主要讲有关于…...

Matlab概率区间预测全家桶更新了,新增光伏出力区间预测,4种分布可供预测

基本介绍 适用于matlab2020及以上。可任意选择置信区间,区间覆盖率picp、区间平均宽度百分比等等,可用于预测不确定性,效果如图所示,采用KDE,4种分布进行预测,有对比,可以替换成自己的数据。 …...

第2章:容器核心原理:深入理解Namespace、Cgroup与联合文件系统

第2章:容器核心原理:深入理解Namespace、Cgroup与联合文件系统 作者:DogDog_Shuai 阅读时间:约20分钟 难度:中级 目录 1. 引言2. Linux容器核心技术3. Namespace详解4. Cgroup详解5. 联合文件系统6. 容器运行时原理...

用css绘制收银键盘

最近需求说需要自己弄个收银键盘&#xff0c;于是乎直接上手搓 主要基于Vue3写的&#xff0c;主要是CSS <template><view class"container"><view class"info"><image class"img" src"" mode"">&l…...

aws训练快速入门教程

AWS 相关核心概念 简洁地介绍一下AWS训练云服务的核心关联概念: AWS核心服务层: 基础设施层: EC2(计算), S3(存储), RDS(数据库)等人工智能层: SageMaker(训练平台), AI服务等 机器学习服务分级: 高层: 预构建AI服务(开箱即用)中层: SageMaker(主要训练平台)底层: 框架和基…...

基于FPGA轨道交通6U机箱CPCI脉冲板板卡

板卡简介&#xff1a; 本板为脉冲板&#xff0c;脉冲板主要执行CPU下达的指令&#xff0c;通过实现各种控制算法来调节PWM&#xff0c;然后输出光纤PWM信号来驱动变频器功率模块以达到控制电机的目的。 性能规格&#xff1a; 电源&#xff1a;DC5V&#xff1b;15V FPGA&…...

数据库GreenDao的使用、升级、以及相关常用注释说明

目录 一、使用GreenDao的流程 添加GreenDao依赖配置greendao的generator生成文件使用GreenDao生成bean类 3.1 创建实体类 3.2 生成dao文件创建GreenDaoManager来进行统一管理&#xff0c;并初始化 4.1 创建GreenDaoManager 4.2 在Application中进行初始化GreenDao使用GreenDa…...

【C++】 —— 笔试刷题day_6

刷题day_6&#xff0c;继续加油哇&#xff01; 今天这三道题全是高精度算法 一、大数加法 题目链接&#xff1a;大数加法 题目解析与解题思路 OK&#xff0c;这道题题目描述很简单&#xff0c;就是给我们两个字符串形式的数字&#xff0c;让我们计算这两个数字的和 看题目我…...

PostgreSQL:语言基础与数据库操作

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

cmake 之 CMakeLists.txt 中的函数是从哪里来的

我们都知道&#xff0c;cmake会解释执行 CMakeLists.txt 以及其他 *.cmake 脚本&#xff0c; 这里先给出一个“先验” 的知识点&#xff1a; 任何一个独立脚本或脚本函数命令的执行&#xff0c;都是通过 CPP 函数 RunListFile(...) 调用的 void cmMakefile::RunListFile(cmL…...

谷歌or-tools开源库入门

1.命令行编译程序 这里要说明下&#xff0c;直接用qt或者VS2022打开cmake工程&#xff0c;编译没有成功。所以&#xff0c;老老实实的按照官方教程来&#xff0c;使用命令行编译。 &#xff08;1&#xff09;准备 1&#xff09;安装cmake&#xff0c;版本3.18以上&#xff0…...

深入解析 C++ Vector:全面掌握 STL 核心容器的原理与高效实践

一、Vector 的核心概念与特性 Vector 是 C 标准库中最常用的动态数组容器&#xff0c;其底层基于连续内存存储元素&#xff0c;兼具数组的高效访问与动态扩容的灵活性。以下是其核心特性&#xff1a; 1.1 核心特性对比 特性普通数组Vector 容器内存分配静态固定动态增长访问效…...

【MySQL】MySQL数据存储机制之存储引擎

目录 1.如何理解存储引擎&#xff1f; 2.MySQL 提供的存储引擎 3.存储引擎的功能特性 &#xff08;1&#xff09;存储介质 &#xff08;2&#xff09;事务处理能力 &#xff08;3&#xff09;锁定 &#xff08;4&#xff09;备份和恢复 &#xff08;5&#xff09;优化…...

OpenCV旋转估计(1)用于估计图像间仿射变换关系的类cv::detail::AffineBasedEstimator

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 基于仿射变换的估计器。 这种估计器使用匹配器估算的成对变换来为每个相机估算最终的变换。 cv::detail::AffineBasedEstimator 是 OpenCV 库中…...

小红书不绑定手机号会显示ip吗

小红书作为一个生活方式分享平台&#xff0c;拥有庞大的用户群体。在小红书上&#xff0c;用户可以分享自己的生活点滴、购物心得、美食体验等&#xff0c;与其他用户进行互动交流。最近&#xff0c;不少用户对于小红书是否会在不绑定手机号的情况下显示IP属地产生了疑问&#…...

网络空间安全(36)数据库权限提升获取webshell思路总结

一、获取数据库访问权限 寻找漏洞&#xff1a; SQL注入&#xff1a;这是最常见的方法之一。攻击者通过SQL注入漏洞&#xff0c;可以在数据库执行任意SQL语句&#xff0c;从而获取数据库中的数据&#xff0c;甚至可能获取数据库的访问权限。配置文件泄露&#xff1a;有时&#x…...

OceanBase 中,如何抓包分析应用连接超时的问题

本文作者&#xff1a;胡呈清&#xff0c;爱可生 DBA 团队成员&#xff0c;擅长故障分析、性能优化 与MySQL这类单机数据库相比&#xff0c;OceanBase分布式数据库的访问链路相对较长&#xff0c;因此在遇到连接异常时&#xff0c;排查过程需要额外考虑更多环节。接下来&#xf…...

用uv管理python环境/项目(各种应用场景)

一、安装uv 有python的情况 pip install uvWindows powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"linux或macOS curl -LsSf https://astral.sh/uv/install.sh | sh二、换镜像源 uv不会读取pip的镜像源配置&#xff0c;所…...

Linux——进程(5)进程地址空间

先看一个程序和现象 预期现象是&#xff0c;子进程和父进程相互独立&#xff0c;子进程的gval是100&#xff0c;101&#xff0c;102....而父进程一直都是100. 结果我们并不意外&#xff0c;只是我们发现&#xff0c;父子进程的gval的地址是一样的&#xff0c;这有点颠覆我们的认…...

docker(1) -- centos镜像

1. 前言 我在WSL中运行的系统是ubuntu2024&#xff0c;并安装了docker&#xff0c;想要在docker中运行一个centos的系统。 2. 下载并运行镜像 # 下载centos最新版镜像 $ docker pull centos Using default tag: latest latest: Pulling from library/centos a1d0c7532777: P…...

Vitis 2024.1 无法正常编译custom ip的bug(因为Makefile里的wildcard)

现象&#xff1a;如果在vivado中&#xff0c;添加了自己的custom IP&#xff0c;比如AXI4 IP&#xff0c;那么在Vitis&#xff08;2024.1&#xff09;编译导出的原本的.xsa的时候&#xff0c;会构建build失败。报错代码是&#xff1a; "Compiling blank_test_ip..."…...

【源码阅读】多个函数抽象为类(实现各种类型文件转为PDF)

目录 一、原始函数二、类三、转换过程 一、原始函数 最开始就是写了几个函数&#xff08;包括doc、excel、ppt类型的文件&#xff09;转换为pdf&#xff0c;需要将这些函数形成一个类。相似的一类函数就可以组成一个实现特定功能的类 import subprocess import pandas as pd i…...

word插入Mathtype公式居中和自动更新

word插入公式自动更新 前提&#xff1a;安装Mathtype 1.word中查看页的宽度 出现如下 2.设置样式 出现这个窗口 给样式随便起个名字 3.修改样式 3.1 设置两个制表位 第二个 3.2 修改公式字体 如下所示 4. 修改公式格式 4.1在word中打开 Mathtype 4.2 修改公式的格式 变成…...