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

【计算机视觉】YOLO 入门:训练 COCO128 数据集

一、COCO128 数据集

我们以最近大热的YOLOv8为例,回顾一下之前的安装过程:

%pip install ultralytics
import ultralytics
ultralytics.checks()

在这里插入图片描述
这里选择训练的数据集为:COCO128

COCO128是一个小型教程数据集,由COCOtrain2017中的前128个图像组成。

在YOLO中自带的coco128.yaml文件:

1)可选的用于自动下载的下载命令/URL,

2)指向培训图像目录的路径(或指向带有培训图像列表的*.txt文件的路径),

3)与验证图像相同,

4)类数,

5)类名列表:

# download command/URL (optional)
download: https://github.com/ultralytics/yolov5/releases/download/v1.0/coco128.zip# train and val data as 1) directory: path/images/, 2) file: path/images.txt, or 3) list: [path1/images/, path2/images/]
train: ../coco128/images/train2017/
val: ../coco128/images/train2017/# number of classes
nc: 80# class names
names: ['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light','fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow','elephant', 'bear', 'zebra', 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee','skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard','tennis racket', 'bottle', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple','sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch','potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush']

二、训练过程

!yolo train model = yolov8n.pt data = coco128.yaml epochs = 10 imgsz = 640

