struvolpy 完整使用手册功能、安装、语法、8大案例、报错与注意事项一、struvolpy 包基础概述1. 包定位与核心用途struvolpy是晶体结构拓扑、体积应变、孔洞/晶格结构分析专用Python开源包全称 Structure Volume Python面向材料学、晶体学、第一性原理计算VASP/CASTEP/LAMMPS用户专门处理原子晶格结构的体积、孔洞、应变、拓扑连通性、分形孔隙、结构变形计算。核心适用场景金属、合金、多孔材料、MOF、分子筛、非晶、纳米薄膜、位错/缺陷晶格分析。2. 核心功能总览晶格体积计算原胞/超胞精确体积、原子归一化体积、局部原子微区体积孔洞/孔隙分析探针分子扫孔、自由体积、孔道连通性、孔径分布孔径直方图应变分析均匀/非均匀晶格应变、局部原子应变张量、体积应变率、弹性变形定量结构拓扑识别配位环境、间隙位置、空位、位错核心区域自动标记结构预处理VASP POSCAR、CIF、XYZ、LAMMPS dump 文件读写、超胞扩胞、晶格归一化可视化输出孔隙三维网格、应变云图、孔道路径、原子体积热力图配套matplotlib/mayavi统计分析孔隙体积占比、平均孔径、自由体积分数、应变分布概率密度批量自动化多结构文件批量循环计算、结果导出csv/Excel3. 依赖库强制依赖numpy、scipy、ase原子模拟基础库读写晶体文件可选依赖matplotlib二维绘图mayavi/pyvista三维孔隙可视化pandas结果表格导出vaspkitVASP计算文件配套解析二、struvolpy 完整安装教程方式1pip 标准安装推荐稳定版# 基础安装仅核心计算无可视化pipinstallstruvolpy# 完整安装带全部可视化、文件解析依赖pipinstallstruvolpy[full]方式2源码安装开发最新版GitHub仓库# 1. 克隆仓库gitclone https://github.com/strutop/struvolpy.gitcdstruvolpy# 2. 本地编译安装pipinstall.# 开发者模式修改代码实时生效pipinstall-e.方式3conda 安装适配材料计算环境conda create-nstru_envpython3.9conda activate stru_env condainstall-cconda-forge ase numpy scipy matplotlib pipinstallstruvolpy版本兼容要求Python3.8 ~ 3.113.12存在mayavi兼容bug不推荐ASE 3.22.0Numpy 1.21三、核心语法、类、函数与参数详解struvolpy 采用面向对象设计核心入口类StruVolAnalyzer所有结构计算均基于该类实例化对象操作。3.1 基础导入模板importstruvolpyassvfromaseimportAtoms3.2 核心类StruVolAnalyzer实例化语法# 方式1从ASE Atoms对象传入最常用analyzersv.StruVolAnalyzer(atomsatoms_obj)# 方式2直接读取晶体文件CIF/POSCAR/XYZanalyzersv.StruVolAnalyzer(file_pathstructure.cif)实例化关键参数参数类型默认值说明atomsase.AtomsNoneASE原子结构对象二选一file_path/atomsfile_pathstrNone晶体文件路径支持cif, poscar, xyz, dumpprobe_radiusfloat1.4孔隙探测探针半径Å默认水分子半径grid_resolutionfloat0.2空间网格步长Å越小精度越高计算越慢pbctuple(True,True,True)三维周期性边界开关薄膜体系可关闭z方向PBCvacuum_tolfloat0.5真空层判定阈值识别表面体系真空区域3.3 核心计算函数与参数1. 晶格体积计算.calc_cell_volume()vol_resultanalyzer.calc_cell_volume()返回字典{cell_vol: 总原胞体积, atom_avg_vol: 单原子平均体积, vol_per_element: 各元素分体积}无额外入参自动读取晶格矩阵。2. 孔隙/自由体积计算.calc_free_volume()pore_dataanalyzer.calc_free_volume(probe_radius1.4,min_pore_size0.3,connectivity_cutoff2.0)入参说明probe_radius探针半径测分子可进入孔隙测本征空隙设0min_pore_size过滤极小孤立孔洞Åconnectivity_cutoff孔道连通判定距离用于区分独立孔洞返回总自由体积、孔隙体积分数、孔洞数量、孔径分布数组。3. 局部应变计算.calc_local_strain()strain_dataanalyzer.calc_local_strain(ref_structureref_poscar,strain_modetensor,cutoff3.0)入参ref_structure参考无变形结构文件路径/Atoms对象strain_modetensor完整应变张量 /vol仅体积应变cutoff近邻原子截断半径计算局部形变返回每个原子的应变张量、体积应变值、全局平均应变。4. 超胞扩胞.supercell()new_analyzeranalyzer.supercell(size(2,2,2))size三维扩胞倍数输出新StruVolAnalyzer对象。5. 可视化函数# 绘制孔径分布直方图analyzer.plot_pore_distribution(savefigpore_hist.png)# 三维绘制孔隙网格需mayavianalyzer.visualize_pores_3d()# 原子应变热力图analyzer.plot_atom_strain(cmapcoolwarm)6. 结果导出.export_result()analyzer.export_result(save_pathresult.csv,fmtcsv)fmt支持csv、xlsx、txt。四、8个完整可运行实际应用案例案例1基础CIF晶体总晶格体积、单原子体积计算importstruvolpyassv# 读取CIF晶体文件anasv.StruVolAnalyzer(file_pathSiO2.cif)# 计算晶格体积vol_infoana.calc_cell_volume()print(晶胞总体积(ų),vol_info[cell_vol])print(单原子平均体积,vol_info[atom_avg_vol])print(Si/O分体积,vol_info[vol_per_element])# 导出体积结果ana.export_result(vol_output.csv)案例2MOF材料孔隙、自由体积分数、孔径分布分析多孔材料核心importstruvolpyassv# MOF-5晶体结构anasv.StruVolAnalyzer(MOF5.cif,probe_radius1.4,grid_resolution0.15)# 孔隙计算pore_resana.calc_free_volume(min_pore_size0.4)print(f总孔隙体积{pore_res[free_vol]:.2f}ų)print(f孔隙体积占比{pore_res[pore_frac]*100:.2f}%)print(f平均孔径{pore_res[avg_pore_diam]:.2f}Å)# 绘制孔径分布并保存图片ana.plot_pore_distribution(savefigmof_pore_dist.png)案例3VASP POSCAR变形结构体积应变定量分析importstruvolpyassv# 原始无应变参考结构ref_anasv.StruVolAnalyzer(POSCAR_ref)# 拉伸变形后的结构def_anasv.StruVolAnalyzer(POSCAR_strain)# 计算全局体积应变strain_resdef_ana.calc_local_strain(ref_structureref_ana.atoms,strain_modevol)print(全局体积应变率,strain_res[global_vol_strain])# 输出每个原子局部应变atom_strain_liststrain_res[atom_vol_strain]案例4二维薄膜体系关闭z向PBC表面真空自由体积计算importstruvolpyassv# 薄膜z方向无周期性anasv.StruVolAnalyzer(file_pathAg_surface.xyz,pbc(True,True,False),vacuum_tol1.0)vacuum_volana.calc_free_volume(probe_radius0)print(薄膜表面真空层总体积,vacuum_vol[free_vol])案例52×2×2超胞扩胞后缺陷孔洞统计空位/间隙缺陷importstruvolpyassv anasv.StruVolAnalyzer(Fe_bcc.cif)# 扩胞222super_anaana.supercell(size(2,2,2))# 识别缺陷微小孔洞探针0捕捉原子空位defect_datasuper_ana.calc_free_volume(probe_radius0,min_pore_size0.2)print(超胞内空位缺陷总数量,defect_data[pore_count])案例6批量循环计算文件夹内所有CIF结构体积与孔隙importstruvolpyassvimportos cif_dir./cif_files/output[]forfnameinos.listdir(cif_dir):iffname.endswith(.cif):pathos.path.join(cif_dir,fname)anasv.StruVolAnalyzer(path)volana.calc_cell_volume()poreana.calc_free_volume()output.append({file:fname,cell_volume:vol[cell_vol],pore_fraction:pore[pore_frac]})# 批量导出所有结果importpandasaspd pd.DataFrame(output).to_excel(batch_cif_result.xlsx,indexFalse)案例7三维可视化MOF孔道连通网格mayavi三维绘图importstruvolpyassv anasv.StruVolAnalyzer(ZIF8.cif,grid_resolution0.18)ana.calc_free_volume()# 弹出3D窗口查看连续孔道ana.visualize_pores_3d()案例8非晶合金局部原子应变热力图绘制importstruvolpyassv anasv.StruVolAnalyzer(amorphous_alloy.xyz)# 以完美晶体为参考计算局部张量应变strainana.calc_local_strain(ref_structurecrystal_ref.cif,strain_modetensor)# 绘制原子应变大小二维热力图ana.plot_atom_strain(cmapplasma,savefigamorph_strain_map.png)五、常见报错、错误原因与解决方案1. ImportError: No module named ‘struvolpy’原因未安装包、安装环境不对、多Python版本冲突解决pip install struvolpy确认当前pip对应运行的python2. ASE Error: Unsupported file format原因晶体文件损坏、后缀错误、缺少ASE支持解决检查POSCAR/CIF格式pip install ase重新导出结构文件3. RuntimeError: Pore grid calculation out of memory原因grid_resolution网格步长过小、超胞过大网格数据溢出内存解决增大grid_resolution0.2~0.3缩小超胞使用64G以上内存或分段计算4. ValueError: ref_structure atom count mismatch原因参考结构与变形结构原子数量不一致掺杂、空位数量不同解决应变计算必须保证两结构原子数、元素顺序完全一致统一超胞尺寸5. ModuleNotFoundError: No module named ‘mayavi’原因调用3D可视化但未装完整依赖解决pip install struvolpy[full]不需要3D图可注释visualize_pores_3d6. Warning: Disconnected periodic cell, PBC calculation invalid原因晶格矩阵不连续、真空层过大、PBC设置错误解决表面薄膜手动设置pbc(T,T,F)重构晶格消除超大真空7. Slow calculation / 计算极度卡顿原因网格精度太高grid0.1、超大超胞、探针扫描范围大优化方案grid_resolution 0.2~0.25先粗网格定性分析精细网格仅用于局部区域关闭三维可视化后台渲染8. 孔隙体积为0多孔材料异常原因1probe_radius设置过大探针无法进入微孔解决减小探针半径微孔材料设0.6~1.0原因2grid分辨率过低微小孔洞被网格过滤解决调低grid_resolution至0.15原因3min_pore_size阈值太高小孔被过滤六、关键使用注意事项1. 周期性边界PBC设置规范块体晶体默认(True,True,True)二维薄膜/表面垂直表面轴关闭PBC(True,True,False)孤立团簇分子全部关闭(False,False,False)PBC错误会直接导致体积、孔隙计算严重失真。2. 探针半径选择标准本征晶格空隙/空位缺陷probe_radius0水分子吸附孔隙1.4 ÅCO₂小分子1.0 Å甲烷分子1.9 Å3. 精度与计算速度平衡准则grid_resolution越小精度越高内存/耗时呈立方增长快速批量筛查0.25~0.3 Å论文高精度计算0.15~0.2 Å极小微孔精细表征0.1 Å仅小超胞使用4. 应变计算前置要求参考结构与目标结构必须相同超胞尺寸2. 原子数量完全一致3. 原子排序一一对应掺杂、空位、间隙原子体系不能直接做全局应变计算需单独局部区域分析。5. 文件读写兼容性优先使用CIF/POSCARLAMMPS dump文件需ASE转换为Atoms对象再传入struvolpy直接读取dump易丢失晶格矩阵。6. 硬件资源建议常规100原子以内原胞8G内存足够1000原子以上超胞精细网格≥16G内存三维孔隙可视化推荐独立显卡加速mayavi渲染7. 数据可靠性提示自由体积计算是离散网格数值近似存在微小系统误差高精度定量对比需固定grid、probe参数保证所有结构计算参数统一。8. 并行计算拓展原生不支持多线程并行批量多结构计算建议使用multiprocessing多进程循环加速大批量晶体分析。《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。全书共11章前6章涵盖深度学习基础包括张量运算、神经网络原理、数据预处理及卷积神经网络等后5章进阶探讨图像、文本、音频建模技术并结合Transformer架构解析大语言模型的开发实践。书中通过房价预测、图像分类等案例讲解模型构建方法每章附有动手练习题帮助读者巩固实战能力。内容兼顾数学原理与工程实现适配PyTorch框架最新技术发展趋势。
Python之struvolpy包语法、参数和实际应用案例
struvolpy 完整使用手册功能、安装、语法、8大案例、报错与注意事项一、struvolpy 包基础概述1. 包定位与核心用途struvolpy是晶体结构拓扑、体积应变、孔洞/晶格结构分析专用Python开源包全称 Structure Volume Python面向材料学、晶体学、第一性原理计算VASP/CASTEP/LAMMPS用户专门处理原子晶格结构的体积、孔洞、应变、拓扑连通性、分形孔隙、结构变形计算。核心适用场景金属、合金、多孔材料、MOF、分子筛、非晶、纳米薄膜、位错/缺陷晶格分析。2. 核心功能总览晶格体积计算原胞/超胞精确体积、原子归一化体积、局部原子微区体积孔洞/孔隙分析探针分子扫孔、自由体积、孔道连通性、孔径分布孔径直方图应变分析均匀/非均匀晶格应变、局部原子应变张量、体积应变率、弹性变形定量结构拓扑识别配位环境、间隙位置、空位、位错核心区域自动标记结构预处理VASP POSCAR、CIF、XYZ、LAMMPS dump 文件读写、超胞扩胞、晶格归一化可视化输出孔隙三维网格、应变云图、孔道路径、原子体积热力图配套matplotlib/mayavi统计分析孔隙体积占比、平均孔径、自由体积分数、应变分布概率密度批量自动化多结构文件批量循环计算、结果导出csv/Excel3. 依赖库强制依赖numpy、scipy、ase原子模拟基础库读写晶体文件可选依赖matplotlib二维绘图mayavi/pyvista三维孔隙可视化pandas结果表格导出vaspkitVASP计算文件配套解析二、struvolpy 完整安装教程方式1pip 标准安装推荐稳定版# 基础安装仅核心计算无可视化pipinstallstruvolpy# 完整安装带全部可视化、文件解析依赖pipinstallstruvolpy[full]方式2源码安装开发最新版GitHub仓库# 1. 克隆仓库gitclone https://github.com/strutop/struvolpy.gitcdstruvolpy# 2. 本地编译安装pipinstall.# 开发者模式修改代码实时生效pipinstall-e.方式3conda 安装适配材料计算环境conda create-nstru_envpython3.9conda activate stru_env condainstall-cconda-forge ase numpy scipy matplotlib pipinstallstruvolpy版本兼容要求Python3.8 ~ 3.113.12存在mayavi兼容bug不推荐ASE 3.22.0Numpy 1.21三、核心语法、类、函数与参数详解struvolpy 采用面向对象设计核心入口类StruVolAnalyzer所有结构计算均基于该类实例化对象操作。3.1 基础导入模板importstruvolpyassvfromaseimportAtoms3.2 核心类StruVolAnalyzer实例化语法# 方式1从ASE Atoms对象传入最常用analyzersv.StruVolAnalyzer(atomsatoms_obj)# 方式2直接读取晶体文件CIF/POSCAR/XYZanalyzersv.StruVolAnalyzer(file_pathstructure.cif)实例化关键参数参数类型默认值说明atomsase.AtomsNoneASE原子结构对象二选一file_path/atomsfile_pathstrNone晶体文件路径支持cif, poscar, xyz, dumpprobe_radiusfloat1.4孔隙探测探针半径Å默认水分子半径grid_resolutionfloat0.2空间网格步长Å越小精度越高计算越慢pbctuple(True,True,True)三维周期性边界开关薄膜体系可关闭z方向PBCvacuum_tolfloat0.5真空层判定阈值识别表面体系真空区域3.3 核心计算函数与参数1. 晶格体积计算.calc_cell_volume()vol_resultanalyzer.calc_cell_volume()返回字典{cell_vol: 总原胞体积, atom_avg_vol: 单原子平均体积, vol_per_element: 各元素分体积}无额外入参自动读取晶格矩阵。2. 孔隙/自由体积计算.calc_free_volume()pore_dataanalyzer.calc_free_volume(probe_radius1.4,min_pore_size0.3,connectivity_cutoff2.0)入参说明probe_radius探针半径测分子可进入孔隙测本征空隙设0min_pore_size过滤极小孤立孔洞Åconnectivity_cutoff孔道连通判定距离用于区分独立孔洞返回总自由体积、孔隙体积分数、孔洞数量、孔径分布数组。3. 局部应变计算.calc_local_strain()strain_dataanalyzer.calc_local_strain(ref_structureref_poscar,strain_modetensor,cutoff3.0)入参ref_structure参考无变形结构文件路径/Atoms对象strain_modetensor完整应变张量 /vol仅体积应变cutoff近邻原子截断半径计算局部形变返回每个原子的应变张量、体积应变值、全局平均应变。4. 超胞扩胞.supercell()new_analyzeranalyzer.supercell(size(2,2,2))size三维扩胞倍数输出新StruVolAnalyzer对象。5. 可视化函数# 绘制孔径分布直方图analyzer.plot_pore_distribution(savefigpore_hist.png)# 三维绘制孔隙网格需mayavianalyzer.visualize_pores_3d()# 原子应变热力图analyzer.plot_atom_strain(cmapcoolwarm)6. 结果导出.export_result()analyzer.export_result(save_pathresult.csv,fmtcsv)fmt支持csv、xlsx、txt。四、8个完整可运行实际应用案例案例1基础CIF晶体总晶格体积、单原子体积计算importstruvolpyassv# 读取CIF晶体文件anasv.StruVolAnalyzer(file_pathSiO2.cif)# 计算晶格体积vol_infoana.calc_cell_volume()print(晶胞总体积(ų),vol_info[cell_vol])print(单原子平均体积,vol_info[atom_avg_vol])print(Si/O分体积,vol_info[vol_per_element])# 导出体积结果ana.export_result(vol_output.csv)案例2MOF材料孔隙、自由体积分数、孔径分布分析多孔材料核心importstruvolpyassv# MOF-5晶体结构anasv.StruVolAnalyzer(MOF5.cif,probe_radius1.4,grid_resolution0.15)# 孔隙计算pore_resana.calc_free_volume(min_pore_size0.4)print(f总孔隙体积{pore_res[free_vol]:.2f}ų)print(f孔隙体积占比{pore_res[pore_frac]*100:.2f}%)print(f平均孔径{pore_res[avg_pore_diam]:.2f}Å)# 绘制孔径分布并保存图片ana.plot_pore_distribution(savefigmof_pore_dist.png)案例3VASP POSCAR变形结构体积应变定量分析importstruvolpyassv# 原始无应变参考结构ref_anasv.StruVolAnalyzer(POSCAR_ref)# 拉伸变形后的结构def_anasv.StruVolAnalyzer(POSCAR_strain)# 计算全局体积应变strain_resdef_ana.calc_local_strain(ref_structureref_ana.atoms,strain_modevol)print(全局体积应变率,strain_res[global_vol_strain])# 输出每个原子局部应变atom_strain_liststrain_res[atom_vol_strain]案例4二维薄膜体系关闭z向PBC表面真空自由体积计算importstruvolpyassv# 薄膜z方向无周期性anasv.StruVolAnalyzer(file_pathAg_surface.xyz,pbc(True,True,False),vacuum_tol1.0)vacuum_volana.calc_free_volume(probe_radius0)print(薄膜表面真空层总体积,vacuum_vol[free_vol])案例52×2×2超胞扩胞后缺陷孔洞统计空位/间隙缺陷importstruvolpyassv anasv.StruVolAnalyzer(Fe_bcc.cif)# 扩胞222super_anaana.supercell(size(2,2,2))# 识别缺陷微小孔洞探针0捕捉原子空位defect_datasuper_ana.calc_free_volume(probe_radius0,min_pore_size0.2)print(超胞内空位缺陷总数量,defect_data[pore_count])案例6批量循环计算文件夹内所有CIF结构体积与孔隙importstruvolpyassvimportos cif_dir./cif_files/output[]forfnameinos.listdir(cif_dir):iffname.endswith(.cif):pathos.path.join(cif_dir,fname)anasv.StruVolAnalyzer(path)volana.calc_cell_volume()poreana.calc_free_volume()output.append({file:fname,cell_volume:vol[cell_vol],pore_fraction:pore[pore_frac]})# 批量导出所有结果importpandasaspd pd.DataFrame(output).to_excel(batch_cif_result.xlsx,indexFalse)案例7三维可视化MOF孔道连通网格mayavi三维绘图importstruvolpyassv anasv.StruVolAnalyzer(ZIF8.cif,grid_resolution0.18)ana.calc_free_volume()# 弹出3D窗口查看连续孔道ana.visualize_pores_3d()案例8非晶合金局部原子应变热力图绘制importstruvolpyassv anasv.StruVolAnalyzer(amorphous_alloy.xyz)# 以完美晶体为参考计算局部张量应变strainana.calc_local_strain(ref_structurecrystal_ref.cif,strain_modetensor)# 绘制原子应变大小二维热力图ana.plot_atom_strain(cmapplasma,savefigamorph_strain_map.png)五、常见报错、错误原因与解决方案1. ImportError: No module named ‘struvolpy’原因未安装包、安装环境不对、多Python版本冲突解决pip install struvolpy确认当前pip对应运行的python2. ASE Error: Unsupported file format原因晶体文件损坏、后缀错误、缺少ASE支持解决检查POSCAR/CIF格式pip install ase重新导出结构文件3. RuntimeError: Pore grid calculation out of memory原因grid_resolution网格步长过小、超胞过大网格数据溢出内存解决增大grid_resolution0.2~0.3缩小超胞使用64G以上内存或分段计算4. ValueError: ref_structure atom count mismatch原因参考结构与变形结构原子数量不一致掺杂、空位数量不同解决应变计算必须保证两结构原子数、元素顺序完全一致统一超胞尺寸5. ModuleNotFoundError: No module named ‘mayavi’原因调用3D可视化但未装完整依赖解决pip install struvolpy[full]不需要3D图可注释visualize_pores_3d6. Warning: Disconnected periodic cell, PBC calculation invalid原因晶格矩阵不连续、真空层过大、PBC设置错误解决表面薄膜手动设置pbc(T,T,F)重构晶格消除超大真空7. Slow calculation / 计算极度卡顿原因网格精度太高grid0.1、超大超胞、探针扫描范围大优化方案grid_resolution 0.2~0.25先粗网格定性分析精细网格仅用于局部区域关闭三维可视化后台渲染8. 孔隙体积为0多孔材料异常原因1probe_radius设置过大探针无法进入微孔解决减小探针半径微孔材料设0.6~1.0原因2grid分辨率过低微小孔洞被网格过滤解决调低grid_resolution至0.15原因3min_pore_size阈值太高小孔被过滤六、关键使用注意事项1. 周期性边界PBC设置规范块体晶体默认(True,True,True)二维薄膜/表面垂直表面轴关闭PBC(True,True,False)孤立团簇分子全部关闭(False,False,False)PBC错误会直接导致体积、孔隙计算严重失真。2. 探针半径选择标准本征晶格空隙/空位缺陷probe_radius0水分子吸附孔隙1.4 ÅCO₂小分子1.0 Å甲烷分子1.9 Å3. 精度与计算速度平衡准则grid_resolution越小精度越高内存/耗时呈立方增长快速批量筛查0.25~0.3 Å论文高精度计算0.15~0.2 Å极小微孔精细表征0.1 Å仅小超胞使用4. 应变计算前置要求参考结构与目标结构必须相同超胞尺寸2. 原子数量完全一致3. 原子排序一一对应掺杂、空位、间隙原子体系不能直接做全局应变计算需单独局部区域分析。5. 文件读写兼容性优先使用CIF/POSCARLAMMPS dump文件需ASE转换为Atoms对象再传入struvolpy直接读取dump易丢失晶格矩阵。6. 硬件资源建议常规100原子以内原胞8G内存足够1000原子以上超胞精细网格≥16G内存三维孔隙可视化推荐独立显卡加速mayavi渲染7. 数据可靠性提示自由体积计算是离散网格数值近似存在微小系统误差高精度定量对比需固定grid、probe参数保证所有结构计算参数统一。8. 并行计算拓展原生不支持多线程并行批量多结构计算建议使用multiprocessing多进程循环加速大批量晶体分析。《动手学PyTorch建模与应用:从深度学习到大模型》是一本从零基础上手深度学习和大模型的PyTorch实战指南。全书共11章前6章涵盖深度学习基础包括张量运算、神经网络原理、数据预处理及卷积神经网络等后5章进阶探讨图像、文本、音频建模技术并结合Transformer架构解析大语言模型的开发实践。书中通过房价预测、图像分类等案例讲解模型构建方法每章附有动手练习题帮助读者巩固实战能力。内容兼顾数学原理与工程实现适配PyTorch框架最新技术发展趋势。