温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python深度学习如何可视化

发布时间:2026-10-15 16:09:03 来源:亿速云 阅读:90 作者:小樊 栏目:编程语言

在 Python 深度学习中,可视化通常分为几类:模型结构可视化、训练过程可视化、特征/激活可视化、结果预测可视化。下面我按“常用方法 + 工具 + 示例代码”给你一个系统性的总结。


一、模型结构可视化

1. Keras / TensorFlow

from tensorflow.keras.utils import plot_model

plot_model(model, to_file='model.png', show_shapes=True)

2. PyTorch

  • 使用 torchviz
from torchviz import make_dot

y = model(torch.randn(1, 3, 224, 224))
make_dot(y, params=dict(model.named_parameters()))

二、训练过程可视化(最常用)

1. TensorBoard(强烈推荐)

TensorFlow

tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir='./logs')
model.fit(x, y, callbacks=[tensorboard_callback])

终端运行:

tensorboard --logdir=./logs

PyTorch

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter()

for epoch in range(epochs):
    writer.add_scalar('Loss/train', loss, epoch)
writer.close()

2. Matplotlib 手动画曲线

import matplotlib.pyplot as plt

plt.plot(train_loss, label='train')
plt.plot(val_loss, label='val')
plt.legend()
plt.show()

三、特征 / 激活可视化

1. 卷积层特征图

import numpy as np
import matplotlib.pyplot as plt

activation_model = Model(inputs=model.input,
                         outputs=model.layers[conv_layer_index].output)
act = activation_model.predict(img)

for i in range(8):
    plt.subplot(2,4,i+1)
    plt.imshow(act[0,:,:,i], cmap='viridis')
plt.show()

2. 梯度加权类激活图(Grad-CAM)

常用库:

pip install tf-explain
from tf_explain.core.grad_cam import GradCAM

explainer = GradCAM()
explainer.explain((img, class_index), model, layer_name='conv5')

四、模型预测结果可视化

1. 分类结果

plt.imshow(img)
plt.title(f'Pred: {class_names[pred]}')
plt.show()

2. 目标检测(如 YOLO)

import cv2

for box in boxes:
    cv2.rectangle(img, (x1,y1), (x2,y2), (0,255,0), 2)
cv2.imshow('result', img)

五、嵌入向量可视化(如 t-SNE)

from sklearn.manifold import TSNE

tsne = TSNE(n_components=2)
embed_2d = tsne.fit_transform(embeddings)

plt.scatter(embed_2d[:,0], embed_2d[:,1], c=labels)
plt.show()

六、常用工具总结

目的 工具
训练曲线 TensorBoard / Matplotlib
模型结构 plot_model / torchviz
特征图 Matplotlib
可解释性 Grad-CAM / tf-explain
向量分布 t-SNE / UMAP
交互式 Weights & Biases (wandb)

七、如果你愿意

你可以告诉我:

  • 用 PyTorch 还是 TensorFlow/Keras
  • 做的是 CNN / NLP / 强化学习
  • 想可视化 训练过程 / 模型结构 / 特征

我可以直接给你针对你项目的完整可视化代码。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手