VASP 6.4.2 编译安装全指南:从 makefile.include 到并行计算实践
简介新版 VASP 6.4.2 安装包面向第一性原理计算研究者与材料模拟工程师用于解决特定版本 VASP 程序获取及配套环境部署需求。压缩包为 tgz 格式约 94.25MB共包含 2000 个文件。除程序本体外还有 380 个 shell 脚本、255 个 POSCAR、245 个 KPOINTS以及大量 INCAR 参考文件覆盖 ACFDT、AEKLI、GW/BSE、RPA、HSE/PBE0 等功能模块另有 XML 配置和 ml_ff 机器学习力场样例方便不同计算任务对照使用。已有 279 人学习下载。通过该包可快速获得完整目录结构和可复用输入模板按需选择相应模块开展结构优化、电子性质、GW 修正或多体微扰等计算减少自行整理脚本与样例的时间。1. 解压后不是安装包VASP 6.4.2 的真实形态与安装前提拿到 vasp6.4.2 安装包的第一反应往往是解压、看 README、然后期待 bin/ 里出现现成二进制。现实会让不少人栽跟头目录里是几万行 Fortran 源代码编译要自己完成能直接用的通常只有 docs 和 arch 模板。6.4.2 属于 VASP 6.4.x 的补丁分支构建方式沿用 6.x 的 makefile.include 驱动网上大量 5.4.4 时代的 configure 教程并不能照搬。这篇笔记写给两类人一类是刚拿到合法源码、准备在自己机器或集群上从零编译的课题组学生另一类是集群管理员要把 std、gam、ncl 三种二进制一次性编好交给团队使用。我会把依赖选型、makefile.include 修改、编译验证和五个高频坑讲透让你装完敢直接上生产计算。2. 依赖工具链与 makefile.includeVASP 6.4.2 编译环境这样搭2.1 编译器与 MPI 组合先选对再动手VASP 6.4.2 的编译链条里最早敲的不是 make而是花十分钟决定三样东西Fortran 编译器、MPI 实现、BLAS/LAPACK 数学库。常见组合有两套。第一套是 oneAPI 全家桶编译器用 ifort 或新版 ifxMPI 用配套的 Intel MPI数学库直接用 MKL第二套是 gfortran OpenMPI OpenBLAS 或自编译 scalapack。两套都能编出能用的 vasp_std但血泪经验是oneAPI 组合出现频率最高、编译参数最少、默认性能也最好适合不想在环境上耗太久的用户GCC 组合的优势是机器上往往已经预装省去环境变量冲突但 scalapack 要自己找版本对不上会在链接阶段卡很久。版本选择上编译器尽量选较新的稳定版。6.4.2 用到的 Fortran 特性比 5.4.4 新不少太老的 gfortran 4.x 甚至无法完成预处理8.x 在某些平台也会因为 OpenMP 归约写法报尴尬的警告。用集群时先 module avail 看预装清单优先选“编译器与 MPI 同源”的组合。gfortran 配 Intel MPI、ifort 配 OpenMPI 这种混搭不是不能跑但已经属于高风险动作通常我不建议新手尝试。我自己一般会在同一条 module load 语句里把编译器、MPI、MKL 一起加载避免后加载的库把 LD_LIBRARY_PATH 顺序打乱。2.2 从 arch 模板生成 makefile.include第一次打开 vasp.6.4.2 源码包建议先浏览目录结构不要急着改文件。按下面顺序走一遍cd ~/apps/vasp.6.4.2 # 源码根目录路径中不要带空格 ls arch/ # 查看官方提供的编译模板 cp arch/makefile.include.intel makefile.includearch 目录存放的是官方按编译器、MPI 类型区分的模板命名一般是 makefile.include.xxxx。复制而不是直接改 arch 里的文件是为了以后多版本并存时能随时回退makefile.include 是在源码根目录生效的构建系统读的是这个名字。如果你的机器是 aarch64或者调度器和默认模板不匹配arch 里可能没有完全一致的模板那就把最接近的复制出来再按 2.3 节逐项改。注意VASP 6.x 在第一次 make 时才会解析 makefile.include所以语法错误要到编译时才暴露改完先检查一遍引号和续行符。2.3 需要按机器修改的五个关键变量改 makefile.include 之前先明确它到底在告诉构建系统什么。下面是五个必查项其余官方宏大多可以保留默认变量作用错误表现FCFortran 编译器命令make 第一行报 command not foundFCL链接器命令通常还带数学库入口链接阶段一堆 undefined referenceMKLROOTMKL 安装前缀找不到 libmkl_intel_lp64.soLLIBS显式链接的数学库列表scalapack 相关符号缺失CPP_OPTIONS预处理宏集合并行特性没编进去运行时不支持 KPAR以 oneAPI 工具链为例我经常把 makefile.include 中这几行改成如下形态# 以 Intel 工具链为模板按机器实际情况修改的片段 FC mpiifort FCL mpiifort -mkl MKLROOT /opt/install/oneapi/mkl/latest LLIBS -L$(MKLROOT)/lib/intel64 \ -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 \ -lmkl_intel_lp64 -lmkl_sequential -lmkl_core CPP_OPTIONS -DMPI -DscaLAPACK -Duse_collectiveLLIBS 里的顺序不是摆设。Intel MKL 静态链接时scalapack 要在 blacs 之前blacs 要在 MKL 基础库之前顺序颠倒最常见的反应是链接器报出几十个 zheevd_、pdsyevd_ 之类的未定义符号。把 scalapack 和 blacs 留空也不是好主意某些杂化泛函路径会调用并行对角化缺失库的版本看似能编译通过跑 HSE 时才在运行时炸掉。2.4 编译前的一轮环境自检环境检查用下面四条命令比直接 make 更快定位问题source /opt/install/oneapi/setvars.sh # 路径以实际集群为准 export MKLROOT$(ls -d /opt/install/oneapi/mkl/latest) which ifort mpiifort lscpu | grep CPU(s): # 决定 make -j 的并行度which 输出必须是指向绝对路径的可执行文件如果返回“no found”说明工具链没进 PATH后面 make 一定失败。MKLROOT 则决定了 LLIBS 里 -L 能否命中环境变量缺失但 makefile.include 里写死了绝对路径时最容易被忽略。至于 make -j 的数值物理机通常可以用核心数减半到全核之间但登录节点上不要直接打满很多集群对登录节点 CPU 占用有限制超了会被系统杀掉会话。检查完环境再进入实际编译。3. 用一条命令链编完 std、gam、nclVASP 6.4.2 最小编译流程3.1 三种二进制产物的区别与选择VASP 6.4.2 源码包默认可以编出三种 CPU 版二进制分别对应三种计算场景。vasp_std 是标准版支持共线自旋极化、k 点并行、杂化泛函等绝大多数生产任务vasp_gam 是伽马点专用版只能在布里渊区中心单 k 点下跑内存占用和矩阵规模明显更小适合大体系分子动力学vasp_ncl 是非共线版本处理自旋轨道耦合、非共线磁结构这类必须用完整旋量波函数的场景。三者的关系和常见误区是不少用户以为 gam 更快所以跑什么体系都用它实际上只要 KPOINTS 文件里多于一个 k 点vasp_gam 就会拒绝执行或给出错误结果gamma-only 的加速只对超大单胞有意义。生产环境我建议三个都编不需要“先编一个试试”因为编译成本真的不高。3.2 标准版 vasp_std 的编译与产物检查确认 makefile.include 就位后编译命令其实非常简单make -j8 std # 并行度 8按核心数和负载调整 ls bin/ # 确认出现 vasp_std且文件大小在几十 MB 量级如果是第一次编译不要直接就 make all先只编 std。这样可以把 makefile.include 的语法、编译器路径、数学库链接三类问题集中暴露在最短的编译周期里。std 编通之后再做 gam 和 nclmake -j8 gam make -j8 ncl其实 6.4.2 的构建系统里 make all 相当于 std gam ncl 一起编但新手先分别执行更可控。每次成功执行完bin/ 下会多出对应二进制如果中途失败去 build/ 目录看最后一屏错误重点找“FC”“Linking”这些前后词那才是真正有用的信息。常见情况是 bin/ 只有 vasp_std没有 vasp_gam很多人以为编 gam 是另一套独立源码其实只是 makefile.include 里的预处理宏不同同一套源码可以反复编译不同目标。3.3 编译完成后的硅算例冒烟测试编译完成不等于安装完成跑一个最小算例确认可执行文件没有隐藏问题。我常用 2 原子 Si 原胞做冒烟测试整件事在空目录里做避免污染周期表数据。mkdir -p ~/vasp_smoke_test/si cd ~/vasp_smoke_test/si cat POSCAR EOF Si 2-atom cell 1.0 0.000 2.715 2.715 2.715 0.000 2.715 2.715 2.715 0.000 2 Direct 0.00 0.00 0.00 0.25 0.25 0.25 EOFPOSCAR 第一行是注释第二行是缩放因子三到五行是晶格向量第七行写原子数后面直接按分数坐标排列。这里用两个原子的金刚石原胞ENCUT 不需要高。接着写 INCAR 和 KPOINTScat INCAR EOF SYSTEM Si-smoke ISMEAR 0 SIGMA 0.05 ENCUT 300 PREC NORMAL EOF cat KPOINTS EOF K-Points 0 Monkhorst-Pack 4 4 4 0 0 0 EOFPOTCAR 需要从你平时维护的赝势目录里取 Si 的 PAW_PBE 文件复制到当前目录并命名为 POTCAR。然后调用 MPIRUN 启动注意用绝对路径指到刚编译的二进制mpirun -np 8 ~/apps/vasp.6.4.2/bin/vasp_std run.out 21 grep free energy OUTCAR grep reached required accuracy OUTCARgrep 出 free energy 且有 reached required accuracy 字样说明电子步收敛、离子步成功二进制基本可用。跑完顺手记一个大致的 wall time后面换编译器或调 KPAR 时可以作为对比基准。这个冒烟测试算例大约几十秒远不值得省。3.4 深水区GPU 版构建GPU 版 VASP 的价值在大体系 MD 和杂化泛函里非常明显但 6.4.2 的 GPU 编译属于第二阶段工作。GPU 版构建不是在同一份 makefile.include 里加开关那么简单典型做法是把 FC/FCL 换成支持 OpenACC 的编译器并配置 CUDA 路径然后执行 make gpu。具体的宏名每个发布版本不完全一样必须看包里随附的 README。我的建议是先把 CPU 版 std/gam/ncl 全部跑通再回头处理 GPU如果你所在单位根本没有 NVIDIA A100/H100 这类算力GPU 版这一步可以直接跳过不会影响任何常规生产任务。4. VASP 6.4.2 安装常见问题排查从编译报错到运行崩溃4.1 编译器找不到、模板选错与字面报错现象执行 make std 时终端第一行就出现 ifort: command not found或者 /bin/sh: 1: mpif90: not found。原因编译器或 MPI 环境变量没有加载也就是没有执行 setvars.sh、module load 那一步还有一种是机器上只有 gfortran但 makefile.include 是从 makefile.include.intel 复制来的。解决要么加载 oneAPI 环境并重新打开同一个 shell 再编译要么回到 2.2 节重新选 GCC 对应模板。检查顺序是which ifort 无输出再 which gfortran确认机器到底装了什么。模板选错还有个典型症状编译过程中出现 unrecognized option -xHost这是 gcc/gfortran 不认 Intel 专属优化参数的标志说明 makefile.include 与你实际的编译器不匹配。4.2 链接阶段 undefined reference 与数学库顺序现象编译进行到 Linking 阶段屏幕滚出大量 undefined reference tozheevd_、pdsyevd_ 或 scalapack 相关符号Stdout 最后提示 ld returned 1 exit status。原因makefile.include 中的 LLIBS 缺少 scalapack或者库顺序不对。Intel MKL 的静态链接对顺序极其敏感scalapack 必须出现在 blacs 之前blacs 必须出现在 MKL 基础库之前。解决返回 2.3 节把 LLIBS 写成完整五件套不要自作聪明删掉某个组件。删掉 blacs 或 scalapack 的版本在编译期看似轻快但运行期一旦调用并行对角化就翻车。4.3 装好后一跑就段错误栈限制与动态库污染现象运行 vasp_std 后几秒甚至几十秒进程异常退出日志最后一行类似 forrtl: severe (174): SIGSEGV或者直接 Segmentation fault。原因这类崩溃一半是栈大小限制尤其使用 OpenMP 线程库时另一半是 LD_LIBRARY_PATH 里混入了多套 libmpi.so导致编译时用的 MPI 与运行时加载的 MPI 不一致。解决先 ulimit -s unlimited 确认栈限制再检查 ldd 输出中与 MPI 相关的库来源是否唯一ulimit -s unlimited ldd ~/apps/vasp.6.4.2/bin/vasp_std | grep mpi如果 ldd 显示的 libmpi.so 路径与 which mpiifort 所在目录不一致说明环境变量被后续 module 覆盖。重新打开一个干净 shell只加载一套 MPI 再跑。段错误问题排查到这里还没解决再考虑换编译器优化等级比如把 -O3 降成 -O2 复现一次排除编译器越级优化导致数值路径异常。4.4 MPI 初始化失败调度器绑定与作业脚本现象作业提交后立刻退出日志里出现 ORTE was unable to bind to a reserved port或者 mpirun -np 在登录节点上长时间挂起没有输出。原因在 SLURM 集群里直接调用 mpirunOpenMPI 等启动器可能尝试接管资源绑定与调度器产生冲突登录节点上直接起多进程 MPI 还会触发资源限制策略。解决在 sbatch 脚本里优先用 srun 而不是 mpirun 启动任务如果一定要 mpirun加参数跳过绑定#SBATCH --ntasks-per-node32 srun /apps/vasp/vasp.6.4.2/bin/vasp_std这里的关键不是命令行本身而是让 MPI 进程数与调度器分配的槽位数严格一致。有人习惯在脚本里写死 mpirun -np 64但节点只有 32 核结果就是绑定冲突或性能减半。4.5 结果与旧版本不一致版本差异还是编译玄学现象同一份输入文件用旧版 5.4.4 和刚装好的 6.4.2 分别计算总能差几毫电子伏或者结构优化收敛步数明显不同。原因不一定是安装失败。6.4.2 在默认算法、初始占据数处理、FFT 实现细节上都和 5.4.4 有差异数学库换一个版本也会引入微小数值漂移。这是 DFT 软件更替后的正常现象不是玄学。解决跨版本对比时INCAR 里统一显式指定算法关键词不要把默认值留在暗处。ISMEAR、SIGMA、ALGO、IBRION、EDIFF 这几个是必须写全的。如果做到这一步数值仍有差异拿固定算例在两种二进制下各跑三次检查波动是否在 1 meV 以内是则视为编译正常。5. 验证安装并压榨并行效率装好的 VASP 6.4.2 怎么才算合格5.1 用固定算例做基准回归冒烟测试只是起点真正判断安装包可用要留下一组能反复对比的基准记录。我会固定一个 2x2x2 的超胞或者分子动力学短任务记录三样东西能量数值、总耗时、最后一步电子步数。以后机器升级编译器、改动 MKL 库、换 MPI 实现时拿同一任务再跑一遍差值在 1 meV 内且耗时没有明显回退才算环境没有搞坏。这一步值得做成文档哪怕只是一条 Markdown也能帮你和后来人省下大量“是不是安装包坏了”的猜疑。5.2 并行参数快速检查NPAR、NCORE、KPAR 与 OMP_NUM_THREADS运行 vasp_std 时环境变量 OMP_NUM_THREADS 默认可能不输出 1导致 MPI 与 OpenMP 线程互相抢核心这是 6.4.2 装上后性能“莫名慢”的一个高频原因。执行前显式导出export OMP_NUM_THREADS1 mpirun -np 32 /apps/vasp/vasp.6.4.2/bin/vasp_stdINCAR 里优先调整 NCORE 而不是老教程里的 NPAR。起步建议 NCORE 等于每个计算节点的物理核心数KPAR 等于可并行 k 点数与 NCORE 配合后的合理值。KPAR 不能超过 KPOINTS 文件里 k 点总数否则 VASP 会直接报错退出。观察 OUTCAR 里的总耗时每次只改一个参数做对比并行参数调整是最容易“越调越慢”的环节一次只动一个变量是铁律。5.3 结果检查的习惯最后养成的习惯是新装的 VASP 6.4.2头三周内任何生产任务都在提交脚本里加一行输出能量和收敛情况的 grep跑完自动检查 OUTCAR 末尾的 General timing 部分。某次我在一个新集群上装完 6.4.2 就把旧任务全部重跑结果因为忘了设置 OMP_NUM_THREADS每个任务慢了近三成还以为是库不对。那次之后我每次换环境都先用同一个基准任务热身确认能量、耗时、收敛步数三条曲线都正常再放心交付给别人和后续计算。VASP 6.4.2 的安装包本身不复杂复杂的是环境里的隐式变量把上面几步做成习惯生产环境就能少碰大多数莫名其妙的翻车。希望这些经验能帮到你。本文还有配套的精品资源点击获取

