• 2018-10-23 14:25:26
更多相关内容
• 关于Tensorboard的基本使用方法可以参考：Pytorch 配置 Tensorboard 可视化学习(一) 对于一个基本模型： import torch import torch.nn as nn class LinearRegressionModel(nn.Module): def __init__(self, input...

关于Tensorboard的基本使用方法可以参考：Pytorch 配置 Tensorboard 可视化学习(一)

对于一个基本模型：

import torch
import torch.nn as nn

class LinearRegressionModel(nn.Module):
def __init__(self, input_shape, output_shape):
super(LinearRegressionModel, self).__init__()
self.linear = nn.Linear(input_shape, output_shape)

def forward(self, x):
out = self.linear(x)
return out

def train_model():
x_train = torch.randn(100, 4)  # 生成100个4维的随机数，作为训练集的 X
y_train = torch.randn(100, 1)  # 作为训练集的label

model = LinearRegressionModel(x_train.shape[1], 1)
epochs = 100  # 迭代1000次
learning_rate = 0.01  # 学习率
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)  # 优化函数
criterion = nn.MSELoss()  # Loss使用MSE值，目标是使MSE最小

for epoch in range(epochs):
epoch += 1
outputs = model(x_train)
loss = criterion(outputs, y_train)
loss.backward()
optimizer.step()
# 预测
model.eval()
predicted = model(torch.randn(100, 4)).data.numpy()
print(predicted)

if __name__ == '__main__':
train_model()


改写代码，添加绘图代码，包括三步:

1. 导包：from torch.utils.tensorboard import SummaryWriter
2. 定义writer：writer = SummaryWriter()
3. 写入数据：writer.add_scalar("图像名称",y值, x值)
4. 关闭并写入：writer.close()
import torch
import torch.nn as nn

class LinearRegressionModel(nn.Module):
def __init__(self, input_shape, output_shape):
super(LinearRegressionModel, self).__init__()
self.linear = nn.Linear(input_shape, output_shape)

def forward(self, x):
out = self.linear(x)
return out

def train_model():
x_train = torch.randn(100, 4)  # 生成100个4维的随机数，作为训练集的 X
y_train = torch.randn(100, 1)  # 作为训练集的label

model = LinearRegressionModel(x_train.shape[1], 1)
epochs = 100  # 迭代1000次
learning_rate = 0.01  # 学习率
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)  # 优化函数
criterion = nn.MSELoss()  # Loss使用MSE值，目标是使MSE最小

for epoch in range(epochs):
epoch += 1
outputs = model(x_train)
loss = criterion(outputs, y_train)
loss.backward()
optimizer.step()
# 预测
model.eval()
predicted = model(torch.randn(100, 4)).data.numpy()
print(predicted)
writer.close()  # 第4步，写入关闭

if __name__ == '__main__':
from torch.utils.tensorboard import SummaryWriter # 第1步

writer = SummaryWriter(log_dir="summary_pic")  # 第二步，确定保存的路径，会保存一个文件夹，而非文件
# tensorboard --logdir=summary_pic
train_model()


使用：

tensorboard --logdir=summary_pic


在本地的http://localhost:6006/打开可以得到相关图像：

展开全文
• 使用TensorBoard绘制loss曲线图详细过程 前言：首先确保机子上安装了TensorBoard包（命令行模式下可使用pip list查看） 1、然后在cmd窗口中或者Anaconda Prompt窗口中使用cd 进入TensorBoard包所在的文件夹下。 ---...

## 使用TensorBoard绘制loss曲线图详细过程

前言：首先确保机子上安装了TensorBoard包（命令行模式下可使用pip list查看）

1、然后在cmd窗口中或者Anaconda Prompt窗口中使用cd 进入TensorBoard包所在的文件夹下。
-------cd C:\ProgramData\Anaconda3\Scripts。

2、按照1中的方法进入TensorBoard包所在文件夹下后，使用如下命令
tensorboard --logdir=文件夹路径（注意：文件路径下最好不要有中文，文件只需要训练好的events.out.tfevents.xxxxx文件即可）

如下图所示，中会出现一个地址，win请使用localhost:6006进入；

localhost:6006页面如下图所示

这里有关于TensorBoard界面的详细介绍

展开全文

tensorboard中的loss曲线在网页中可以通过设置平滑参数，画出比较漂亮的曲线，但是平滑后的曲线是没办法直接提取出来的

定义smooth函数，输入tensorboard下载的csv，然后保存平滑之后的csv文件

import pandas as pd
import numpy as np
import os
def smooth(csv_path,weight=0.85):
scalar = data['Value'].values
last = scalar[0]
smoothed = []
for point in scalar:
smoothed_val = last * weight + (1 - weight) * point
smoothed.append(smoothed_val)
last = smoothed_val

save = pd.DataFrame({'Step':data['Step'].values,'Value':smoothed})
save.to_csv('smooth_'+csv_path)

if __name__=='__main__':
smooth('loss.csv')

平滑之后的csv通过下面的代码绘制出曲线图：

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
from matplotlib.font_manager import FontProperties
import csv

csvfile = open(files, 'r')
x = []
y = []
for row in plots:
y.append((row[2]))
x.append((row[1]))
return x ,y

mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = 'NSimSun,Times New Roman'

plt.figure()

plt.plot(x, y, 'r',label='G ')

plt.xticks(fontsize=16)
plt.yticks(fontsize=16)

plt.ylim(0, 16)                   # y轴的最大值
plt.xlim(0, 104800)               # x轴最大值
plt.title('loss', fontsize=16)
plt.xlabel('Steps',fontsize=20)
plt.ylabel('Score',fontsize=20)
plt.legend(fontsize=16)
plt.show()

展开全文
• tensorboard --logdir=D:/python/SSDmobilenet3/mydata --host=127.0.0.1
• 安装tensorboardx 安装步骤：pip install tensorboardX loss输出代码： 下面的参考：连接 #step1:倒入SummaryWriter from tensorboardX import SummaryWriter import numpy as np #step：2初始化一个实例writer ...
• tf.summary.scalar(‘loss’, cost) 用来显示标量信息一般在画loss,accuary时会用到这个函数。 tf.summary.scalar(‘acc’, accuracy) merge = tf.summary.merge_all() 合并所有的summary writer = tf.summary....
• 4.2 使用torch.nn搭建LeNet 5 初始化网络参数并选择优化器 6 开始训练并保存模型 7 开始测试并加载权重预测 8 使用Tensorboard绘制loss曲线 完整代码见下方链接 0 MNIST是什么？ MNIST数据集(Mixed National ...
• def test_2():writer1 = SummaryWriter('./runs/data_loss')writer2 = SummaryWriter('./runs/png')attns_en = []step = 199for i in range(3):attns_en.append(torch.randn([512,100,100]))print(len(attns_en))pri...
• tensorboard平滑曲线代码 “tensorboard提供了下载借口，可以下载没有经过平滑后的数据，但是之前说了，没有平滑的曲线非常的不好看，现在我们需要做的是将下载下来的原始数据在本地进行平滑“”。代码如下： import...
• 绘制Loss曲线 b站课程链接：https://www.bilibili.com/video/BV1Y7411d7Ys?p=2 import绘制曲线的库和numpy库 import numpy as np import matplotlib.pyplot as plt # 图库 设置数据 x_data = [1.0, 2.0, 3.0] y_...
• 第一步：进入自己的运行环境 C:\Users\ma>activate new ...tensorboard --logdir=E:\majunfeng\LeNet\log\events.out.tfevents.1555237054.DESKTOP-69GM4AS tensorboard --logdir=自己的日志地址 ...
• 打开谷歌浏览器或者火狐，输入网址即可查看搭建的网络结构以及识别准确率和损失函数的曲线图。 注意：如果对网络进行更改之后，在运行之前应该先删除log下的文件，在Jupyter中应该选择Kernel----->Restar & Run All,...
• 如何使用tensorboard监控loss的变化？ 1.安装tensorboard并执行下面语句 from torch.utils.tensorboard import SummaryWriter summaryWriter = SummaryWriter("logs/log1") # 将生成的loss... # A “loss”为曲线
• epoch) acc = sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels}) print("epoch " + str(epoch)+ " acc " +str(acc)) 运行程序，打开命令行界面，切换到 log 所在目录，输入 tensorboard --...
• write = tf.summary.FileWriter('E://TensorBoard//test',sess.graph) for epoch in range(500): for batch in range(n_batch): batch_xs,batch_ys = mnist.train.next_batch(batch_size) _,summery,loss_val=...
• 今天小编就为大家分享一篇TensorFlow绘制loss/accuracy曲线的实例，具有很好的参考价值，希望对大家有所帮助。一起跟随小编过来看看吧
• 参考：...1 Xshell通道设置 文件-新建-连接-SSH-隧道，端口都设成6006 2 进入环境安装tensorboradX pip install tensorboardX 修改训练代码 需要添加的代码： ...from tensorboardX import Su
• Pytorch训练可视化(TensorboardX)PyTorch 番外篇：Pytorch 中的 TensorBoard(TensorBoard in PyTorch)TensorBoard 相关资料TensorBoard 是 Tensorflow 官方推出的可视化工具。官方介绍TensorBoard: Visualizing ...
• 2.输入pip install tensorboardX，安装完成后，输入python，用from tensorboardX import SummaryWriter检验是否安装成功。如下图所示： 3.安装完成之后，先给大家看一下我的文件夹，如下图： 假设用LeNet5框架识别...
• 1 引言我们都知道tensorflow框架可以使用tensorboard这一高级的可视化的工具，为了使用tensorboard这一套完美的可视化工具，未免可以将其应用到Pytorch中，用于Pytorch的可视化。本文主要是针对该解决方案提供一些...
• 解决Tensorboard（localhost或者127.0.0.1）查看loss曲线问题 TensorBoard是TensorFlow下的一个可视化的工具，展示训练过程中绘制的图像、网络结构等。 第一步：定位到你训练后log文件保存的位置； 第二步：该目录...
• 版本信息： python 3.6 pytorch 0.4.1 ...tensorboard 1.6.0 [tensorflow 与 tensorboard版本匹配] from tensorboard_logger import Logger logger = Logger(logdir="./tensorboard_logs", flush_secs=10) ...

...