训练过程为:

                   from  n    params  module                                       arguments                     0                  -1  1       464  ultralytics.nn.modules.conv.Conv             [3, 16, 3, 2]                 1                  -1  1      4672  ultralytics.nn.modules.conv.Conv             [16, 32, 3, 2]                2                  -1  1      7360  ultralytics.nn.modules.block.C2f             [32, 32, 1, True]             3                  -1  1     18560  ultralytics.nn.modules.conv.Conv             [32, 64, 3, 2]                4                  -1  2     49664  ultralytics.nn.modules.block.C2f             [64, 64, 2, Tr
ue]             5                  -1  1     73984  ultralytics.nn.modules.conv.Conv             [64, 128, 3, 2]               6                  -1  2    197632  ultralytics.nn.modules.block.C2f             [128, 128, 2, True]           7                  -1  1    295424  ultralytics.nn.modules.conv.Conv             [128, 256, 3, 2]              8                  -1  1    460288  ultralytics.nn.modules.block.C2f             [256, 256, 1, True]           9                  -1  1    164608  ultralytics.nn.modules.block.SPPF            [256, 256, 5]                 10                  -1  1         0  torch.nn.modules.upsampling.Upsample         [None, 2, 'nearest']          11             [-1, 6]  1         0  ultralytics.nn.modules.conv.Concat           [1]                           12                  -1  1    148224  ultralytics.nn.modules.block.C2f             [384, 128, 1]                 13                  -1  1         0  torch.nn.modules.upsampling.Upsample         [None, 2, 'nearest']          14             [-1, 4]  1         0  ultralytics.nn.modules.conv.Concat           [1]                           15                  -1  1     37248  ultralytics.nn.modules.block.C2f             [192, 64, 1]                  16                  -1  1     36992  ultralytics.nn.modules.conv.Conv             [64, 64, 3, 2]                17            [-1, 12]  1         0  ultralytics.nn.modules.conv.Concat           [1]                           18                  -1  1    123648  ultralytics.nn.modules.block.C2f             [192, 128, 1]                 19                  -1  1    147712  ultralytics.nn.modules.conv.Conv             [128, 128, 3, 2]              20             [-1, 9]  1         0  ultralytics.nn.modules.conv.Concat           [1]                           21                  -1  1    493056  ultralytics.nn.modules.block.C2f             [384, 256, 1]                 22        [15, 18, 21]  1    897664  ultralytics.nn.modules.head.Detect           [80, [64, 128, 256]]          
Model summary: 225 layers, 3157200 parameters, 3157184 gradients
Transferred 355/355 items from pretrained weights
TensorBoard: Start with 'tensorboard --logdir runs/detect/train', view at http://localhost:6006/
AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n...
AMP: checks passed ✅
train: Scanning /kaggle/working/datasets/coco128/labels/train2017.cache... 126 i
albumentations: Blur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01), CLAHE(p=0.01, clip_limit=(1, 4.0), tile_grid_size=(8, 8))
val: Scanning /kaggle/working/datasets/coco128/labels/train2017.cache... 126 ima
Plotting labels to runs/detect/train/labels.jpg... 
optimizer: AdamW(lr=0.000119, momentum=0.9) with parameter groups 57 weight(decay=0.0), 64 weight(decay=0.0005), 63 bias(decay=0.0)
Image sizes 640 train, 640 val
Using 2 dataloader workers
Logging results to runs/detect/train
Starting training for 10 epochs...
Closing dataloader mosaic
albumentations: Blur(p=0.01, blur_limit=(3, 7)), MedianBlur(p=0.01, blur_limit=(3, 7)), ToGray(p=0.01), CLAHE(p=0.01, clip_limit=(1, 4.0), tile_grid_size=(8, 8))
      Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size1/10      2.61G      1.153      1.398      1.192         81        640: 1Class     Images  Instances      Box(P          R      mAP50  mall        128        929      0.688      0.506       0.61      0.446Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size2/10      2.56G      1.142      1.345      1.202        121        640: 1Class     Images  Instances      Box(P          R      mAP50  mall        128        929      0.678      0.525       0.63      0.456Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size3/10      2.57G      1.147       1.25      1.175        108        640: 1Class     Images  Instances      Box(P          R      mAP50  mall        128        929      0.656      0.548       0.64      0.466Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size4/10      2.57G      1.149      1.287      1.177        116        640: 1Class     Images  Instances      Box(P          R      mAP50  mall        128        929      0.684      0.568      0.654      0.482Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size5/10      2.57G      1.169      1.233      1.207         68        640: 1Class     Images  Instances      Box(P          R      mAP50  mall        128        929      0.664      0.586      0.668      0.491Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size6/10      2.57G      1.139      1.231      1.177         95        640: 1Class     Images  Instances      Box(P          R      mAP50  mall        128        929       0.66      0.613      0.677        0.5Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size7/10      2.57G      1.134      1.211      1.181        115        640: 1Class     Images  Instances      Box(P          R      mAP50  mall        128        929      0.649      0.631      0.683      0.504Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size8/10      2.57G      1.114      1.194      1.178         71        640: 1Class     Images  Instances      Box(P          R      mAP50  mall        128        929      0.664      0.634       0.69      0.513Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size9/10      2.57G      1.117      1.127      1.148        142        640: 1Class     Images  Instances      Box(P          R      mAP50  mall        128        929      0.624      0.671      0.697       0.52Epoch    GPU_mem   box_loss   cls_loss   dfl_loss  Instances       Size10/10      2.57G      1.085      1.133      1.172        104        640: 1Class     Images  Instances      Box(P          R      mAP50  mall        128        929      0.631      0.676      0.704      0.522
10 epochs completed in 0.018 hours.
Optimizer stripped from runs/detect/train/weights/last.pt, 6.5MB
Optimizer stripped from runs/detect/train/weights/best.pt, 6.5MBValidating runs/detect/train/weights/best.pt...
Ultralytics YOLOv8.0.128 🚀 Python-3.10.10 torch-2.0.0 CUDA:0 (Tesla P100-PCIE-16GB, 16281MiB)
Model summary (fused): 168 layers, 3151904 parameters, 0 gradients
                 Class     Images  Instances      Box(P          R      mAP50  mall        128        929      0.629      0.677      0.704      0.523person        128        254      0.763      0.721      0.778      0.569bicycle        128          6      0.765      0.333      0.391      0.321car        128         46      0.487      0.217      0.322      0.192motorcycle        128          5      0.613        0.8      0.906      0.732airplane        128          6      0.842          1      0.972      0.809bus        128          7      0.832      0.714      0.712       0.61train        128          3       0.52          1      0.995      0.858truck        128         12      0.597        0.5      0.547      0.373boat        128          6      0.526      0.167      0.448      0.328traffic light        128         14      0.471      0.214      0.184      0.145stop sign        128          2      0.671          1      0.995      0.647bench        128          9      0.675      0.695       0.72      0.489bird        128         16      0.936      0.921      0.961       0.67cat        128          4      0.818          1      0.995      0.772dog        128          9       0.68      0.889      0.908      0.722horse        128          2      0.441          1      0.828      0.497elephant        128         17      0.742      0.848      0.933       0.71bear        128          1      0.461          1      0.995      0.995zebra        128          4       0.85          1      0.995      0.972giraffe        128          9      0.824          1      0.995      0.772backpack        128          6      0.596      0.333      0.394      0.257umbrella        128         18      0.564      0.722      0.681      0.429handbag        128         19      0.635      0.185      0.326      0.178tie        128          7      0.671      0.714      0.758      0.522suitcase        128          4      0.687          1      0.945      0.603frisbee        128          5       0.52        0.8      0.799      0.689skis        128          1      0.694          1      0.995      0.497snowboard        128          7      0.499      0.714      0.732      0.589sports ball        128          6      0.747      0.494      0.573      0.342kite        128         10      0.539        0.5      0.504      0.181baseball bat        128          4      0.595        0.5      0.509      0.253baseball glove        128          7      0.808      0.429      0.431      0.318skateboard        128          5      0.493        0.6      0.609      0.465tennis racket        128          7      0.451      0.286      0.446      0.274bottle        128         18        0.4      0.389      0.365      0.257wine glass        128         16      0.597      0.557      0.675      0.366cup        128         36      0.586      0.389      0.465      0.338fork        128          6      0.582      0.167      0.306      0.234knife        128         16      0.621      0.625      0.669      0.405spoon        128         22      0.525      0.364       0.41      0.227bowl        128         28      0.657      0.714      0.719      0.584banana        128          1      0.319          1      0.497     0.0622sandwich        128          2      0.812          1      0.995      0.995orange        128          4      0.784          1      0.895      0.594broccoli        128         11      0.431      0.273      0.339       0.26carrot        128         24      0.553      0.833      0.801      0.504hot dog        128          2      0.474          1      0.995      0.946pizza        128          5      0.736          1      0.995      0.882donut        128         14      0.574          1      0.929       0.85cake        128          4      0.769          1      0.995       0.89chair        128         35      0.503      0.571      0.542      0.307couch        128          6      0.526      0.667      0.805      0.612potted plant        128         14      0.479      0.786      0.784      0.545bed        128          3      0.714          1      0.995       0.83dining table        128         13      0.451      0.615      0.552      0.437toilet        128          2          1      0.942      0.995      0.946tv        128          2      0.622          1      0.995      0.846laptop        128          3          1      0.452      0.863      0.738mouse        128          2          1          0     0.0459    0.00459remote        128          8      0.736        0.5       0.62      0.527cell phone        128          8     0.0541      0.027     0.0731      0.043microwave        128          3      0.773      0.667      0.913      0.807oven        128          5      0.442      0.483      0.433      0.336sink        128          6      0.378      0.167      0.336      0.231refrigerator        128          5      0.662      0.786      0.778      0.616book        128         29       0.47      0.336      0.402       0.23clock        128          9       0.76      0.778      0.884      0.762vase        128          2      0.428          1      0.828      0.745scissors        128          1      0.911          1      0.995      0.256teddy bear        128         21      0.551      0.667      0.805      0.515toothbrush        128          5      0.768          1      0.995       0.65
Speed: 3.4ms preprocess, 1.9ms inference, 0.0ms loss, 2.4ms postprocess per image
Results saved to runs/detect/train

三、验证过程

!yolo val model = yolov8n.pt data = coco128.yaml

输出的结果为:

                 Class     Images  Instances      Box(P          R      mAP50  mall        128        929       0.64      0.537      0.605      0.446person        128        254      0.797      0.677      0.764      0.538bicycle        128          6      0.514      0.333      0.315      0.264car        128         46      0.813      0.217      0.273      0.168motorcycle        128          5      0.687      0.887      0.898      0.685airplane        128          6       0.82      0.833      0.927      0.675bus        128          7      0.491      0.714      0.728      0.671train        128          3      0.534      0.667      0.706      0.604truck        128         12          1      0.332      0.473      0.297boat        128          6      0.226      0.167      0.316      0.134traffic light        128         14      0.734        0.2      0.202      0.139stop sign        128          2          1      0.992      0.995      0.701bench        128          9      0.839      0.582       0.62      0.365bird        128         16      0.921      0.728      0.864       0.51cat        128          4      0.875          1      0.995      0.791dog        128          9      0.603      0.889      0.785      0.585horse        128          2      0.597          1      0.995      0.518elephant        128         17      0.849      0.765        0.9      0.679bear        128          1      0.593          1      0.995      0.995zebra        128          4      0.848          1      0.995      0.965giraffe        128          9       0.72          1      0.951      0.722backpack        128          6      0.589      0.333      0.376      0.232umbrella        128         18      0.804        0.5      0.643      0.414handbag        128         19      0.424     0.0526      0.165     0.0889tie        128          7      0.804      0.714      0.674      0.476suitcase        128          4      0.635      0.883      0.745      0.534frisbee        128          5      0.675        0.8      0.759      0.688skis        128          1      0.567          1      0.995      0.497snowboard        128          7      0.742      0.714      0.747        0.5sports ball        128          6      0.716      0.433      0.485      0.278kite        128         10      0.817       0.45      0.569      0.184baseball bat        128          4      0.551       0.25      0.353      0.175baseball glove        128          7      0.624      0.429      0.429      0.293skateboard        128          5      0.846        0.6        0.6       0.41tennis racket        128          7      0.726      0.387      0.487       0.33bottle        128         18      0.448      0.389      0.376      0.208wine glass        128         16      0.743      0.362      0.584      0.333cup        128         36       0.58      0.278      0.404       0.29fork        128          6      0.527      0.167      0.246      0.184knife        128         16      0.564        0.5       0.59       0.36spoon        128         22      0.597      0.182      0.328       0.19bowl        128         28      0.648      0.643      0.618      0.491banana        128          1          0          0      0.124     0.0379sandwich        128          2      0.249        0.5      0.308      0.308orange        128          4          1       0.31      0.995      0.623broccoli        128         11      0.374      0.182      0.249      0.203carrot        128         24      0.648      0.458      0.572      0.362hot dog        128          2      0.351      0.553      0.745      0.721pizza        128          5      0.644          1      0.995      0.843donut        128         14      0.657          1       0.94      0.864cake        128          4      0.618          1      0.945      0.845chair        128         35      0.506      0.514      0.442      0.239couch        128          6      0.463        0.5      0.706      0.555potted plant        128         14       0.65      0.643      0.711      0.472bed        128          3      0.698      0.667      0.789      0.625dining table        128         13      0.432      0.615      0.485      0.366toilet        128          2      0.615        0.5      0.695      0.676tv        128          2      0.373       0.62      0.745      0.696laptop        128          3          1          0      0.451      0.361mouse        128          2          1          0     0.0625    0.00625remote        128          8      0.843        0.5      0.605      0.529cell phone        128          8          0          0     0.0549     0.0393microwave        128          3      0.435      0.667      0.806      0.718oven        128          5      0.412        0.4      0.339       0.27sink        128          6       0.35      0.167      0.182      0.129refrigerator        128          5      0.589        0.4      0.604      0.452book        128         29      0.629      0.103      0.346      0.178clock        128          9      0.788       0.83      0.875       0.74vase        128          2      0.376          1      0.828      0.795scissors        128          1          1          0      0.249     0.0746teddy bear        128         21      0.877      0.333      0.591      0.394toothbrush        128          5      0.743        0.6      0.638      0.374
Speed: 1.0ms preprocess, 8.5ms inference, 0.0ms loss, 1.6ms postprocess per image
Results saved to runs/detect/val

可视化的结果为:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关文章:

【计算机视觉】YOLO 入门:训练 COCO128 数据集

一、COCO128 数据集 我们以最近大热的YOLOv8为例,回顾一下之前的安装过程: %pip install ultralytics import ultralytics ultralytics.checks()这里选择训练的数据集为:COCO128 COCO128是一个小型教程数据集,由COCOtrain2017中…...

【数分面试答疑】XX场景如何分析问题的思考

问题: 如何分析消费贷客户的用款活跃度,简单列出分析报告的思路框架 解答 这个问题是一个典型的数据分析类的面试问题,主要考察面试者对于消费贷客户的用款活跃度分析的理解和方法,以及对于数据分析报告的撰写和呈现的能力。回…...

html中如何用vue语法,并使用UI组件库 ,html中引入vue+ant-design-vue或者vue+element-plus

html中如何用vue语法,并使用UI组件库 前言 先说一下本次应用的场景,本次项目中,需要引入github中别人写好的插件,插件比较大,没有方法直接在自己项目中,把别人的项目打包合并生成html(类似于前…...

【数据结构】二叉数的存储与基本操作的实现

文章目录 🍀二叉树的存储🌳二叉树的基本操作🐱‍👤二叉树的创建🐱‍👓二叉树的遍历🎡前中后序遍历📌前序遍历📌中序遍历📌后续遍历 🛫层序遍历&am…...

使用 Netty 实现群聊功能的步骤和注意事项

文章目录 前言声明功能说明实现步骤WebSocket 服务启动Channel 初始化HTTP 请求处理HTTP 页面内容WebSocket 请求处理 效果展示总结 前言 通过之前的文章介绍,我们可以深刻认识到Netty在网络编程领域的卓越表现和强大实力。这篇文章将介绍如何利用 Netty 框架开发一…...

一篇文章搞定《WebView的优化及封装》

一篇文章搞定《WebView的优化及封装》 前言WebView的过程分析确定优化方案一、预加载,复用缓冲池(初始化优化)优化的解析说明具体的实现 二、预置模版(请求、渲染优化)优化的解析说明具体的实现1、离线包2、预获取数据…...

FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS

FreeSWITCH 1.10.10 简单图形化界面5 - 使用百度TTS 0、 界面预览1、注册百度AI开放平台,开通语音识别服务2、获取AppID/API Key/Secret Key3、 安装百度语音合成sdk4、合成代码5、在PBX中使用百度TTS6、音乐文件-TTS7、拨号规则-tts_command 0、 界面预览 http://…...

DP读书:不知道干什么就和我一起读书吧

DP读书:不知道干什么就和我一起读书吧 为啥写博客:好处一:记录自己的学习过程优点二:让自己在各大社群里不那么尴尬推荐三:坚持下去,找到一个能支持自己的伙伴 虽然清楚知识需要靠时间沉淀,但在…...

【Linux】进程通信 — 信号(上篇)

文章目录 📖 前言1. 什么是信号1.1 认识信号:1.2 信号的产生:1.3 信号的异步:1.4 信号的处理: 2. 前后台进程3. 系统接口3.1 signal:3.1 - 1 不能被捕捉的信号 3.2 kill:3.2 - 1 killall 3.3 ra…...

JS弃之可惜食之无味的代码冷知识

JS代码冷知识大全 1. 变量提升与暂死 在JavaScript中,变量提升是一个有趣且容易让人误解的概念。在代码中,变量和函数声明会在其所在作用域的顶部被提升,但是初始化并不会被提升。这可能导致在声明之前就使用变量,结果为undefin…...

数据结构初阶--排序

目录 一.排序的基本概念 1.1.什么是排序 1.2.排序算法的评价指标 1.3.排序的分类 二.插入排序 2.1.直接插入排序 2.2.希尔排序 三.选择排序 3.1.直接选择排序 3.2.堆排序 重建堆 建堆 排序 四.交换排序 4.1.冒泡排序 4.2.快速排序 快速排序的递归实现 法一&a…...

赴日IT 如何提高去日本做程序员的几率?

其实想去日本做IT工作只要满足学历、日语、技术三个必要条件,具备这些条件应聘就好,不具备条件你就想办法具备这些条件,在不具备条件之前不要轻易到日本去,日本IT行业虽然要求技术没有国内那么高,但也不是随便好进入的…...

c# 使用了 await、asnync task.run 三者结合使用

在 C# 异步编程中,await 和 async 关键字结合使用可以让你更方便地编写异步代码,而无需直接使用 Task.Run。然而,有时候你可能仍然需要使用 Task.Run 来在后台线程上执行某些工作,这取决于你的代码逻辑和需求。 await 和 async 关…...

C#获取屏幕缩放比例

现在1920x1080以上分辨率的高分屏电脑渐渐普及了。我们会在Windows的显示设置里看到缩放比例的设置。在Windows桌面客户端的开发中,有时会想要精确计算窗口的面积或位置。然而在默认情况下,无论WinForms的Screen.Bounds.Width属性还是WPF中SystemParamet…...

Rn实现省市区三级联动

省市区三级联动选择是个很频繁的需求,但是查看了市面上很多插件不是太老不维护就是不满足需求,就试着实现一个 这个功能无任何依赖插件 功能略简单,但能实现需求 核心代码也尽力控制在了60行左右 pca-code.json树型数据来源 Administrative-d…...

SpringCloud学习笔记(十)_SpringCloud监控

今天我们来学习一下actuator这个组件,它不是SpringCloud之后才有的,而是SpringBoot的一个starter,Spring Boot Actuator。我们使用SpringCloud的时候需要使用这个组件对应用程序进行监控与管理 在SpringBoot2.0版本中,actuator可以…...

测试理论与方法----测试流程的第二个环节:测试计划

二、软件测试分类与测试计划 1、软件测试的分类(理解掌握) 根绝需求规格说明书,在设计阶段会产出的两个文档: 概要设计(HLD):设计软件的结构,包含软件的组成,模块之间的层次关系,模块与模块之间的调用关系…...

postgresql-子查询

postgresql-子查询 简介派生表IN 操作符ALL 操作符ANY 操作符关联子查询横向子查询EXISTS 操作符 简介 子查询(Subquery)是指嵌套在其他 SELECT、INSERT、UPDATE 以及 DELETE 语句中的 查询语句。 子查询的作用与多表连接查询有点类似,也是为…...

Linux 系统运维工具之 OpenLMI

一、前要 OpenLMI(全称 Open Linux Management Infrastructure)即开放式的 Linux 管理基础架构。OpenLMI 是一个开源项目,用于管理 Linux 系统管理的通用基础架构。它建立在现有工具基础上,充当抽象层,以便向系统管理…...

8天长假快来了,Python分析【去哪儿旅游攻略】数据,制作可视化图表

目录 前言环境使用模块使用数据来源分析 代码实现导入模块请求数据解析保存 数据可视化导入模块、数据年份分布情况月份分布情况出行时间情况费用分布情况人员分布情况 前言 2023年的中秋节和国庆节即将来临,好消息是,它们将连休8天!这个长假…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

Android15默认授权浮窗权限

我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...