AugLy 工具包 augly.utils 深度解析:资源路径、常量与多模态增强的底层支撑
机器学习AI 应用【免费下载链接】AugLyA data augmentations library for audio, image, text, and video.项目地址https://gitcode.com/gh_mirrors/au/AugLy点击查看免费下载本文以 AugLy 开源数据增强库中的augly.utils工具包为核心系统梳理其资源路径体系、核心常量、输入校验、时间分段计算与文件 IO 基础设施并结合源码与测试用例说明这些基础设施如何被音频、图像、文本、视频四大模块复用。读完本文你将掌握 AugLy 内部资源定位机制、Segment时间分段模型、pathmgr远程文件访问方案以及 ffmpeg/libsndfile 环境依赖的正确配置方式。一、augly.utils 是什么四大模态增强的公共底座AugLy 是一个覆盖音频audio、图像image、文本text、视频video四种模态的数据增强库。虽然各模态的功能实现彼此独立但它们共享一套底层基础设施这就是augly.utils包。从 augly/utils/init.py 的导出清单可以看到这个包对外提供的能力可分为五类资源路径常量来自base_paths定位仓库内预置的字体、emoji、遮罩、截图模板、测试资产等文件默认值与辅助常量来自constants默认采样率、默认颜色、点击诱饵文案、文本增强词典等输入校验函数来自asserts校验文件类型、路径有效性、RGB 颜色合法性数据结构与算法来自classes和functionsSegment命名元组与时间裁剪分段计算IO 与环境适配来自io、ffmpeg、libsndfile统一文件访问、ffmpeg 定位与 libsndfile 安装钩子。在 Sphinx 文档体系docs/source/augly.utils.rst中augly.utils的 API 文档按两个子模块组织augly.utils.base_paths与augly.utils.constants并在Module contents一节通过automodule自动汇总整个包的公开成员。以下各节将逐一展开这些模块的源码实现。二、augly.utils.base_paths仓库资源路径的唯一定义处路径体系是整个工具包的地基。所有模块只要需要预置资源都会从这里导入路径常量而不是各自硬编码路径。2.1 路径推导逻辑augly/utils/base_paths.py 的核心思路是基于模块文件位置动态推导而非写死绝对路径MODULE_BASE_DIR通过os.path.dirname(os.path.dirname(__file__))从augly/utils/base_paths.py向上两级得到augly包目录ASSETS_BASE_DIR即augly/assets是所有预置资源的根目录各类资源目录再基于ASSETS_BASE_DIR拼接而成。这样设计的好处是无论 AugLy 被安装到 site-packages 还是以源码方式引用资源路径都能随包位置自动解析无需用户手动配置。2.2 资源目录速查表常量指向目录/文件用途AUDIO_ASSETS_DIRassets/audio预置音频资源如静音片段silent.flacTEXT_DIRassets/text文本增强所需的 JSON 词典EMOJI_DIRassets/twemojisTwemoji 表情图片库FONTS_DIRassets/fonts字体文件库TTF/OTF 及序列化 pklIMG_MASK_DIRassets/masks图像遮罩如dfdc_mask.pngSCREENSHOT_TEMPLATES_DIRassets/screenshot_templates截图增强模板TEMPLATE_PATHscreenshot_templates/web.png默认网页截图模板TEST_URItests/assets单元测试资产根目录其中TEST_URI指向tests/assets源码中通过os.path.join(MODULE_BASE_DIR, tests, assets)得到测试代码大量依赖它。例如 augly/tests/base_configs.py 中ImageAugConfig、VideoAugConfig、AudioAugConfig的输入/输出目录均以TEST_URI为基础拼接保证测试在任意环境可复现。2.3 测试元数据路径base_paths还定义了四模态的**期望元数据expected metadata**路径METADATA_BASE_PATHtests/assets/expected_metadataAUDIO_METADATA_PATH/IMAGE_METADATA_PATH/TEXT_METADATA_PATH/VIDEO_METADATA_PATH分别指向各模态测试的expected_metadata.json这些路径被 augly/tests/audio_tests/transforms_unit_test.py、augly/tests/image_tests/transforms_unit_test.py、augly/tests/text_tests/transforms_unit_test.py、augly/tests/video_tests/transforms/ffmpeg_test.py 等测试文件引用用于断言增强前后媒体文件的时长、帧率、采样率等属性是否符合预期。三、augly.utils.constants默认值与内置资源常量augly/utils/constants.py 集中定义了各模态增强函数的默认参数值以及大量指向具体资源文件的路径。理解这些常量等于理解了 AugLy 各增强函数不传参时用的是什么。3.1 颜色与速率颜色三元组DEFAULT_COLOR (0, 0, 0)黑、WHITE_RGB_COLOR (255, 255, 255)白、RED_RGB_COLOR (255, 0, 0)红DEFAULT_FRAME_RATE 10视频默认帧率DEFAULT_SAMPLE_RATE 44100音频默认采样率CD 音质标准。该常量被 augly/audio/functional.py 直接导入作为音频增强的默认采样率。3.2 文本相关常量DEFAULT_TEXT_INDICES默认随机选取的 5 个文本下标random.randrange(1, 1000)用于从内置词典中抽样CONTRACTIONS_MAPPING指向text/contractions.json为contraction增强提供缩写↔全称映射FUN_FONTS_PATH/FUN_FONTS_GREEK_PATH指向fun_fonts.json与fun_fonts_greek.json用于花式字体替换UNICODE_MAPPING_PATH指向letter_unicode_mapping.json用于字母与 Unicode 字符的互相替换MISSPELLING_DICTIONARY_PATH指向misspelling.json用于模拟拼写错误GENDERED_WORDS_MAPPING指向gendered_words_mapping.json用于swap_gendered_words公平性增强。源码注释说明该映射由女性/男性词汇表构建而来词汇表与 Dinan et al., 2020 一致。3.3 字体相关常量FONT_PATH默认字体NotoNaskhArabic-Regular.ttf是文本背景覆盖augly/image/functional.py 中overlay_text的默认字体DEFAULT_TEXT_OVERLAY_FONT_PATH默认文字叠加字体Allura-Regular.ttf装饰性手写体MEME_DEFAULT_FONT默认 meme 字体Raleway-ExtraBold.ttfSOCIAL_MEDIA_OVERLAY_FONTS社交媒体风格叠加字体列表Montserrat-ExtraBoldItalic、CourierPrime-Bold、Barlow-SemiBold、Dekko-Regular、Arapey-Italic、OldStandardTT-Regular、CosmopolitanScriptRegular 等供随机字体叠加类增强随机抽样。3.4 图像与截图相关常量IMG_MASK_PATH指向masks/dfdc_mask.png用于 DFDCDeepFake Detection Challenge风格的遮罩增强BBOXES_PATH指向screenshot_templates/bboxes.json是截图增强中预标注的边界框数据EMOJI_PATH指向twemojis/smileys/smiling_face_with_heart_eyes.png作为overlay_emoji系列增强的默认 emoji。注释明确这些 emoji 资产来自 TwemojiTwitter 开源项目代码 MIT、图形 CC-BY 4.0SUPPORTED_LINE_TYPES [dotted, dashed, solid]overlay_stripes增强支持的三种线条类型。3.5 点击诱饵短语与音频资源CLICKBAIT_PHRASES25 条内置点击诱饵文案如 BREAKING: THIS CHANGES EVERYTHING、YOU WONT BELIEVE WHAT HAPPENED NEXT是overlay_random_text_with_background增强的默认文案池SILENT_AUDIO_PATH指向audio/silent.flac用于在音频或视频中插入静音片段。四、augly.utils.asserts增强输入的第一道防线所有模态的增强函数在真正处理数据之前都会先经过输入校验。augly/utils/asserts.py 提供了以下校验能力文件类型检测基于python-magic的 MIME 识别。is_audio_file检查 MIME 是否包含audiois_image_file检查是否包含imageis_video_file除检查videoMIME 外还会对application/octet-stream做二次嗅探通过文件描述中的 iso mediaMP4、matroskaMKV、webm、avi、quicktimeMOV、mpeg 等关键词识别视频容器路径校验validate_path要求路径是字符串且存在通过pathmgr.exists检查validate_output_path要求输出路径的父目录存在模态专用校验validate_audio_path之所以同时允许音频和视频路径是因为源码注释说明librosa可以从音频与视频两种文件中提取音频validate_image_path、validate_video_path分别只接受对应类型颜色校验validate_rgb_color要求颜色是长度为 3、每个分量在 0~255 之间的元组否则抛出断言错误。这些校验函数已通过 augly/utils/init.py 导出为包级 API供 augly/audio/functional.py、augly/image/functional.py 等模块在函数入口处统一调用。五、augly.utils.classes.Segment时间分段的统一数据结构Segment是 AugLy 视频/音频时间轴对齐机制的核心数据结构定义在 augly/utils/classes.pyclass Segment(NamedTuple): start: float end: float src_id: str | None Nonestart/end时间段起止秒src_id可选标识该时间段在源媒体中的来源delta(start_delta, end_delta)按给定偏移量平移生成新Segment若new_start new_end则抛出ValueError防止产生非法倒置时间段。该结构在视频元数据追踪中扮演关键角色视频增强如裁剪、变速、拼接会改变时间轴Segment对记录了源视频某段时间 ↔ 目标视频某段时间的匹配关系从而支持在增强后反向定位任意时刻对应的源内容。六、augly.utils.functions.compute_time_crop_segments时间裁剪的段映射算法augly/utils/functions.py 中的compute_time_crop_segments是视频时间裁剪类增强的核心算法。它根据一个时间裁剪区间[crop_start, crop_end]计算给定的源-目标匹配段对如何变化并将新段追加到new_src_segments/new_dst_segments列表中。算法要点源码注释可见其设计意图完全裁剪若裁剪区间与匹配段不相交crop_start dst_segment.end或crop_end dst_segment.start则该匹配对在目标视频中已不存在直接返回裁剪开头new_start dst_segment.start - crop_start若为负说明匹配段的开头被裁掉需要同步调整src_start裁剪结尾若crop_end dst_segment.end需要同步调整src_end速度因子修正speed_factor参数用于补偿先前变速操作的影响——注释举例若之前做过 0.5x 慢放目标视频中 10 秒的匹配段可能只对应源视频 5 秒因此所有偏移量都要乘/除速度因子。该算法在视频模块中被复用。视频侧的增强版定义于 augly/video/helpers/metadata.py其中Segment utils.Segmentaugly/video/helpers/metadata.py并且增加了end_dst_offset参数以支持在目标视频中追加偏移。视频的插入背景compute_insert_in_background_multiple_segments、变速、裁剪、拼接等变换都会调用该函数来维护段映射最终由get_segments系列函数基于累积元数据重建完整的源-目标分段表augly/video/helpers/metadata.py。测试侧augly/tests/video_tests/metadata_unit_test.py 直接导入Segment与ASSETS_BASE_DIR来验证元数据追踪逻辑。七、augly.utils.io.pathmgr统一的本地/远程文件访问augly/utils/io.py 只有十余行却提供了 AugLy 全局的文件访问抽象from iopath.common.file_io import HTTPURLHandler, PathManager pathmgr PathManager() pathmgr.register_handler(HTTPURLHandler()) pathmgr.set_strict_kwargs_checking(False)底层基于 Facebook Research 的iopath库的PathManager注册了HTTPURLHandler意味着pathmgr不仅能访问本地路径还能直接读取https://等远程 URLset_strict_kwargs_checking(False)关闭严格关键字检查便于不同 handler 之间参数互通。pathmgr的实际用法体现在文本增强器中例如 augly/text/augmenters/contraction.py 中ContractionMapping在传入字符串形式的映射路径时通过pathmgr.get_local_path(mapping)将本地或远程资源解析为本地可打开路径后再加载 JSON。同理base_paths中的validate_path也用pathmgr.exists做存在性检查。这意味着 AugLy 的增强函数普遍具备路径可以是本地文件也可以是 URL的能力。八、augly.utils.ffmpeg 与 libsndfile外部依赖的定位与安装钩子8.1 ffmpeg 路径定位视频增强强依赖 ffmpeg/ffprobe。augly/utils/ffmpeg.py 的定位逻辑为优先读取环境变量AUGLY_FFMPEG_PATH与AUGLY_FFPROBE_PATH允许用户指定自定义二进制位置未设置时回退到spawn.find_executable(ffmpeg)/(ffprobe)从系统 PATH 中查找若两者任一为None模块导入即触发断言错误信息提示Please install ffmpeg or set the AUGLY_FFMPEG_PATH AUGLY_FFPROBE_PATH environment variables before running AugLy Video。因此使用 AugLy 视频增强前需确保 ffmpeg 与 ffprobe 已安装或在环境中显式设置上述两个环境变量指向二进制文件。get_conditional_for_skipping_video_tests返回(True, ...)用于测试框架的条件跳过机制。8.2 libsndfile 安装钩子augly/utils/libsndfile.py 定义了install_libsndfile()当前实现为空操作占位。该钩子在 augly/audio/utils.py 中被调用——位于导入librosa、soundfile、torchaudio之前用于确保音频底层依赖libsndfile就绪。若使用音频增强时遇到 libsndfile 相关错误需确保系统已安装 libsndfile 动态库。九、从源码到测试基础设施如何被四大模态复用augly.utils的价值最终体现在被各模态模块广泛引用。以下调用关系可从源码中直接确认音频augly/audio/functional.py 导入DEFAULT_SAMPLE_RATE并在导入阶段调用install_libsndfile图像augly/image/functional.py 中overlay_emoji默认emoji_pathutils.EMOJI_PATHL1077、截图增强默认template_filepathutils.TEMPLATE_PATHL1329、文本叠加默认font_fileutils.FONT_PATHL2070、meme 增强默认font_fileutils.MEME_DEFAULT_FONTL2669等文本augly/text/augmenters/baseline.py 等增强器导入pathmgr与各类词典路径常量视频augly/video/helpers/metadata.py 复用Segment与时间分段算法测试端则由 augly/tests/video_tests/metadata_unit_test.py 直接验证。十、小结与实践建议路径定位不要自行拼接资源路径统一从augly.utils.base_paths导入资源随包位置自动解析默认值需要修改增强默认行为时优先关注augly.utils.constants中的对应常量输入校验自定义增强函数时可复用augly.utils.asserts的校验函数保证输入合法性时间轴追踪处理视频裁剪/变速/拼接类增强时使用Segment与compute_time_crop_segments维护源-目标段映射文件访问需要读取远程资源时使用pathmgr而非裸open()环境依赖视频增强前确保 ffmpeg/ffprobe 可用必要时设置AUGLY_FFMPEG_PATH与AUGLY_FFPROBE_PATH音频增强前确保 libsndfile 已安装。通过本文对 docs/source/augly.utils.rst 及其对应源码模块augly/utils/base_paths.py、augly/utils/constants.py、augly/utils/asserts.py、augly/utils/classes.py、augly/utils/functions.py、augly/utils/io.py、augly/utils/ffmpeg.py的剖析你可以更自信地阅读 AugLy 各模态源码或基于这套基础设施编写自己的增强扩展。赞分享机器学习AI 应用【免费下载链接】AugLyA data augmentations library for audio, image, text, and video.项目地址https://gitcode.com/gh_mirrors/au/AugLy点击查看免费下载相关推荐langchain-core 深度解析支撑 LangChain 生态的基础抽象层langchain core 深度解析支撑 LangChain 生态的基础抽象层 本文基于仓库中 libs/core/README.md https://li人工智能大模型AI AgentAgent 框架RAGPaddleNLP transformers.utils 工具模块全解析模型加载、配置追踪与 FLOPs 估算的底层支撑PaddleNLP transformers.utils 工具模块全解析模型加载、配置追踪与 FLOPs 估算的底层支撑 本篇技术指南围绕 PaddleNLP人工智能大模型预训练微调LoRARLHF强化学习分布式训练模型推理服务推理引擎模型量化模型压缩本地部署NLPMediaPipe Face Mesh单摄像头实时还原 468 个 3D 面部关键点MediaPipe Face Mesh单摄像头实时还原 468 个 3D 面部关键点 MediaPipe Face Mesh 是 MediaPipe 的人脸表人工智能机器学习计算机视觉多模态本地部署上一篇xi-unicode 详解面向 Rope 等非连续字节的 Unicode 换行算法与数据表生成工具下一篇actix-multipart 0.8 完全指南multipart/form-data 解析、MultipartForm 表单提取与边界安全创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

