pytorch 模型可视化_PyTorch Tips(FLOPs计算/参数量/计算图可视化/相关性分析)
最近在做Research Project的時(shí)候,發(fā)現(xiàn)有些小工具很好用,記錄在此。
1. 準(zhǔn)確的FLOPS 計(jì)算
網(wǎng)上開源的很多計(jì)算flops的工具只支持計(jì)算PyTorch內(nèi)置層的flops,不能有效計(jì)算出自定義操作的flops。Facebook日前開源了一個(gè)面向PyTorch的CV工具包,內(nèi)置了?flops_count?函數(shù),支持細(xì)粒度的flops計(jì)算,包括?torch.einsum?,?torch.bmm?等操作均可計(jì)算。同時(shí)還支持自定義一個(gè)operation白名單,用來控制計(jì)算那些操作的FLOPS。
Example見: https://github.com/facebookresearch/fvcore/blob/master/tests/test_flop_count.py
2. 參數(shù)量計(jì)算
這個(gè)比較常用了,記錄在此,方便查閱
def params_count(model):"""Compute the number of parameters.Args:model (model): model to count the number of parameters."""return np.sum([p.numel() for p in model.parameters()]).item()3. 畫出計(jì)算圖
PyTorch 1.4版本內(nèi)置了tensorboard,支持?add_graph ?,可以將我們定義的模型的計(jì)算圖可視化出來,可以直觀的看到每一層的size,和數(shù)據(jù)流向,為模型調(diào)試和驗(yàn)證提供了很好的幫助
參見文檔: https://pytorch.org/docs/stable/tensorboard.html
4. 相關(guān)性分析
TensorFlow里有一個(gè)很好用的高維特征分析工具Projector, 內(nèi)置TSNE和PCA。最新的PyTorch也加入了這個(gè)支持??梢韵热ttp://projector.tensorflow.org/ 體驗(yàn)一下online版的。
這個(gè)功能支持2D/3D的分析,同時(shí)可以交互式的點(diǎn)選,十分酷炫好用。
import torch from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter("./visualization")cat_features = np.loadtxt("category_features.txt") cat_labels = torch.load("category_labels.txt")writer.add_embedding(cat_features, cat_labels) writer.close()有需求才會有發(fā)現(xiàn),開源社區(qū)的輪子真的強(qiáng)大,期待以后也能給開源社區(qū)貢獻(xiàn)輪子。
總結(jié)
以上是生活随笔為你收集整理的pytorch 模型可视化_PyTorch Tips(FLOPs计算/参数量/计算图可视化/相关性分析)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring boot 缓存_Sprin
- 下一篇: samba服务器有什么安全风险_自体脂肪