十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

visualkeras 导出与集成指南:PNG/SVG/PDF 多格式输出与训练流水线自动出图方案

visualkeras 导出与集成指南:PNG/SVG/PDF 多格式输出与训练流水线自动出图方案 visualkeras 导出与集成指南PNG/SVG/PDF 多格式输出与训练流水线自动出图方案【免费下载链接】visualkerasVisualkeras is a Python package to help visualize Keras (either standalone or included in TensorFlow) neural network architectures. It allows easy styling to fit most needs. This module supports layered style architecture generation which is great for CNNs (Convolutional Neural Networks), and a graph style architecture, which works great for most models including plain feed-forward networks.项目地址: https://gitcode.com/gh_mirrors/vi/visualkerasvisualkeras 是一个将 Keras含 TensorFlow神经网络架构可视化的 Python 工具包。本指南面向新手带你完成 3 件高频任务将模型架构图导出为 PNG / SVG / PDF 三种格式、在训练流水线中通过 Keras 回调自动出图、用可复用的样式配置批量生成发布级架构图全程只需用到几行核心代码。快速上手一行参数导出第一张模型架构图安装只需一条命令pip install visualkerasvisualkeras 的每个渲染入口都内置了to_file参数——传入文件路径即可直接落盘无需手动调用save()import visualkeras from tensorflow import keras model keras.Sequential([ keras.layers.Conv2D(32, (3, 3), activationrelu, input_shape(28, 28, 1)), keras.layers.MaxPooling2D((2, 2)), keras.layers.Flatten(), keras.layers.Dense(10, activationsoftmax), ]) # 分层视图 一步导出为 PNG visualkeras.layered_view(model, to_filemodel_architecture.png)落盘逻辑统一收敛在渲染器末尾例如 visualkeras/layered.py 中的img.save(to_file)。同时函数仍会返回PIL.Image对象方便你继续做压缩、拼接、缩放等二次加工。另外推荐使用统一入口visualkeras.show(model, mode...)用一个函数切换 layered分层、graph节点图、functional函数式、lenet 四种风格实现见 visualkeras/show.py。PNG 输出网页与通用场景的最佳选择PNG 是默认且兼容性最好的格式。visualkeras 在 visualkeras/options.py 中内置了三档presets预设样式导出前先选对档位可以避免大量后期调参预设效果适用场景compact间距最小、文件更小网页嵌入、博客配图default均衡默认样式日常调试、代码评审presentation大间距、带图例、显示层名与形状论文、幻灯片、正式文档# 高质量 PNGpreset 控制样式save 控制压缩 image visualkeras.show(model, modelayered, presetpresentation) image.save(model_architecture_hq.png, quality95, optimizeTrue)经验值optimizeTrue的 web 版约 100–300 KBpresentation 档约 500 KB–2 MB直接放进论文也足够清晰。PDF 输出论文与打印文档的推荐方案PIL 原生不写 PDF 元数据里的 DPI但高分辨率 PNG → PDF这条路对论文完全够用from PIL import Image # 用 presentation 预设渲染再放大 2 倍模拟 300 DPI 印刷质量 image visualkeras.show(model, modelayered, presetpresentation) w, h image.size hires image.resize((w * 2, h * 2), Image.Resampling.LANCZOS) hires.save(model_architecture_print.pdf)导出后的效果接近专业排版风格的模型结构示意SVG 转换可无限缩放的矢量图工作流visualkeras 返回的是位图PIL Image获取 SVG 的通用做法是先存 PNG再用外部工具矢量化。适合需要在 PPT / LaTeX / Figma 里无损放大的场景# 方式一ImageMagick convert model_architecture.png model_architecture.svg# 方式二cairosvgpip install cairosvg import io, cairosvg from PIL import Image png_bytes io.BytesIO() visualkeras.show(model, modegraph).save(png_bytes, formatPNG) png_bytes.seek(0) svg_bytes cairosvg.svg2png(bytestringpng_bytes.read()) # 亦可反向用 svg2png 校验对于节点稀疏的模型graph 视图转成 SVG 后在幻灯片里放大依然锐利训练流水线自动出图Keras Callback 方案把出图嵌入训练循环后每个关键检查点都会自动留档——模型改动有据可查文档永远不会过时。核心是一个轻量回调完整版本见 docs/source/tutorials/tutorial_04_export_save_integration.rstimport os from tensorflow import keras import visualkeras class VisualizationCallback(keras.callbacks.Callback): def __init__(self, save_dirmodel_checkpoints): super().__init__() self.save_dir save_dir def on_train_begin(self, logsNone): # 训练开始前存档初始架构 image visualkeras.show(self.model, modelayered) image.save(os.path.join(self.save_dir, initial_architecture.png)) def on_epoch_end(self, epoch, logsNone): # 每 10 个 epoch留档一次 if (epoch 1) % 10 0: image visualkeras.show(self.model, modegraph) image.save(os.path.join(self.save_dir, farchitecture_epoch_{epoch1}.png)) model.fit(x_train, y_train, epochs100, callbacks[VisualizationCallback()])✅ 进阶玩法在 CI/CD 流水线里跑同一段出图脚本每次提交自动生成架构图并与基线图像对比项目内已有配套说明 docs/CI_CD_GUIDE.md以及基线参考图目录 tests/renderer_baselines/reference_images/。批量出图与可复现样式配置团队协作时样式配置应一次定义、处处复用。visualkeras 提供两类手段1. 类型化 Options 对象——所有参数收进一个不可变 dataclassto_file也是其一定义见 visualkeras/options.pyfrom visualkeras.options import LayeredOptions options LayeredOptions(to_filepaper_figure.png, legendTrue, color_map{ keras.layers.Conv2D: {fill: #3498db, outline: #2980b9}, keras.layers.Dense: {fill: #e74c3c, outline: #c0392b}}) visualkeras.show(model, modelayered, presetpresentation, optionsoptions)2. JSON 配置文件——把mode / preset / color_map / spacing等键值存成文件入库团队成员加载后即得到像素级一致的出图效果。端到端的行为验证可参考 tests/test_end_to_end_file_output.py。常见集成场景速查场景推荐做法博客 / 网页插图presetcompactsave(..., optimizeTrue)论文插图presetpresentation→ 2 倍放大 → 存 PDF/PNGquality95PPT 放大展示先 PNG再转 SVG 矢量图训练留档Keras Callback 在on_train_begin/on_epoch_end自动出图团队统一风格Options 对象或 JSON 配置入库批量脚本遍历模型族出图文档自动更新文档生成脚本调用graph_view(presetpresentation)覆盖旧图小结导出to_file参数或image.save()两条路PNG/SVG/PDF 全覆盖格式选型看用途集成一个 Keras Callback 即可实现训练流水线自动出图配合 CI/CD 可做图像基线比对可复现presets Options JSON 配置三层工具保证团队出图风格始终一致。 更多示例与参数说明可阅读项目教程 docs/source/tutorials/tutorial_04_export_save_integration.rst 与渲染器源码 visualkeras/graph.py。【免费下载链接】visualkerasVisualkeras is a Python package to help visualize Keras (either standalone or included in TensorFlow) neural network architectures. It allows easy styling to fit most needs. This module supports layered style architecture generation which is great for CNNs (Convolutional Neural Networks), and a graph style architecture, which works great for most models including plain feed-forward networks.项目地址: https://gitcode.com/gh_mirrors/vi/visualkeras创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表