模型推理过程中tensorboard的profiler的使用方法

一、tensorboard的简介

https://www.tensorflow.org/guide/profiler

tensorboard是tensorflow集成的一个可视化工具,用于展示模型运行过程中的一些特征,包括运行时间、中间数据的图形化展示等等(详细看官方解释)。本文主要介绍tensorflow profiler的使用方法。

二、安装

profiler的安装说明

1. 保证已经成功安装了以下内容

  • TensorFlow >= 2.2.0
  • TensorBoard >= 2.2.0
  • tensorboard-plugin-profile >= 2.2.0

2. 保证已经安装CUPTI 10.1,并已配置到LD_LIBRARY_PATH下(坑几乎都在这)

1. NVIDIA GPU drivers and CUDA Toolkit:

  • CUDA 10.1 requires 418.x and higher.   ==> 保证已经正确安装了cuda 10.1 (扩展阅读有cuda10.1的安装说明)

#======================以下是我cuda踩过的坑==============================

  • 完整的卸载cuda

cuda 11.1和nvidia driver的卸载方法

sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" "*cusolver*" "*cusparse*" "*npp*" "*nvjpeg*" "cuda*" "nsight*" 
  • 重新安装cuda

cuda会提示要安装的内容,driver指的是nvidia driver的版本。如果不想重装driver,去掉该选项;如果要重装driver(默认当前已安装其他版本的driver),参考下一条。

  • 完整的卸载nvidia driver,并重新执行cudaX.sh文件

该过程中可能抛出以下错误: you appear to be running an X server, 参考该链接解决

To remove NVIDIA Drivers:

$ sudo apt-get --purge remove "*nvidia*"
To clean up the uninstall:
$ sudo apt-get autoremove
  • 将CUPTI 10.1 添加到路径上

2. Ensure that CUPTI 10.1 exists on the path. 

$ /sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH) | grep libcupti

If you don't see libcupti.so.10.1 on the path, prepend its installation directory to the $LD_LIBRARY_PATH environmental variable:

$ export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
  • 验证CUPTI 10.1添加到路径,这里有个大坑注意一下

 Run the ldconfig command above again to verify that the CUPTI 10.1 library is found.

/sbin/ldconfig -N -v $(sed 's/:/ /g' <<< $LD_LIBRARY_PATH) | grep libcupti

坑一:If this doesn't work, try:(官网让安装这个包,千万不要装,具体原因如下--)

$ sudo apt-get install libcupti-dev

CUPTI有两个安装来源:ubuntu和cuda。

    ubuntu默认安装的cupti和ubuntu的版本有关,例如ubuntu 16.04默认安装cuda 7.X对应的cupti,ubuntu 20.04默认安装cuda 10.1对应的cupti,如果此时系统安装的cuda版本和ubuntu默认安装的版本不对应就会出现问题。

    cuda本身集成了cupti(extras/CUPTI文件夹),如果我们再通过apt-get安装cupti,系统同时存在两个cupti且可能出现上述版本不一致的问题。综合考虑上述因素,不通过apt-get安装cupti。

坑二:确认已经将cupti添加到环境变量,但执行程序过程中依旧找不到cputi.so.0 文件

https://github.com/tensorflow/tensorflow/issues/8830#issuecomment-738520233 

具体解法已经写到上边啦,再copy一下(凡尔赛一下,哈哈哈)

sudo cp /usr/local/cuda-10.1/extras/CUPTI/lib64/libcupti.so /usr/local/lib/libcupti.so && sudo ldconfig
sudo cp /usr/local/cuda-10.1/extras/CUPTI/lib64/libcupti.so.10.1 /usr/local/lib/libcupti.so.10.1 && sudo ldconfig

三、使用

执行下边命令

(base) wujing@ubuntu:~/anaconda3/envs/tf-gpu-2.2/bin$ python3 tensorboard --logdir=~/Projects/gpu-partition/context_log/ --bind_all
TensorBoard 2.2.2 at http://ubuntu:6006/ (Press CTRL+C to quit)

1. 定位到tensorboard所在的目录 (~/anaconda3/envs/tf-gpu-2.2/bin)

   本人使用conda创建了虚拟环境,并在虚拟环境下安装了tensorflow及tensorboard。

2. 执行tensorboard命令,指定profile文件所在的目录(python3 tensorboard --logdir=~/Projects/gpu-partition/context_log/ )

    如果想远程访问profile的结果,需要额外添加--blind_all

3. 通过浏览器访问profile的结果

  在浏览器地址栏输入 http://ubuntu:6006/#profile,就可以看到啦

4. 祝贺你,如果有问题可以在评论区留言

四、扩展阅读

CUPTI功能的详细说明

cuda 10.1详细的安装方法

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PyTorch Profiler Tensorboard是PyTorch的一个可视化工具,用于分析和优化模型的性能。它使用Tensorboard来可视化模型的训练过程和性能指标。你可以通过安装torchsummary库来计算每层参数个数,并使用summary函数来输出模型的参数数量。 要使用PyTorch Profiler Tensorboard,你需要导入必要的包并加载和转换数据集。导入torch、torch.nn、torch.optim、torch.profiler、torch.utils.data等包,并使用相应的函数加载和转换数据集,例如CIFAR10数据集。 然后,你可以使用profiler模型进行性能分析。通过设置适当的参数,如schedule、on_trace_ready和record_shapes等,你可以控制性能分析的行为。使用prof.start()开始性能分析,然后在每个训练步骤调用prof.step(),最后使用prof.stop()结束性能分析。 最后,你可以使用Tensorboard来查看性能分析的结果。通过在profiler设置on_trace_ready参数为tensorboard_trace_handler并指定日志文件路径,你可以将性能分析结果保存为Tensorboard可读取的格式。然后,你可以使用Tensorboard来可视化模型的性能指标和训练过程。 综上所述,PyTorch Profiler Tensorboard是PyTorch的一个可视化工具,用于分析和优化模型的性能。你可以使用torchsummary库来计算模型的参数数量,并使用torch.profilerTensorboard来进行性能分析和可视化。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [PyTorch常用小工具-Tensorboard、Summary、Profiler](https://blog.csdn.net/m0_51233386/article/details/127655593)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Pytorch profiler with tensorboard.](https://blog.csdn.net/qq_44554428/article/details/123169430)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值