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

网站建设图片像素是多大的wordpress 应用主题

网站建设图片像素是多大的,wordpress 应用主题,做dw网站图片怎么下载地址,百度帐号登录个人中心PyTorch支持两种模式#xff1a;eager模式和script模式。eager模式主要用于模型的编写、训练和调试#xff0c;script模式主要是针对部署的#xff0c;其包含PytorchJIT和TorchScript#xff08;一种在 PyTorch 中执行高效的序列化代码格式#xff09;。 script模式使用t…PyTorch支持两种模式eager模式和script模式。eager模式主要用于模型的编写、训练和调试script模式主要是针对部署的其包含PytorchJIT和TorchScript一种在 PyTorch 中执行高效的序列化代码格式。 script模式使用torch.jit.trace和torch.jit.script创建一个PyTorch eager module的中间表示intermediate representation, IRIR 经过内部优化并在运行时使用 PyTorch JIT 编译。PyTorch JIT 编译器使用运行时信息来优化 IR。该 IR 与 Python 运行时是解耦的。 PyTorch JITJust-In-Time Compilation是 PyTorch 中的即时编译器。 它允许你将模型转化为 TorchScript 格式从而提高模型的性能和部署效率。JIT 允许你在动态图和静态图之间无缝切换。你可以在 Python 中以动态图的方式构建和调试模型然后将模型编译为 TorchScript 以进行优化和部署。JIT 允许你在不同的深度学习框架之间进行模型转换例如将 PyTorch 模型转换为 ONNX 格式从而可以在其他框架中运行。 TorchScript 是 PyTorch 提供的一种将模型序列化以便在其他环境中运行的机制。它将 PyTorch 模型编译成一种中间表示形式可以在没有 Python 解释器的环境中运行。这使得模型可以在 C 等其他语言中运行也可以在嵌入式设备等资源受限的环境中实现高效的推理。 以下是 TorchScript 的一些重要特性和用途 静态图表示形式TorchScript 是一种静态图表示形式它在模型构建阶段对计算图进行编译和优化而不是在运行时动态构建。这可以提高模型的执行效率。模型导出TorchScript 允许将 PyTorch 模型导出到一个独立的文件中然后可以在没有 Python 环境的设备上运行。跨平台部署TorchScript 允许在不同的深度学习框架之间进行模型转换例如将 PyTorch 模型转换为 ONNX 格式从而可以在其他框架中运行。模型优化和量化通过 TorchScript你可以使用各种技术如量化对模型进行优化从而减小模型的内存占用和计算资源消耗。融合和集成TorchScript 可以帮助你将多个模型整合到一个整体流程中从而提高系统的整体性能。嵌入式设备对于资源受限的嵌入式设备TorchScript 可以帮助你优化模型以适应这些环境。 使用 TorchScript 可以将 PyTorch 模型变得更容易在生产环境中部署和集成。然而它也可能需要你对模型进行一些修改以使其可以成功编译为 TorchScript。 总的来说TorchScript 是一个强大的工具特别是对于需要在不同环境中部署 PyTorch 模型的情况。通过将模型导出为 TorchScript你可以实现更广泛的模型应用和部署。 一段话总结为什么要用以及什么时候要用script模式呢 可以脱离python GIL以及python runtime的限制来运行模型比如通过LibTorch通过C来运行模型。这样方便了模型部署例如可以在IoT等平台上运行。例如这个tutorial使用C来运行pytorch的model。PyTorch JIT是用于pytorch的优化的JIT编译器它使用运行时信息来优化 TorchScript modules可以自动进行层融合、量化、稀疏化等优化。因此相比pytorch modelTorchScript的性能会更高。 Script mode通过torch.jit.trace或者torch.jit.script来调用。这两个函数都是将python代码转换为TorchScript的两种不同的方法。torch.jit.trace将一个特定的输入通常是一个张量需要我们提供一个input传递给一个PyTorch模型torch.jit.trace会跟踪此input在model中的计算过程然后将其转换为Torch脚本。这个方法适用于那些在静态图中可以完全定义的模型例如具有固定输入大小的神经网络。通常用于转换预训练模型。torch.jit.script直接将Python函数或者一个Python模块通过python语法规则和编译转换为Torch脚本。torch.jit.script更适用于动态图模型这些模型的结构和输入可以在运行时发生变化。例如对于RNN或者一些具有可变序列长度的模型使用torch.jit.script会更为方便。 在通常情况下更应该倾向于使用torch.jit.trace而不是torch.jit.script。 在上一篇blog中我们非常非常详细介绍了torch.jit.trace和torch.jit.script的区别以及使用建议。强烈建议先阅读上一篇blog再来阅读此篇内容。 本篇中我们重点看一下TorchScript model与eager model的性能区别。 JIT Trace torch.jit.trace使用eager model和一个dummy input作为输入tracer会根据提供的model和input记录数据在模型中的流动过程然后将整个模型转换为TorchScript module。看一个具体的例子 我们使用BERTBidirectional Encoder Representations from Transformers作为例子。 from transformers import BertTokenizer, BertModel import numpy as np import torch from time import perf_counterdef timer(f,*args): start perf_counter()f(*args)return (1000 * (perf_counter() - start))# 加载bert model native_model BertModel.from_pretrained(bert-base-uncased) # huggingface的API中使用torchscriptTrue参数可以直接加载TorchScript model script_model BertModel.from_pretrained(bert-base-uncased, torchscriptTrue)script_tokenizer BertTokenizer.from_pretrained(bert-base-uncased, torchscriptTrue)# Tokenizing input text text [CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP] tokenized_text script_tokenizer.tokenize(text)# Masking one of the input tokens masked_index 8tokenized_text[masked_index] [MASK]indexed_tokens script_tokenizer.convert_tokens_to_ids(tokenized_text)segments_ids [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1]# Creating a dummy input tokens_tensor torch.tensor([indexed_tokens]) segments_tensors torch.tensor([segments_ids])然后分别在CPU和GPU上测试eager mode的pytorch推理速度。 # 在CPU上测试eager model推理性能 native_model.eval() np.mean([timer(native_model,tokens_tensor,segments_tensors) for _ in range(100)])# 在GPU上测试eager model推理性能 native_model native_model.cuda() native_model.eval() tokens_tensor_gpu tokens_tensor.cuda() segments_tensors_gpu segments_tensors.cuda() np.mean([timer(native_model,tokens_tensor_gpu,segments_tensors_gpu) for _ in range(100)])再分别在CPU和GPU上测试script mode的TorchScript模型的推理速度 # 在CPU上测试TorchScript性能 traced_model torch.jit.trace(script_model, [tokens_tensor, segments_tensors]) # 因模型的trace时已经包含了.eval()的行为因此不必再去显式调用model.eval() np.mean([timer(traced_model,tokens_tensor,segments_tensors) for _ in range(100)])# 在GPU上测试TorchScript的性能 最终运行结果如表 CPU latency (ms)GPU latency (ms)PyTorch171.2730.42TorchScript165.2413.50 我使用的硬件规格是google colabcpu是Intel(R) Xeon(R) CPU 2.00GHzGPU是Tesla T4。 从结果来看在CPU上TorchScript比pytorch eager快了3.5%在GPU上TorchScript比pytorch快了55.6%。 然后我们再用ResNet做一个测试。 import torchvision import torch from time import perf_counter import numpy as npdef timer(f,*args): start perf_counter()f(*args)return (1000 * (perf_counter() - start))# Pytorch cpu versionmodel_ft torchvision.models.resnet18(pretrainedTrue) model_ft.eval() x_ft torch.rand(1,3, 224,224) print(fpytorch cpu: {np.mean([timer(model_ft,x_ft) for _ in range(10)])})# Pytorch gpu versionmodel_ft_gpu torchvision.models.resnet18(pretrainedTrue).cuda() x_ft_gpu x_ft.cuda() model_ft_gpu.eval() print(fpytorch gpu: {np.mean([timer(model_ft_gpu,x_ft_gpu) for _ in range(10)])})# TorchScript cpu versionscript_cell torch.jit.script(model_ft, (x_ft)) print(ftorchscript cpu: {np.mean([timer(script_cell,x_ft) for _ in range(10)])})# TorchScript gpu versionscript_cell_gpu torch.jit.script(model_ft_gpu, (x_ft_gpu)) print(ftorchscript gpu: {np.mean([timer(script_cell_gpu,x_ft.cuda()) for _ in range(100)])})CPU latency (ms)GPU latency (ms)PyTorch77.472.99TorchScript74.241.64 TorchScript相比PyTorch eager modelCPU性能提升4.2%GPU性能提升45%。与Bert的结论一致。 总结 本文重点说明了Pytorch的eager模式和script模式重点是script模式的TorchScript和Pytorch JIT上一篇文章重点说明了eager模式的model转为script模式的TorchScript的两个apitorch.jit.trace与torch.jit.script的区别这是这一篇文章的基础建议先阅读上一篇文章使用Bert和ResNet两个网络进行了Pytorch eager model和TorchScript的CPU和GPU性能测试。结论在两个网络上一致使用TorchScript在CPU上相比PyTorch eager mode会有4%左右的性能提升在GPU上会有50%左右的性能提升。
http://www.zqtcl.cn/news/437968/