The Book of Shaders 实战:GLSL 片段着色器的第一个 Hello World 逐行解析

The Book of Shaders 实战:GLSL 片段着色器的第一个 Hello World 逐行解析

【免费下载链接】thebookofshaders Step-by-step guide through the abstract and complex universe of Fragment Shaders. 项目地址: https://gitcode.com/gh_mirrors/th/thebookofshaders 点击查看 免费下载 本文基于 The Book of Shaders 仓库的第二章内容&…

2026/10/15 3:46:43 阅读更多 →
TheBigPromptLibrary 实战:拆解「22.500+ Best Custom GPTs」——如何用一份指令构建 GPT 检索推荐 Agent

TheBigPromptLibrary 实战:拆解「22.500+ Best Custom GPTs」——如何用一份指令构建 GPT 检索推荐 Agent

提示工程AI 安全治理 【免费下载链接】TheBigPromptLibrary A collection of prompts, system prompts and LLM instructions 项目地址: https://gitcode.com/gh_mirrors/th/TheBigPromptLibrary 点击查看 免费下载 导读:本文以 TheBigPromptLibrary 仓…

2026/10/15 3:46:43 阅读更多 →
企业布局 GEO 要避开哪些陷阱,传播易解析 AI 采信底层规则

企业布局 GEO 要避开哪些陷阱,传播易解析 AI 采信底层规则

