首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

在Pytorch下安装TensorBoard

  • 23-09-20 00:23
  • 4034
  • 6247
blog.csdn.net

在Pytorch下安装TensorBoard

一. TensorBoard简介:

TensorBoard提供了机器学习实验所需的可视化和工具,其使用是为了分析模型训练的效果:

  • 跟踪和可视化指标,例如损失和准确性
  • 可视化模型图(操作和图层)
  • 查看权重,偏差或其他张量随时间变化的直方图
  • 将embedding 投影到较低维度的空间
  • 显示图像,文本和音频数据
  • 分析TensorFlow程序
  • 以及更多

从PyTorch 1.1.0版开始,PyTorch添加了一个tensorboard实用程序包,使我们能够将TensorBoard与PyTorch一起使用。

  1. print(torch.__version__)
  2. 1.1.0

二. 为PyTorch安装TensorBoard

要为PyTorch安装TensorBoard,请执行以下步骤:

  1. 确认您正在运行PyTorch版本1.1.0或更高版本。
  2. 确认您正在运行TensorBoard 1.15或更高版本。
  3. 请注意,PyTorch使用的TensorBoard与为TensorFlow创建的TensorBoard相同。使用以下命令检查系统上安装的TensorBoard的版本,一旦安装了TensorBoard 1.15或更高版本,我们就可以开始了!
  4. 使用以下命令安装TensorBoard。
pip install tensorboard==1.14.0
tensorboard --version

这里如果不小心手残,没有选好版本号,导致安装了多个版本的tensorboard。那么需要卸载掉高版本的tensorboard,然后重新指定tensorboard的版本来安装,具体操作指令如下: 

  1. pip uninstall tensorboard
  2. pip uninstall tensorboard-plugin-wit

三. PyTorch的TensorBoard入门

TensorBoard是一个字体结尾的Web界面,实际上从文件中读取数据并显示它。要使用TensorBoard,我们的任务是将我们要显示的数据保存到TensorBoard可以读取的文件中。

为了使我们更轻松,PyTorch创建了一个名为SummaryWriter的实用程序类。要访问此类,我们使用以下导入:

from torch.utils.tensorboard import SummaryWriter

 导入该类后,我们可以创建该类的实例,然后将其用于将数据从程序中获取到文件系统中,然后由TensorBoard进行使用。

如在运行时出现如下报错,很有可能是python的版本过低,应执行下列操作,先卸载,再重装:

ImportError: No module named 'torch.utils.tensorboard'
  1. pip uninstall torchvision
  2. pip uninstall torch
  3. pip install torch===1.2.0 torchvision===0.4.0 -f https://download.pytorch.org/whl/torch_stable.html

 如果报错为:

ImportError: TensorBoard logging requires TensorBoard with Python summary writer installed. This should be available in 1.14 or above.

则说明TensorBoard的安装版本过低,需执行如下指令:

pip install tensorboard==1.14.0

如报错为:

ImportError: No module named 'past'

 则缺少了future包的安装,需执行:

pip install future

下面就可以开始TensorBoard的使用啦~

(1)网络图和训练集图像

SummaryWriter类带有许多方法,我们可以调用这些方法来有选择地选择和选择我们希望TensorBoard可以使用的数据。首先,我们将网络和一批图像传递给编写者。

  1. tb = SummaryWriter()
  2. network = Network()
  3. images, labels = next(iter(train_loader))
  4. grid = torchvision.utils.make_grid(images)
  5. tb.add_image('images', grid)
  6. tb.add_graph(network, images)
  7. tb.close()

该代码为TensorBoard创建一个名为tb的SummaryWriter实例。然后,创建我们的PyTorch网络的实例,并从我们的PyTorch数据加载器对象中解压缩一批图像和标签。

然后,将图像和网络添加到TensorBoard将使用的文件中。实际上,可以说网络图和图像的batch都已添加到TensorBoard中。

(2)运行TensorBoard

要启动TensorBoard,我们需要在终端上运行tensorboard命令。这将启动一个本地服务器,该服务器将为TensorBoard UI和我们的SummaryWriter写入磁盘的数据提供服务。

默认情况下,PyTorch SummaryWriter对象将数据写入在当前工作目录中创建的名为./runs的目录中的磁盘。

当运行tensorboard命令时,我们传递一个参数来告诉tensorboard数据在哪里。就像这样:

tensorboard --logdir=runs

TensorBoard服务器将启动并正在侦听端口6006上的http请求。这些详细信息将显示在控制台中。

通过浏览至以下位置访问TensorBoard UI:

http://localhost:6006

在这里,我们将能够看到我们的网络图和图像数据。目前,这确实为我们提供了视觉效果。

对于远程访问安装了防火墙的服务器上TensorBoard的情况,我们需要在远程访问服务器时,输入如下代码进行端口映射,把服务器上的6006端口映射到本地:

ssh -L 6006:127.0.0.1:6006 username@ip

之后登录服务器账户,运行指令即可,还可以通过port来指定TensorBoard端口,这是针对6006端口被他人占用的情况,此时,远程访问的端口映射也需要进行相应的修改。通过port来指定TensorBoard端口所对应的代码如下:

  1. ssh -L 16006:127.0.0.1:16006 username@ip
  2. tensorboard --logdir=runs --port 16006

在经过上述操作之后,只需要在本地的浏览器输入http://iyenn.com/index/link?url=http://127.0.0.1:16006即可进行访问。在访问时,如果出现loss又回头的情况,有可能是tensorboard在指定的logdir目录下读取到了多个log文件,所以可以在日志文件夹下删除不是本次正在运行创建的日志文件,之后重新启动服务器,并刷新浏览器即可。

 

重点参考文献:

http://iyenn.com/index/link?url=https://cloud.tencent.com/developer/article/1671162

 

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树人工智能深度学习331497 人正在系统学习中
注:本文转载自blog.csdn.net的masferMa的文章"https://blog.csdn.net/weixin_56728251/article/details/116322383"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top