相关文章:

  • 上海怎么做网站国外网站 设计
  • 开发公司土地评估费计入土地价款优化搜狐的培训
  • 网站建设佰首选金手指三360怎么免费建网站
  • 网站万能密码修复苏州市建设中心网站
  • 如何搭建php网站网站制作的前期主要是做好什么工作
  • 站酷设计网站官网站不能正常显示出现后台代码
  • 网站域名改版微信公众号免费开通
  • 代网站建设如何对网站进行爬虫
  • 做公司+网站建设价格低网站两边广告代码
  • 服务器上怎做网站提升网页优化排名
  • 上海网站推广模板景德镇网站开发
  • 艺术风格网站成都软件开发公司排行榜
  • 搭建个人网站赚钱网站开发应该注意什么
  • 医药招商网站建设做招聘网站都需要什么手续
  • 通州网站建设电话外贸订单网站推广
  • 余江县建设局网站福州外包加工网
  • 为网站网站做推广加强网络安全建设
  • dedecms 模版网站wordpress 10万并发
  • 衡阳企业网站排名优化深圳网站建设 联雅网络
  • 厦门网站建设案例做网站需要买多大空间
  • 查看网站被恶意镜像wordpress 添加文件权限设置
  • 基于php的网站开发流程图如何建设一个公众号电影网站
  • 2018年怎么做网站排名如何提升网站的收录量
  • 租电信服务器开网站为何要屏蔽网站快照
  • 广州建设网站技术企业咨询属于什么行业
  • 哪些网站容易做网站开发价格
  • 展览网站源码棋牌游戏软件开发
  • 网站开发业务ppt做网站如何放入图像
  • 专业做网站和小程序车载网络设计是干什么的
  • 运城网站建设兼职建设通网站武义巨合汪志刚