相关新闻

CUA智能体完全指南:从原理到手搓一个极简原型

CUA智能体完全指南:从原理到手搓一个极简原型

最近两个星期,我朋友圈和几个技术社群里全是CUA这三个字母。有人说是AI要取代程序员了,有人说这不就是老掉牙的RPA套了层大模型皮吗,还有人把Computer Use Agent念成“cua”,说这玩意儿操作电脑跟嘴里喊一声“嗖”一样快。吵归吵&…

2026/10/16 22:02:21 阅读更多 →
DirectShow实战:Windows摄像头采集与多路视频捕获指南

DirectShow实战:Windows摄像头采集与多路视频捕获指南

简介:面向DirectShow开发者的视频捕获示例工程,演示了视频采集与多种像素格式转换的典型用法,适合初学DirectShow或需要将格式转换功能集成到自有项目的开发者。压缩包为RAR格式,共20个文件,主体为6个头文件与4个C源文…

2026/10/16 22:01:20 阅读更多 →
STM8L052C6低功耗工程实战:从解压到点灯与Halt唤醒

STM8L052C6低功耗工程实战:从解压到点灯与Halt唤醒

简介:该资源是面向嵌入式开发初学者与STM8L系列应用工程师的完整工程实例,围绕STM8L052C6超低功耗微控制器展开,重点解决I2C、SPI外设驱动开发与实时任务调度的实践问题。工程通过I2C总线读写BM8563实时时钟芯片,实现日期时间的设…

