当前位置: 首页 > news >正文

注册网站时手机号格式不正确分类达人介绍

注册网站时手机号格式不正确,分类达人介绍,没有有知道钓鱼网站在哪儿做,做网站要什么PyTorch框架学习十五——可视化工具TensorBoard一、TensorBoard简介二、TensorBoard安装及测试三、TensorBoard的使用1.add_scalar()2.add_scalars()3.add_histogram()4.add_image()5.add_graph()之前的笔记介绍了模型训练中的数据、模型、损失函数和优化器#xff0c;下面将介… PyTorch框架学习十五——可视化工具TensorBoard一、TensorBoard简介二、TensorBoard安装及测试三、TensorBoard的使用1.add_scalar()2.add_scalars()3.add_histogram()4.add_image()5.add_graph()之前的笔记介绍了模型训练中的数据、模型、损失函数和优化器下面将介绍迭代训练部分的知识而迭代训练过程中我们会想要监测或查看一些中间变量所以先介绍一下PyTorch的可视化使用的是TensorBoard。TensorBoard可以帮助显示很多重要的中间训练过程如可视化损失值、准确率的变化特征图的显示模型的计算图结构以及网络层的权重分布等等非常有利于分析模型的正确性方便理解和调整模型。 一、TensorBoard简介 TensorBoard是TensorFlow中强大的可视化工具支持显示标量、图像、文本、音频、视频和Embedding等多种数据可视化。其在PyTorch中也能使用。 它的运行机制如下图所示 在程序中加入记录可视化数据的代码程序运行的时候会在硬盘生成event file将需要记录和显示的数据存入event fileTensorBoard就可以读取event file里的数据并在终端默认网页进行绘制。 二、TensorBoard安装及测试 TensorBoard的安装也是很简单的打开Anaconda的终端进入需要安装TensorBoard的虚拟环境 然后输入pip install tensorboard就会自动安装 ps可能还需要手动再安装一个future包如果在安装TensorBoard时没有自动安装的话。 用一个例子来试验一下TensorBoard是否可以使用先不用管代码具体什么意思 import numpy as np from torch.utils.tensorboard import SummaryWriterwriter SummaryWriter(commenttest_tensorboard)for x in range(100):writer.add_scalars(data/scalar_group, {xsinx: x * np.sin(x),xcosx: x * np.cos(x),arctanx: np.arctan(x)}, x) writer.close()运行没有报错之后在终端进入该虚拟环境该路径下输入tensorboard --logdir./如下图所示 会给出一个网址点进去之后就是TensorBoard的终端网页以及绘制好的图像 以上就是安装以及测试的简介。 三、TensorBoard的使用 首先需要介绍SummaryWriter类 class SummaryWriter(object):def __init__(self, log_dirNone, comment, purge_stepNone, max_queue10,flush_secs120, filename_suffix):功能提供创建event file的高级接口。 主要属性都与event file的创建路径有关 log_direvent file输出文件夹的路径。comment不指定log_dir时文件夹的后缀。filename_suffixevent file文件名后缀。 举几个例子就明白了 首先是指定log_dir的 log_dir ./train_log/test_log_dir writer SummaryWriter(log_dirlog_dir, comment_scalars, filename_suffix12345678)for x in range(100):writer.add_scalar(ypow_2_x, 2 ** x, x)writer.close()创建的event file的路径如下图所示 都是按照log_dir指定的路径创建此时comment虽然指定但是不起作用event file后面也带上了filename_suffix的后缀12345678。 再来看一下不指定log_dir的例子 writer SummaryWriter(comment_scalars, filename_suffix12345678)for x in range(100):writer.add_scalar(ypow_2_x, 2 ** x, x)writer.close()创建的event file的路径如下图所示 这边的runs/时间设备型号/event file是默认的创建路径comment指定的‘_scalars’是加在了时间设备型号这个文件夹后面即event file的上级目录filename_suffix指定的‘12345678’还是加在event file后面。 以上是SummaryWriter类的使用简介下面将介绍SummaryWriter类下的具体方法用以在TensorBoard中进行绘制。 1.add_scalar() 功能记录标量。 add_scalar(self, tag, scalar_value, global_stepNone, walltimeNone)主要参数 tag图像的标签名图的唯一标识。scalar_value要记录的标量y轴。global_stepx轴。 举例如下 max_epoch 100writer SummaryWriter(commenttest_comment, filename_suffixtest_suffix)for x in range(max_epoch):writer.add_scalar(y2x, x * 2, x)writer.add_scalar(ypow_2_x, 2 ** x, x)writer.close()分别可视化了y2x和ypow_2_x如下图所示 2.add_scalars() 功能在一张图中记录多个标量。 add_scalars(self, main_tag, tag_scalar_dict, global_stepNone, walltimeNone)主要参数 main_tag该图的标签。tag_scalar_dictkey是变量的tagvalue是变量的值。global_stepx轴。 例子的话刚刚测试的时候的代码就是用到了add_scalars()具体见上面。 3.add_histogram() 功能统计直方图与多分位数折线图。 add_histogram(self, tag, values, global_stepNone, binstensorflow, walltimeNone, max_binsNone)主要参数 tag同上。values要统计的参数。global_stepy轴。bins取直方图的bins一般用默认的’tensorflow’。 举例如下 writer SummaryWriter(commenttest_comment, filename_suffixtest_suffix)for x in range(2):np.random.seed(x)data_union np.arange(100)data_normal np.random.normal(size1000)writer.add_histogram(distribution union, data_union, x)writer.add_histogram(distribution normal, data_normal, x)writer.close()可视化了一个正态分布和均匀分布 4.add_image() 功能记录图像将CHW、HWC或HW格式的图像可视化。 add_image(self, tag, img_tensor, global_stepNone, walltimeNone, dataformatsCHW)主要参数 tag同上。img_tensor图像数据注意尺度。global_stepx轴。dataformats数据形式CHW、HWC或HW。 需要注意的是img_tensor这个参数当输入图像的像素全都小于等于1时会自动将所有像素值乘255若有大于1的则保持不变。 举例 writer SummaryWriter(commenttest_your_comment, filename_suffix_test_your_filename_suffix)# img 1 random fake_img torch.randn(3, 512, 512) writer.add_image(fake_img, fake_img, 1) time.sleep(1)# img 2 ones fake_img torch.ones(3, 512, 512) time.sleep(1) writer.add_image(fake_img, fake_img, 2)# img 3 1.1 fake_img torch.ones(3, 512, 512) * 1.1 time.sleep(1) writer.add_image(fake_img, fake_img, 3)# img 4 HW fake_img torch.rand(512, 512) writer.add_image(fake_img, fake_img, 4, dataformatsHW)# img 5 HWC fake_img torch.rand(512, 512, 3) writer.add_image(fake_img, fake_img, 5, dataformatsHWC)writer.close()这里构造了五张图片第一张是随机产生的三通道图像第二张是像素值全为1的三通道图像第三张为像素值全为1.1的三通道图像第四张为像素值全都小于1的灰度图像第五张为像素值全都小于1的三通道图像只是通道数在最后一维结果如下图所示 第一张 第二张像素值全乘了2551×255即全为255显示全白 第三张像素值全为1.1超过了1不乘255因为像素值太小显示接近全黑 第四张 第五张 但是add_image单独使用的话有个缺点就是图像只会排成一行一次显示一张通过拖动下面这个东西来切换不同的图像非常麻烦 所以接下来介绍torchvision.utils.make_grid使用它制作网格图像再使用add_image进行显示。 make_grid(tensor, nrow8, padding2,normalizeFalse, rangeNone, scale_eachFalse, pad_value0)功能制作网格图像。 主要参数 tensor图像数据BCHW格式。nrow行数列数通过行数自动计算。padding图像间距像素单位。normalize是否将像素值标准化。range标准化的范围。scale_each是否单张图维度标准化。pad_valuepadding的像素值默认为0黑色。 举例 writer SummaryWriter(commenttest_your_comment, filename_suffix_test_your_filename_suffix)split_dir os.path.join(.., .., data, rmb_split) train_dir os.path.join(split_dir, train) # train_dir path to your training datatransform_compose transforms.Compose([transforms.Resize((32, 64)), transforms.ToTensor()]) train_data RMBDataset(data_dirtrain_dir, transformtransform_compose) train_loader DataLoader(datasettrain_data, batch_size16, shuffleTrue) data_batch, label_batch next(iter(train_loader))# img_grid vutils.make_grid(data_batch, nrow4, normalizeTrue, scale_eachTrue) img_grid vutils.make_grid(data_batch, nrow4, normalizeFalse, scale_eachFalse) writer.add_image(input img, img_grid, 0)writer.close()data_batch是我自己构造的一个包含了16张人民币图像的张量行数为4padding和pad_value都用默认normalize和scale_each都为False然后将构建好的网格图像送入add_image显示结果如下所示 这样一次性全部显示要比拖动来的更为直观。 5.add_graph() 功能可视化模型计算图数据流方向通常观察模型结构。 add_graph(self, model, input_to_modelNone, verboseFalse)主要参数 model模型必须是nn.Module。input_to_model输入给模型的数据。verbose是否打印计算图结构信息。 举例 writer SummaryWriter(commenttest_your_comment, filename_suffix_test_your_filename_suffix)# 模型 fake_img torch.randn(1, 3, 32, 32)lenet LeNet(classes2)writer.add_graph(lenet, fake_img)writer.close()from torchsummary import summary print(summary(lenet, (3, 32, 32), devicecpu))绘制出了计算图 也可以查看LeNet的内部结构 但是直接分析计算图是比较复杂的这里还给出了一个更直观的包 torchsummary 其中的summary函数可以总结出每一层网络层的输出尺寸、参数量以及占用多少内存等关键信息上述LeNet的信息如下 ----------------------------------------------------------------Layer (type) Output Shape Param # Conv2d-1 [-1, 6, 28, 28] 456Conv2d-2 [-1, 16, 10, 10] 2,416Linear-3 [-1, 120] 48,120Linear-4 [-1, 84] 10,164Linear-5 [-1, 2] 170Total params: 61,326 Trainable params: 61,326 Non-trainable params: 0 ---------------------------------------------------------------- Input size (MB): 0.01 Forward/backward pass size (MB): 0.05 Params size (MB): 0.23 Estimated Total Size (MB): 0.30 ---------------------------------------------------------------- Nonetorchsummary 功能查看模型信息便于调试。 summary(model, input_size, batch_size-1, devicecuda)主要参数 modelPyTorch模型。input_size模型输入size。batch_size就是字面意思。device‘cuda’ 或 ‘cpu’
http://wiki.neutronadmin.com/news/48927/

相关文章:

  • 网站开发所需要的的环境网站开发竞争性谈判
  • 素材网站个人做的做建网站的工作一年赚几百万
  • 旅游订票网站开发公司商标设计
  • 蓝色科技企业网站模板android开发基础教程
  • 网站建站建设多少钱软件实施工资一般多少
  • 网站轮播图能用什么软件做dw做网站怎么排版
  • 2018年怎么做网站排名网站推广的优点
  • 网站备案信息查询申请表学校网站模板大全
  • 石狮网站设计公司中国工信部网站备案
  • 工具刷网站排刷排名软件百度怎么把自己网站展现在百度
  • 用xp做网站是否先搭建iiswordpress对php版本要求
  • 福田做商城网站建设找哪家公司好合肥高端网站
  • 网站托管就业wordpress图片无法读取
  • 网站标题的优化知名企业网站人才招聘情况如何
  • 网站建设与管理收获旅游搭建网站
  • 青岛专业制作网站北京手机网站设计
  • 手机系统seo推广编辑
  • 招聘网站上找在家做万网 速成网站
  • 钓鱼网站怎么制作htmlWordPress文章投票
  • 建网站要备案深圳坪山高铁站
  • 中国最大免费wap网站diy小程序开发平台
  • 江镇做包子网站合肥市城乡城乡建设局网站
  • 网站为什么要维护陕西交通建设集团西镇分公司网站
  • jq网站登录记住密码怎么做企业网站的一般要素包括哪些
  • 网站设计的素材有哪些网站上传系统
  • 东莞集团网站建设规定学做网站需要学那些程序
  • 网站根目录 设置网站域名解析到了空间 但空间未绑定此域名
  • 建设网站要求dede网站微信分享封面
  • 兰州市城乡建设局网站公布的信息吴中区网站建设技术
  • 网站建设设计师手机网站与PC网站