随着大语言模型、AI智能搜索逐步取代传统关键词检索,成为用户信息获取的核心渠道,企业品牌营销的底层逻辑正在发生根本性、结构性变革。生成式引擎优化(GEO)的核心逻辑,是依托人工智能模型整合全网权威信源,自动生成精准答案、输出…

2026/10/15 3:45:43 阅读更多 →

最新新闻

模板代码生成工具:从元数据到可用接口的完整实现

模板代码生成工具:从元数据到可用接口的完整实现

1. 为什么需要模板代码生成工具:一大半重复代码其实不该手写做后端开发的朋友应该都有过这种体验:新项目启动,建表、写实体、写Mapper、写Service接口和实现、写Controller,然后前端再把列表页、表单页、弹窗、状态标签挨个撸一遍…

2026/10/15 4:45:53 阅读更多 →
桶排序全解析:原理、复杂度与工程实践

桶排序全解析:原理、复杂度与工程实践

1. 从"把数据扔进格子里"说起:桶排序的第一性原理如果你接触排序算法有一阵子,大概率听说过这句话:"桶排序在数据分布均匀的时候能做到接近O(n)"。但很多人学完快排、归并之后,对桶排序的印象只剩下一个模糊的…

2026/10/15 4:45:53 阅读更多 →
ET 200MP模拟量输出模块AQ 4xU/I ST选型接线调试指南