2026/10/16 22:01:20 阅读更多 →

最新新闻

一条龙开发指南:用 TaoToken 统一 Key 打通 MCP AI Agent 理论+项目实战开发你的 MCP Server

一条龙开发指南:用 TaoToken 统一 Key 打通 MCP AI Agent 理论+项目实战开发你的 MCP Server

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

2026/10/18 1:00:37 阅读更多 →
Anchor Loss:动态门控解决长尾分类类别不平衡

Anchor Loss:动态门控解决长尾分类类别不平衡

Anchor Loss这篇论文是我在某个长尾分类项目里认真读的,先说结论:它不是银弹,但它非常适合在类别不平衡场景下充当损失函数里的“动态门控”。按照论文思路复现到项目里之后,尾部类别的准确率实打实涨了几个点,这篇学习…

2026/10/18 1:00:37 阅读更多 →
Kafka接入AI:从事件流平台到AI基础设施的工程实践

Kafka接入AI:从事件流平台到AI基础设施的工程实践

最近总有人发截图问我,标题就一句话:“Kafka已正式接入AI”。有人以为是段子,有人就在评论区吵“怎么接”“接有什么用”。我先说结论:这句话不是营销话术,它背后是Kafka从“数据管道”变成“AI基础设施”的一个真实转…

2026/10/18 1:00:37 阅读更多 →
【Bug已解决】Codex CLI 报错 EMFILE: too many open files 解决方案:把 ulimit 改到 TaoToken 工作流

【Bug已解决】Codex CLI 报错 EMFILE: too many open files 解决方案:把 ulimit 改到 TaoToken 工作流

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

2026/10/18 1:00:37 阅读更多 →
Python对接Bmob后端云,实现备忘录App的AI摘要与润色

Python对接Bmob后端云,实现备忘录App的AI摘要与润色

做备忘录类App的时候,我吃了不少后端架构的亏。早期自建服务器存储用户数据,又要处理登录、数据同步、以及后来加的AI摘要和文本润色,光是把这一套跑稳就花了大量时间。后来把数据库和账号体系整体迁到Bmob后端云,Python服务单独负…

2026/10/18 1:00:37 阅读更多 →
网络分段标准化构建:从规划到运维的完整落地指南

网络分段标准化构建:从规划到运维的完整落地指南

有一类项目,接单时客户就扔过来一句话:"我们网络太乱了,合规审查提了一堆整改项,今年必须把网络分段做掉。"听起来好像就是把几个网段隔开、加几条策略的事,实际从规划走到上线再走到稳定运维,少…

2026/10/18 0:59:37 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →