Pytorch基础 - 3. torch.utils.tensorboard

本文介绍了如何使用PyTorch中的torch.utils.tensorboard模块进行TensorBoard可视化,包括可视化单条和多条训练曲线,以及网络结构。通过基本步骤和多个示例,详细阐述了TensorBoard在PyTorch项目中的应用。

目录

1. 简介

2. 基本步骤

3. 示例1 - 可视化单条曲线

4. 示例2 - 可视化多条曲线

5. 示例3 - 可视化网络结构


1. 简介

Tensorboard是Tensorflow的可视化工具,常用来可视化网络的损失函数,网络结构,图像等。后来将Tensorboard集成到了PyTorch中,常使用torch.utils.tensorboard来进行导入。官网地址:TensorBoard — PyTorch

2. 基本步骤

(1) 首先执行如下代码,具体含义写在注释里

from torch.utils.tensorboard import SummaryWriter

if __name__ == '__main__':
    # 新建实例, log_dir为生成文件的存储地址, 不写参数默认是./run/文件夹下
    writer = SummaryWriter(log_dir='events存储地址')
    # 调用对象的方法,给文件写入数据
    writer.add_scalar(tag="show1", scalar_value=loss, global_step=epoch)
    writer.add_scalars(main_tag="show2", tag_scalar_dict={'fun1': None, 'fun2': None}, global_step=epoch)
    writer.add_graph(model=model, input_to_model=input)
    # 关闭writer
    writer.close()

(2) 执行完上述代码,会在设置的log_

根据Mend.io提供的安全报告,PyTorch 2.3.0版本存在多个高危漏洞(CVE-2024-48063等),主要涉及反序列化漏洞、内存损坏和拒绝服务攻击。以下是解决方案和详细说明: --- ### **1. 漏洞影响分析** | CVE编号 | 严重性 | 漏洞类型 | 影响范围 | |------------------|--------|------------------------------|------------------------| | CVE-2024-48063 | 9.8 | 反序列化未信任数据 | 所有PyTorch 2.3.0用户 | | CVE-2025-2999/8 | 5.3 | 内存损坏(RNN工具函数) | `unpack_sequence`等函数| | CVE-2025-3001/0 | 5.3 | 内存损坏(LSTM/JIT模块) | `torch.lstm_cell`等 | | CVE-2025-2148 | 5.0 | 内存损坏(Profiler回调) | JIT调试功能 | | CVE-2025-3136/21 | 3.3 | 内存损坏(CUDA/JIT模块) | GPU内存分配、模型加载 | | CVE-2025-2953 | 3.3 | 拒绝服务(MKL-DNN池化层) | 量化推理场景 | --- ### **2. 修复方案** #### **方案1:升级到安全版本** - **最新稳定版**:PyTorch 2.4.0+(已修复CVE-2024-48063等) ```bash pip install --upgrade torch>=2.4.0 ``` - **验证安装**: ```python import torch print(torch.__version__) # 应输出≥2.4.0 ``` #### **方案2:临时缓解措施(若无法升级)** - **禁用高危功能**: - 避免使用`torch.load()`加载不可信模型(CVE-2024-48063)。 - 替换RNN相关函数为安全实现: ```python # 替代pad_packed_sequence(示例) from torch.nn.utils.rnn import PackedSequence def safe_pad(packed_seq): return packed_seq[0] # 需根据实际需求调整 ``` - **限制CUDA使用**: ```python import os os.environ['CUDA_VISIBLE_DEVICES'] = '' # 强制使用CPU ``` #### **方案3:依赖隔离** - 使用虚拟环境隔离问题版本: ```bash conda create -n pytorch_safe python=3.9 conda activate pytorch_safe pip install torch==2.4.0 ``` --- ### **3. 长期安全建议** 1. **启用依赖项扫描**: - 集成Mend.io、Snyk等工具到CI/CD流程。 - 示例GitHub Action配置: ```yaml - name: Scan for vulnerabilities uses: snyk/actions/python@master with: command: test ``` 2. **监控安全公告**: - 订阅[PyTorch安全公告](https://github.com/pytorch/pytorch/security/advisories)。 3. **最小化权限**: - 运行PyTorch服务时使用非root用户。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值