ET 200MP模拟量输出模块AQ 4xU/I ST选型接线调试指南

简介:西门子SIMATIC S7-1500/ET 200MP模拟量输出模块AQ 4xU/I ST设备手册,面向工业自动化领域的工程技术人员、系统集成商与运维人员。内容聚焦模拟量输出模块在制造、能源、交通等场景下的选型、接线、参数设置与调试问题,帮助用户实现精准的…

2026/10/15 4:45:53 阅读更多 →
Windows开机自启全攻略:启动文件夹、注册表、任务计划与服务详解

Windows开机自启全攻略:启动文件夹、注册表、任务计划与服务详解

1. 开机自启这件事,远不止把快捷方式拖进启动文件夹那么简单很多人第一次接触开机自启,都是因为某个小工具每次重启后都要手动打开,烦得不行。于是上网一搜,看到最多的答案就是“把快捷方式拖进启动文件夹”,照做之后确…

2026/10/15 4:45:53 阅读更多 →
基于地点相似度的POI推荐与路径重组MATLAB实现

基于地点相似度的POI推荐与路径重组MATLAB实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 4:45:53 阅读更多 →
延迟优化实战:从毫秒级到微秒级的系统性能提升路径

延迟优化实战:从毫秒级到微秒级的系统性能提升路径

1. 我为什么折腾到微秒级:被延迟拖垮的业务,往往都死得悄无声息很多人做性能优化,跑到“毫秒级”就收工了,觉得接口P99能压到5ms以内已经是了不起的成就。但如果你在真正的高并发业务链路里待过,就会明白:当…

2026/10/15 4:44:53 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →