BYU-YOLO数据格式准备
BYU - Locating Bacterial Flagellar Motors 2025(在3D断层扫描图像中定位细菌鞭毛马达)
一、数据介绍
1.竞赛介绍
在本次竞赛中,您的任务是在3D断层扫描图像中找到鞭毛马达的中心位置。断层扫描图像是物体的三维体积表示。每个断层扫描图像作为一个独立的目录提供,其中包含一系列2D图像切片(JPEG格式)。您需要预测存在鞭毛马达时其在三维空间中的位置点。
2.文件和目录说明
-
train/:包含多个子目录,每个子目录对应一个用于训练的断层扫描图像。每个断层扫描子目录包含多个JPEG文件,每个JPEG文件是该断层扫描图像的一个2D切片。
-
train_labels.csv:训练数据标签。每一行代表一个唯一的马达位置,而不是一个唯一的断层扫描图像。列包括:
row_id
:行索引tomo_id
:断层扫描图像的唯一标识符。某些断层扫描图像包含多个马达。Motor axis 0
:马达的z坐标,即所在的切片编号Motor axis 1
:马达的y坐标Motor axis 2
:马达的x坐标Array shape axis 0
:z轴长度,即断层扫描图像的切片数量Array shape axis 1
:y轴长度,即每个切片的高度Array shape axis 2
:x轴长度,即每个切片的宽度Voxel spacing
:体素间距,即每个体素的埃(Å)数Number of motors
:断层扫描图像中的马达数量。注意,每一行代表一个马达,因此包含多个马达的断层扫描图像将有多个行来定位每个马达。
-
test/:包含三个测试断层扫描图像的目录;重新运行的测试数据集包含大约900个断层扫描图像。测试数据仅包含具有一个或零个马达的断层扫描图像。
-
sample_submission.csv:正确格式的示例提交文件。(如果您预测某个断层扫描图像中不存在马达,请将
Motor axis 0
、Motor axis 1
和Motor axis 2
设置为-1
)。
3.提交格式
提交文件应遵循sample_submission.csv文件的格式。对于每个断层扫描图像,您需要预测:
Motor axis 0
(z坐标)Motor axis 1
(y坐标)Motor axis 2
(x坐标)
如果断层扫描图像中未检测到马达,请将所有三个坐标设置为-1
。
二、YOLO数据准备
在目标检测任务中,准备高质量的训练数据是模型成功的关键。本文将详细讲解一段用于准备 YOLO(You Only Look Once)目标检测模型训练数据的 Python 脚本。该脚本从 3D 断层扫描图像(tomograms)中提取包含电机(motors)的切片,并将其转换为 YOLO 数据集格式。
代码详解
1. 导入模块
import os
import numpy as np
import pandas as pd
from PIL import Image
import shutil
import time
import yaml
from pathlib import Path
from tqdm.notebook import tqdm # Use tqdm.notebook for Jupyter/Kaggle environments
import concurrent.futures # 导入多线程模块
- os:用于文件和目录操作。
- numpy (np):用于数值计算和数组操作。
- pandas (pd):用于数据处理和分析。
- PIL.Image:用于图像处理。
- shutil:用于文件复制和移动。
- time:用于时间相关操作。
- yaml:用于读写 YAML 格式文件。
- Path:用于路径操作。
- tqdm.notebook:用于在 Jupyter Notebook 或 Kaggle 环境中显示进度条。
- concurrent.futures:用于实现多线程处理。
2. 设置随机种子
np.random.seed(42)
设置随机种子为 42,确保每次运行代码时随机操作的结果是可重复的。
3. 定义路径
data_path = "/kaggle/input/byu-locating-bacterial-flagellar-motors-2025/"
train_dir = os.path.join(data_path, "train")yolo_dataset_dir = "/kaggle/working/yolo_dataset"
yolo_images_train = os.path.join(yolo_dataset_dir, "images", "train")
yolo_images_val = os.path.join(yolo_dataset_dir, "images", "val")
yolo_labels_train = os.path.join(yolo_dataset_dir, "labels", "train")
yolo_labels_val = os.path.join(yolo_dataset_dir, "labels", "val")
data_path
:原始数据集的路径。train_dir
:包含训练数据的目录。yolo_dataset_dir
:YOLO 数据集的根目录。yolo_images_train
和yolo_images_val
:分别是训练集和验证集的图像目录。yolo_labels_train
和yolo_labels_val
:分别是训练集和验证集的标注目录。
4. 创建目录
for dir_path in [yolo_images_train, yolo_images_val, yolo_labels_train, yolo_labels_val]:os.makedirs(dir_path, exist_ok=True)
创建 YOLO 数据集所需的目录结构,如果目录已存在,则不会重复创建。
5. 定义常量
TRUST = 4 # 定义了在中心切片上下各取多少切片。具体来说,它决定了从中心切片(z_center)向上和向下各扩展多少个切片,总共处理的切片数量为 2 * TRUST + 1
BOX_SIZE = 24 # 标注框的大小(以像素为单位)。这个值用于确定每个电机在图像中的标注框的宽度和高度。
TRAIN_SPLIT = 0.8 # 80% for training, 20% for validation
TRUST
:定义了在中心切片上下各取多少切片(总共2 * TRUST + 1
个切片)。BOX_SIZE
:定义了标注框的大小(以像素为单位)。TRAIN_SPLIT
:定义了训练集和验证集的划分比例(80% 用于训练,20% 用于验证)。
在代码中,BOX_SIZE
是一个非常重要的常量,它定义了标注框(bounding box)的大小,用于目标检测任务。具体来说,BOX_SIZE
的作用如下:
5.1. 标注框的大小
在目标检测任务中,每个目标(例如电机)的位置通常用一个矩形框(标注框)来表示。BOX_SIZE
定义了这个矩形框的宽度和高度(假设标注框是正方形)。例如,如果 BOX_SIZE = 24
,则标注框的宽度和高度均为 24 个像素。
5.2. 在代码中的具体应用
在代码的 process_motor
函数中,BOX_SIZE
被用于计算标注框的归一化坐标。以下是相关代码片段:
box_width_norm = BOX_SIZE / img_width
box_height_norm = BOX_SIZE / img_height
img_width
和img_height
分别是图像的宽度和高度。box_width_norm
和box_height_norm
是标注框的宽度和高度归一化到 [0, 1] 范围内的值。- 这些归一化后的值是 YOLO 模型所需的标注格式。
5.3. YOLO 标注格式
YOLO 模型的标注文件格式要求标注框的中心点坐标和宽度、高度都归一化到 [0, 1] 范围内。标注文件的每一行表示一个目标,格式如下:
<class> <x_center> <y_center> <width> <height>
<class>
是目标的类别(在本例中为0
,表示电机)。<x_center>
和<y_center>
是标注框中心点的归一化坐标。<width>
和<height>
是标注框的归一化宽度和高度。
BOX_SIZE
的值直接影响标注框的大小,从而决定了模型在训练和推理时对目标的检测范围。例如,如果 BOX_SIZE
设置得过大,标注框可能会覆盖多个目标;如果设置得过小,可能会无法完全覆盖目标。
6. 图像归一化函数
def normalize_slice(slice_data):"""Normalize slice data using 2nd and 98th percentiles"""p2 = np.percentile(slice_data, 2)p98 = np.percentile(slice_data, 98)clipped_data = np.clip(slice_data, p2, p98)normalized = 255 * (clipped_data - p2) / (p98 - p2)return np.uint8(normalized)
使用 2% 和 98% 的百分位数对图像数据进行裁剪,以去除异常值。将裁剪后的数据归一化到 [0, 255] 范围内,并转换为 8 位无符号整数。
7. 处理单个电机的函数
def process_motor(tomo_id, z_center, y_center, x_center, z_max, images_dir, labels_dir, trust=TRUST):"""Process a single motor and save the slices and labels""""""这两个变量定义了以 z_center 为中心,向上和向下扩展 trust 个切片的范围。这样可以确保在处理电机时,不仅包括中心切片,还包括其周围的切片,从而捕捉到更多的上下文信息,有助于提高模型的检测准确性。"""z_min = max(0, z_center - trust) # 确保了在 z 轴上不会低于 0z_max = min(z_max - 1, z_center + trust) # 确保了在 z 轴上不会超过断层扫描图像的最大切片数减一processed_slices = 0for z in range(z_min, z_max + 1):slice_filename = f"slice_{z:04d}.jpg" # 根据当前切片编号 z 生成一个格式化的文件名,确保文件名是 4 位数字,不足 4 位时用前导零填充。src_path = os.path.join(train_dir, tomo_id, slice_filename) # 加载图片if not os.path.exists(src_path):print(f"Warning: {src_path} does not exist, skipping.")continueimg = Image.open(src_path)img_array = np.array(img)normalized_img = normalize_slice(img_array) # 归一化处理图片dest_filename = f"{tomo_id}_z{z:04d}_y{y_center:04d}_x{x_center:04d}.jpg" # 保存的图片dest_path = os.path.join(images_dir, dest_filename) # 保存图像的地址Image.fromarray(normalized_img).save(dest_path)"""这里是yolo数据格式的计算方法,这里做了归一化处理"""img_width, img_height = img.sizex_center_norm = x_center / img_widthy_center_norm = y_center / img_heightbox_width_norm = BOX_SIZE / img_widthbox_height_norm = BOX_SIZE / img_heightlabel_path = os.path.join(labels_dir, dest_filename.replace('.jpg', '.txt'))with open(label_path, 'w') as f:f.write(f"0 {x_center_norm} {y_center_norm} {box_width_norm} {box_height_norm}\n")processed_slices += 1return processed_slices
YOLO 格式的标注文件要求标注框的中心坐标和尺寸都归一化到 [0, 1] 范围内。这样做的好处是:
模型鲁棒性:归一化使得模型对不同尺寸的输入图像具有更好的鲁棒性。<
相关文章:
BYU-YOLO数据格式准备
BYU - Locating Bacterial Flagellar Motors 2025(在3D断层扫描图像中定位细菌鞭毛马达) 一、数据介绍 1.竞赛介绍 在本次竞赛中,您的任务是在3D断层扫描图像中找到鞭毛马达的中心位置。断层扫描图像是物体的三维体积表示。每个断层扫描图像作为一个独立的目录提供,其中…...
java NIO中的FileSystems工具类可以读取本地文件系统,ZIP/JAR等,无需解压处理,还可以复制文件
在Java NIO(java.nio.file包)中,FileSystems 是一个工具类,用于操作和管理文件系统。它提供了静态方法来获取或创建文件系统实例,并支持自定义文件系统实现。以下是其核心功能和用法: 1. 核心功能 (1) 获取…...
群体智能优化算法-模拟退火优化算法(Simulated Annealing, SA,含Matlab源代码)
摘要 模拟退火(SA)算法是一种基于物理退火过程的全局优化算法,其核心思想来源于热力学中的退火过程:将材料加热到高温后再缓慢冷却,使其分子结构趋于最低能量状态,从而获得稳定结构。SA 算法利用 Metropol…...
knowledge-微前端(多个前端应用聚合的一个应用架构体系,每个小的应用可独立运行,独立开发,独立部署上线)
1.前言 微前端,将一个大的前端应用拆分为多个小型的,独立开发的前端应用,每一个小型的应用都可以单独的开发,部署和运行。这种结构允许不同的团队使用不同的技术栈来开发应用的不同部分,提高开发的效率与灵活性。 2.实…...
目标检测中归一化的目的?
在目标检测任务中,归一化坐标和尺寸时需要除以图像的宽度和高度,主要有以下几个原因: 1. 统一尺度 不同图像可能具有不同的宽度和高度。通过将坐标和尺寸除以图像的宽度和高度,可以将所有图像的标注信息统一到相同的尺度范围([0, 1])。这使得模型在训练和推理时能够处理…...
HarmonyOs- UIAbility应用上下文
上下文为何物 上下文在计算机科学领域是一个广泛存在的概念。是现代操作系统核心抽象概念之一。其本质是环境信息的结构化封装。 有过开发经验的都知道,当我们在一个系统上进行开发的时候,无论是Android,HarmonyOs,Linux 等等&a…...
鸿蒙开发真机调试:无线调试和USB调试
前言 在鸿蒙开发的旅程中,真机调试堪称至关重要的环节,其意义不容小觑。虽说模拟器能够为我们提供初步的测试环境,方便我们在开发过程中快速预览应用的基本效果,但它与真机环境相比,仍存在诸多差异。就好比在模拟器中…...
【门店租金指定日期区间计算】
目录 一、背景(一)业务场景(二)相关数据支撑 二、计算方法统一封装(一)门店租金数据表格逻辑(二)业务逻辑详细解释(三)具体代码 一、背景 (一&am…...
Dify:开源大模型应用开发平台全解析
从部署到实践,打造你的AI工作流 一、项目简介 Dify 是一款面向开发者和企业的开源大语言模型(LLM)应用开发平台,旨在降低AI应用开发门槛,让用户通过可视化界面快速构建、管理和部署基于大模型的智能应用。其名称寓意“…...
使用DDR4控制器实现多通道数据读写(四)
在创建完DDR4的仿真模型后,我们为了实现异步时钟的读写,板卡中在PL端提供了一组差分时钟,可以用它通过vivado中的Clock Wizard IP核生成多个时钟,在这里生成两个输出时钟,分别作为用户的读写时钟,这样就可以…...
BFS--------N叉树的层序遍历
429. N 叉树的层序遍历 - 力扣(LeetCode) 1.题目解析 给定一个 N 叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。 树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(…...
蓝桥杯备考----小贪心+分类讨论问题---Popsicle
这道题有点小贪心的意思,小老鼠每次都想阻碍小猫最多,老鼠每次阻碍猫的话,可能是把0变成9 也可能是把1变成9,再有可能把2变成9,把3变成9,小老鼠的贪心就是尽可能更多的阻碍小猫拿冰棍,所以小老…...
强大的AI网站推荐(第一集)—— Devv AI
网站:Devv AI 号称:最懂程序员的新一代 AI 搜索引擎 博主评价:我的大学所有的代码都是使用它,极大地提升了我的学习和开发效率。 推荐指数:🌟🌟🌟🌟🌟&#x…...
【问题解决】Postman 测试报错 406
现象 Tomcat 日志 org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved org.springframework.web.HttpMediaTypeNotAcceptableException: No acceptable representation HTTP状态 406 - 不可接收 的报错,核心原因 客…...
互联网it常用抓包工具说明
一、引言 在互联网 IT 领域,无论是网络故障排查、安全检测,还是开发调试,抓包工具都发挥着举足轻重的作用。 当网络出现故障,比如网页加载缓慢、应用无法连接服务器时,抓包工具可以帮助我们捕获网络数据包࿰…...
RS485总线加终端电阻可能存在的问题
目录 1、降低驱动信号幅值 2、增大通信线压降 3、增大收发器功耗 4、降低总线空闲时的差分电压 尽管终端电阻能有效减少信号反射、提高信号质量,但它也引入了一系列问题,需要在设计中谨慎考虑。以下是几个常见问题的详细分析: 1、降低驱…...
在 Linux 系统上部署 Deepseek AI 的全面指南
对于所有希望亲身体验 AI 魅力的玩家来说,本文将提供一个详尽的教程,指导你在 Linux 系统上部署 Deepseek AI。无论你是技术小白还是有一定基础的用户,都能轻松跟随本文完成部署。 一、关于 Ollama Ollama 是一款功能强大的开源应用&am…...
Docker下载,包含Win、Mac
介绍 Docker 是一种开源的容器化平台,通过操作系统级虚拟化技术实现应用的快速开发、部署和运行。以下从多个维度对 Docker 进行详细介绍: 一、Docker 的核心概念与功能 容器化技术 Docker 利用 Linux 内核的容器隔离技术(如 Cgroups 和 Nam…...
算法|2025最强优化算法
根据2025年的最新研究进展,以下是被广泛认可的几种“最强优化算法”,它们在理论创新、性能表现和应用范围上均有显著突破: 一、植物根茎生长优化算法(PRGO) 1 - 核心原理:灵感来源于植物根系结构…...
Prime: 1靶场渗透测试
Prime: 1 来自 <Prime: 1 ~ VulnHub> 1,将两台虚拟机网络连接都改为NAT模式 2,攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182,靶场IP192.168.23.207 3,对靶机进行端口服务探测…...
html相关常用语法
html相关常用语法 HTML(HyperText Markup Language)即超文本标记语言,是用于创建网页的标准标记语言 HTML使用标记语言描述Web页面的结构 HTML元素是HTML页面的建构快 HTML元素通过标签tag来表示 HTML标签是“标题”、”段落“、”表格“等内…...
2025年R1 快开门式压力容器操作证考试题目及答案解析
R1 快开门式压力容器操作证考试题目及答案: 单选题 1、快开门式压力容器的快开门(盖)应设计安全联锁装置并应具有( )功能。 A. 当快开门达到预定关闭部位方能升压运行的安全联锁功能 B. 当压力容器的内部压力完全释…...
《傲慢与偏见》(Pride and Prejudice)简介
学习《傲慢与偏见》 本文缘于阅读床头灯3000词英文版《傲慢与偏见》。读完之后,想要了解的更深一点。 英语学习记录:床头灯3000词:《傲慢与偏见》(Pride and Prejudice)阅读记录 故事梗概 《傲慢与偏见》(…...
绿盟科技春招面试
《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39…...
dpkg-architecture命令详解
dpkg-architecture 是 Debian 系系统中用于处理软件包架构相关操作的工具,尤其在软件包构建和交叉编译环境中至关重要。以下是其核心功能及用法的详细说明: 一、核心功能 架构查询与验证 显示或验证当前系统(DEB_HOST_ARCHÿ…...
阿里的MNN源码如何编译成so文件,供Android调用
在Ubtuntu下面的编译,先整理编译环境 1、安装环境依赖 # 安装必要工具 sudo apt update sudo apt install -y cmake ninja-build git wget # 安装Android NDK(建议使用r21版本或更高) wget https://dl.google.com/android/repository/a…...
【高项】信息系统项目管理师(九)项目资源管理【4分】
项目资源管理包括识别、获取和管理所需资源以成功完成项目的各个过程,这些过程有助于确保项目经理和项目团队在正确的时间和地点使用正确的资源。项目资源是指对于项目来说,一切具有使用价值,可为项目接受和利用,且属于项目发展过程所需的客观存在的资源,包括实物资源和团…...
hive 数据简介
Hive介绍 1)Hive简介 Hive是基于Hadoop的一个数据仓库工具,用于结构化数据的查询、分析和汇总。Hive提供类SQL查询功能,它将SQL转换为MapReduce程序。 Hive不支持OLTP,Hive无法提供实时查询。 2)Hive在大数据生态环境…...
SpringBoot的启动原理?
大家好,我是锋哥。今天分享关于【SpringBoot的启动原理?】面试题。希望对大家有帮助; SpringBoot的启动原理? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Spring Boot的启动原理主要是通过 SpringApplication 类来…...
蓝桥杯2023年第十四届省赛真题-子矩阵
题目来自DOTCPP: 暴力思路(两个测试点超时): 题目要求我们求出子矩阵的最大值和最小值的乘积,我们可以枚举矩阵中的所有点,以这个点为其子矩阵的左上顶点,然后判断一下能不能构成子矩阵。如果可…...
hackmyvm-connection
connection(利用445端口smb) ubuntu:192.168.89.225(这里使用ubuntu代替centos7) connection:192.168.89.47 kali:192.168.89.149 arp-scan -l nmap -sS -v 192.168.36.47 nmap 192.168.89.47 --script vuln 使用nmap vuln扫描192.168.111.80靶机,观察可能存在的…...
JVM——Java虚拟机
JVM——Java虚拟机 一. 内存区域划分二. 类加载机制2.1 双亲委派模型(类加载环节) 三. 垃圾回收机制(GC)3.1 识别垃圾3.2 释放内存空间 一. 内存区域划分 JVM本身也是一个进程,会向系统申请内存,然后根据实…...
2024年数维杯数学建模A题多源机会信号建模与导航分析解题全过程论文及程序
2024年数维杯数学建模 A题 多源机会信号建模与导航分析 原题再现: (一)问题背景 尽管全球卫星定位系统下的定位导航技术已成熟,但考虑到室内、隧道、建筑密集区等复杂环境或全球卫星定位系统被毁失灵等突发场景,…...
解释 TypeScript 中的类型保护(type guards),如何使用类型保护进行类型检查?
TypeScript类型保护深度解析 核心概念解析 类型保护是TypeScript用于在条件分支中缩小变量类型范围的机制,通过特定的语法结构让编译器能够推导出更精确的类型信息。其核心价值在于提升代码类型安全性,同时保持开发效率。 五大实现方式及实战案例 1.…...
【时时三省】(C语言基础)习题:分析一个程序
( 1 )运行时会输出什么信息?为什么? ( 2 )如果将程序第4,5行改为 c1 197; c2 198; 运行时会输出什么信息?为什么? ( 3 )如果将程序第3行改为 int cl , c2 ; 运行时会输出什么信息?为什么? ( 1 )输出结果…...
基于springboot的旅游网站(013)
摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势,旅游网站当然也不能排除在外,随着旅游网站的不断成熟,它彻底改变了过去传统的旅游网站方式,不仅使旅游管理…...
vscode查看文件历史git commit记录
方案一:GitLens 在vscode扩展商店下载GitLens 选中要查看的文件,vscode界面右上角点击GitLens的图标,选择Toggle File Blame 界面显示当前打开文件的所有修改历史记录 鼠标放到某条记录上,可以看到记录详情,选中O…...
基于Wasm的边缘计算Pandas:突破端侧AI的最后一公里——让数据分析在手机、IoT设备上飞驰
引言:边缘计算的算力觉醒 在智能家居设备每秒产生数万条传感器数据、手机App需要实时分析用户行为的今天,传统云计算模式面临高延迟、隐私风险、带宽成本三大挑战。本文将揭示如何通过WebAssembly(Wasm)Pandas的技术组合…...
负载均衡的在线OJ项目
负载均衡的在线OJ项目 所用技术与开发环境项目的宏观结构我们的项目要实现的最重要的功能:我们项目的整体结构:项目编写思路 compile_server模块compiler模块设计与编写Runner模块设计与编写细节setrlimit系统调用函数程序流程图 Compile_and_run模块设计…...
CPP从入门到入土之类和对象Ⅱ
一、六大默认成员函数 默认成员函数是用户没有显式实现,编译器自动生成的成员函数。 一个类,我们在不写的情况下,编译器会默认生成六个默认成员函数 本文详细介绍构造函数和析构函数 二、构造函数 构造函数虽名为构造函数,但是…...
2025年 cocosCreator 1.8 定制 JavaScript 引擎
参考文档:https://docs.cocos.com/creator/1.9/manual/zh/advanced-topics/engine-customization.html PS: 1.8的文档已经没了,只能看1.9的,所幸这两个版本差别不大 获取 JS 引擎 原文中github上的分支已经找不到了,这里直接从c…...
「JavaScript深入」Socket.IO:基于 WebSocket 的实时通信库
Socket.IO Socket.IO 的核心特性Socket.IO 的架构解析Socket.IO 的工作流程Socket.IO 示例:使用 Node.js 搭建实时聊天服务器1. 安装 Socket.IO2. 服务器端代码(Node.js)3. 客户端代码(HTML JavaScript)4. 房间功能 高…...
turnjs图册翻书效果
npm install https://github.com/igghera/turn.js.git //或者 npm install turn.js //import $ from "jquery"; //记得引入jquery import turn.js; // 引入 Turn.jsimport turn from "/utils/turn.min.js";// 引入 Turn.jsinitBook(length) {var that thi…...
大语言模型的训练数据清洗策略
目录 大语言模型的训练数据清洗策略 1. 数据去重与标准化 问题 解决方案 示例代码(Python 实现数据去重): 2. 过滤有害内容 问题 解决方案 示例代码(基于关键词过滤有害内容): 3. 纠正数据不均衡 …...
在 Vue 项目中调用 DeepSeek API(示例篇)
在 Vue 项目中调用 DeepSeek(假设 DeepSeek 是一个提供 API 服务的第三方工具,例如用于搜索、数据分析等),通常需要通过 HTTP 请求与 DeepSeek 的 API 进行交互。以下是一个简单的示例,展示如何在 Vue 项目中调用 DeepSeek API。 实例如下: 安装依赖 首先,确保你的项目中…...
对接股票金融数据源API
StockTV 股票市场API StockTV 提供全面的实时和历史股市数据 API,涵盖全球股票、外汇、期货及市场新闻数据,助力投资者精准把握市场动态。 主要功能 实时和历史股市数据 API 获取全球股票市场的实时行情、历史数据及深度分析,支持多语言查询…...
蓝桥杯关于栈这个数据结构的一个算法题目
文章目录 1.题目概述解释2.思路分析3.代码解析 1.题目概述解释 找出来这个字符串里面重复出现的字符,类似于这个消消乐的游戏; 示例一里面的这个bb是连续的并且是一样的这个字符,因此删除bb,删除之后发现这个aa有一次相邻了&…...
SpringBoot配置文件加载优先级
在Spring Boot项目中,配置属性的优先级是一个重要的概念,它决定了当存在多个配置源时,哪个配置源的属性将被应用。以下是SpringBoot中配置属性的优先级,从最高到最低: 命令行参数: 命令行参数具有最高的优先…...
企业数据治理解决方案(46页PPT)(文末有下载方式)
资料解读:企业数据治理解决方案 详细资料请看本解读文章的最后内容。 在当今数字化时代,数据已成为企业的核心资产,对企业的发展起着至关重要的作用。然而,许多企业在数据管理方面面临诸多挑战,如数据不全、样式繁多、…...
版本控制器Git ,Gitee如何连接Linux Gitee和Github区别
📖 示例场景 假设你和朋友在开发一个「在线笔记网站」,代码需要频繁修改和协作: 只用本地文件管理 每次修改后手动复制文件,命名为 v1.html、v2.html 问题:无法追踪具体改动内容;多人修改易冲突࿱…...