单身女生,想在戒指上刻法语,有意境但是别太长,可以提供一些吗,谢谢。

单身女生,想在戒指上刻法语,有意境但是别太长,可以提供一些吗,谢谢。,第1张

参考过来的名人名言,不过精选和检查了,不用担心错别字语法什么的。

Après la pluie,le beau temps雨后天晴。

Le but de la vie est de jouir de chaque moment生活的目的在于享受每个当下。

On ne voit bien qu’avec le coeur只有用心灵才能看得清楚。

可可香奈儿:想要无可取代,就必须时刻与众不同。Pour être irremplaçable, Il faut être différente真正美的眼睛,属于那双温柔注视着你的人。Les seuls beaux yeux sont ceux qui vous regardent avec tendresse

Io是过载的意思,In是断路器的标称额定电流;是标准值;Ir是断路器整定正常工作过流整定值;也叫长延时脱扣电流;Ie是断路器的瞬时脱扣电流;短路情况下断路器的瞬时动作时的值;一般Ie=15-11In。

扩展资料:

断路器的特性主要有:额定电压Ue;额定电流In;过载保护(Ir或Irth)和短路保护(Im)的脱扣电流整定范围;额定短路分断电流(工业用断路器Icu;家用断路器Icn)等。额定工作电压(Ue):这是断路器在正常(不间断的)的情况下工作的电压。

额定电流(In):这是配有专门的过电流脱扣继电器的断路器在制造厂家规定的环境温度下所能无限承受的最大电流值,不会超过电流承受部件规定的温度限值。

短路继电器脱扣电流整定值(Im):短路脱扣继电器(瞬时或短延时)用于高故障电流值出现时,使断路器快速跳闸,其跳闸极限Im。

额定短路分断能力(Icu或Icn):断路器的额定短路分断电流是断路器能够分断而不被损害的最高(预期的)电流值。

标准中提供的电流值为故障电流交流分量的均方根值,计算标准值时直流暂态分量(总在最坏的情况短路下出现)假定为零。工业用断路器额定值(Icu)和家用断路器额定值(Icn)通常以kA均方根值的形式给出。

短路分断能力(Ics):断路器的额定分断能力分为额定极限短路分断能力和额定运行短路分断能力两种。

参考资料:

-断路器

镜头中的nd ir什么意思

IR镜头就是红外线镜头,主要用于夜视,监控摄像头上用的最多!

ND是一种滤镜,安装在镜头上用的,减少环境光!

相机镜头中的广角什么意思!

广角是指在135系统中相当于35MM胶片片幅大小的成像圈中

35MM以下焦距段的镜头

你的28-105虽然有28广角,但那只是对35MM片幅而言

数码单反的成像面积比35MM胶片小

这就带来了一个镜头焦距系数的问题

D70S的焦距系数是15X

所以你28-105的广角端等效焦距是

2815=42

基本上接近一个标头了

所以没有广角效果

尼康镜头中的AS是什么意思

你说的是aspherical吗?

它表示该镜头上使用了非球面镜片,但是具体用了几片,机身文字资讯上看不出来。

使用非球面镜已经不是什么新鲜事了,即使是现在最低端的镜头,比如18-55,都有使用,但是通常认为使用的片数越多,对于相差的矫正效果就越显著。

其他厂家的镜头通常也会用ASP来表示该镜头使用了非球面镜。

祝你好运

你说的是aspherical吗它表示该镜头上使用了非球面镜片,但是具体用了几片,机身文字资讯上看不出来。使用非球面镜已经不是什么新鲜事了,即使是现在最低端的镜头,比如18-55,都有使用,但是通常认为使用的片数越多,对于相差的矫正效果就越显著。其他厂家的镜头通常也会用ASP来表示该镜头使用了非球面镜。祝你好运

采纳哦

nikon 1 系列 镜头中的PD-ZOOM什么意思

你说的是尼康 1 NIKKOR VR 10-100/45-56 PD-ZOOM 镜头。

PD ZOOM =power drive zoom,

也就是“电动变焦”、“电力驱动变焦”的意思,跟绝大部分的变焦镜头不一样,这种镜头是通过使用者按压“推”、“拉”按钮(其实很多卡片机也是这样的),由电路产生相应的控制讯号,控制变焦电机动作,带动变焦镜头组以一定速度匀速前移动来实现的。这样操作起来十分方便,变焦过程平稳(拍摄视讯十分有利,不容易手抖)。但变焦速度通常没有手动变焦镜头来得快、来得精准。

采用电动变焦的镜头要么做得比较小,要么变焦比很大。另外,松下、奥林巴斯的M4/3系统也有几支镜头也是采用的电动变焦。

尼康镜头中的MR是什么意思

Mago Resistive 磁阻磁头。

变焦和实现超声波马达用的。

尼康有些款式做工差,记得是D70、D80套头的通病,修过之后感觉差很多。

所以有些人因此不是很喜欢尼康。

尼康镜头中的VR是什么意思

尼康镜头中的VR,表示这个镜头内带有光学减振功能;

具体的实现方式是:

在镜头中有一块可根据需要移动的镜片,通过检测电路,使镜头中的镜片产生和振动方向相反的位移,达到补偿和降低光照不足时因快门速度降低产生的影像模糊,使拍摄成像的要求降低提高出片率。

尼康镜头中的“IF-ED”是什么意思?

尼康(Nikon)镜头标识含义

AI: Automatic Indexing自动大光圈传递技术

释出于1977年Nikon F卡口第次大变动AI指镜头大光圈值传递给测光系统便进行正常曝光测量过程和方法当AI镜头被装相容AI技术机身上时该镜头大光圈值机械连动拨杆自动接合和驱动下传递给机身测光系统实现全开光圈测光Nikon F2A、F2AS、Nikkormat EL2、FT3和FM第批获益于项技术机身代表镜头:Nikkor AI 50/14

AI-S:Automatic Indexing Shutter自动快门指数传递技术1981年Nikon对全线AI镜头卡口进行了修改便使能够与即投入使用FA高速程式曝光方式完全相容些修改新镜头AI-S卡口Nikkor镜头根据镜头光圈环和光圈直读环上橙色小光圈数字及插刀卡口上打磨凹槽非常容易识别当AI-S镜头用于Nikon FA机身时能够根据自身焦距向机身提供资讯选择正常程式或高速程式快门速度优先自动曝光方式时们能够非常宽光照范围内提供致曝光控制(因AI-S镜头FA上曝光自动化而定制因此机身自动曝光连动拨杆能够非常流畅地控制AI-S镜头光圈达更快速而精确曝光控制)代表镜头:Nikkor AIS 50/14

AF-S: Silent Wave Motor静音马达

代表该镜头装载了静音马达(Silent Wave MotorS)种马达等同于佳能超音波马达(ultrasonic motor)由行波(traveling waves)提供能量进行光学聚焦高精确和宁静地快速聚焦全时手动对焦 支援AF-S 镜头自动对焦相机有 F5 ; F4; F100;F90X;F90;F80;F70;F65;D1;D1X;D1H;D100其余机身接用也测光能自动对焦代表镜头:28-70mm f/28 ED-IF AF-S Zoom-NikkorD型镜头:Distance 焦点距离资料传递技术代表镜头回传对焦距离资讯,作 3D(景物亮度景物对比度景物距离)矩阵测光参考及 TTL 均衡闪光控制1992年推出代表镜头:28-105mm f/35-45D AF Zoom-NikkorCRC:Close Range Correction 近摄校正采用浮动镜片设计保证近摄时光学素质下降例AIS 24/28、AF 85/14D IF之类均采用了CRC技术DC : Defocus-image Control 散焦影像控制尼康公司独创镜头提供与众同散焦影像控制功能镜头前端有散焦定位转环!该环上光圈值从F2F56共4挡分别标环左右用R(景散焦)与F(前景散焦)来指示种特殊定焦镜头其大特点于容许对特定被摄体背景或前景进行模糊控制便求得佳焦外成像点拍摄人像时非常有价值还帮助我们根据所想要表现来控制照片各部分也其厂家同类镜头所无法比拟目前尼康只有2支DC镜头:AF DC 105m!m f/2D、AF DC 135mm f/2DED : Extra-low Dispersion超低色散镜片

指支镜头内含 ED 镜片大限度降低镜头色差(chromatic aberration)从而保证镜头有优异光学表现代表镜头:80-200mm f/28D ED AF Zoom-Nikkor

G型镜头与D型镜头同该种镜头无光圈环设计光圈调整必须由机身来完成同时支援3D矩阵测光样设计减轻了镜头重量降低了生产成本该种镜头与F5、F100、F80、F65、F60、F55、F50、F401、PRONEA和D1机身完全相容对于F4、F90\F90X、F70、F801和F-601等机身只能使用程式曝光和快门优先曝光模式与剩下其机身相容G型Nikkor镜头操作更简便理论上没有误操作因无需手动设定小光圈塑料AF镜头延续针对些几乎从手动设定镜头摄影者现Nikon有G型头推广趋势代表镜头:28-80mm f/33-56G AF Zoom-NikkorIF : Internal Focusing内对焦技术所谓内对焦指镜头对焦时前组镜片都移动而由镜头内部对焦镜片组(focus lens group)浮动来完成对焦对焦时镜头长度保持变IF技术采用使快速而安静对焦变能代表镜头:85mm f/14D IF AF NikkorIX镜头1996年NikonAPS相机Pronea释出价廉、紧凑镜头性状与塑料AF-D镜头相同能适配于非APS机身减少了预留给反光镜空间意味着类镜头同用于35mm相机而且像场也太小足覆盖35mm胶片标准AF镜头却用于APS相机Micro : 微距镜头指只镜头微距镜头或有微距拍摄功能代表镜头:105mm f/28D AF Micro-Nikkor

N:New 新型Nikon些改进型镜头标志例著名AF 80-200/28D ED(N)

N/A:全时手动对焦

与佳能FTM样

P型镜头:内建CPU镜头

机身内建聚焦马达变应万变策略策略对巨大望远自动镜头并能灵使得Nikon新机身无法高效使用望远镜头1998年Nikon释出了内建了CPU手动聚焦长焦镜头(P)满足AF机身先进自动曝光功能从而部分地解决了问题尽管P型镜头看起来和AI-S镜头样些镜头却拥有AF镜头电子和大部分效能目前只有3支P型镜头:500/4 IF-ED、1200-1700/56-8 IF-ED和45/28PC - Shift:移轴镜头

移动镜头光轴调整透视镜头多用于建筑摄影

RF : Rear Focusing 组对焦技术

与IF同RF镜头由组镜片(rear lens groups)完成对焦由于组镜片比前组镜片要小易于驱动所保证了迅捷对焦速度而且镜头长度样变RF对改善成像质量亦有贡献代表镜头:85mm f/18D AF Nikkor

S:Slim 轻薄Nikon些薄型镜头标志例AIS 50/18SSIC:Super Integrated Coating 超级复合镀膜

TC :Teleconvertor 增距镜

VR : Vibration Reduction 电子减震系统

NIKON防手震镜头代号用于手持摄影低速快门时增加画面稳定效能支援VR机身有 F5、F100、F80、F65、D1、D100其余机身使用镜头支援VR功能代表镜头:80-400mm f/45-56D ED VR AF Zoom-Nikkor

镜头中的手动是什么意思

主要是手动对焦、设定光圈、快门。

例如:尼康相机使用手动镜头,需要手动设定光圈、快门、手动对焦。(D200以上机型可以测光,D80及以下机型不支援使用手动头测光)

尼康镜头中的if和ed是什么意思?

AF-S:超声波对焦技术

AF-I:早期的镜头自动对焦技术

D:3D矩阵测光技术

ED:超低色散镜片

VR:防抖动技术

G:无光圈调节环

D:自带传递距离给机身的功能

IF:内对焦技术

DC:散焦影像控制功能

DX:数码专用

ir的中文翻译是红外辐射、信息检索、伊利诺斯研究。

词汇分析

音标:[ai  ɑ:]

1、polymerization reaction successfully 

IR和DSC分析的结果表明,衣康酸(ITA)成功参与了壳层聚合反应。

2、In this paper, a new type IR detector with an optical readout system is developed 

本文提出了一种新型光学读出的红外探测仪。

3、Ir, UV and fluorescence spectrum of the two azo-pyrogallol reagents were studied 

研究了偶氮试剂的红外光谱、紫外光谱和荧光光谱特性。

4、Meanwhile, it has been analyzed by IR and physical-chemical properities of lysolecithin 

同时,研究了溶血磷脂基本理化指标和红外光谱分析。

5、IR and UV spectrums obtained showed that the lignin extracted by this method kept original structure 

紫外图谱和红外图谱显示该方法提取的木质素保持了木质素的原有结构。

红外镜头。ir全称IR镜头,就是红外镜头,它采用了特殊的光学玻璃材料,并用最新的光学设计方法,消除了可见光和红外光的焦面偏移,因此从可见光到红外光区的光线都可以在同一个焦面成像,使图像都能清晰。

投资者关系 (IR) 部门是企业的一个部门,通常是一家上市公司,其工作是为投资者提供有关公司事务的准确说明。这有助于私人和机构投资者就是否投资该公司做出明智的决定。

公司内部投资者关系部门的目标是帮助投资者在有关公司股权的行动中做出明智的决定。IR 部门通过向当前和潜在股东以及第三方股票研究分析师提供有关公司运营、财务报表的最新信息来做到这一点。

提供的材料可能包括定量财务文件,例如年度/季度报告,也可能包括定性信息,例如公司的商业模式和战略方向。信息定期通过公司网站上专门针对投资者关系的部分进行传播,也通过新闻稿和股东大会等活动进行传播。

如果做得正确,这将导致公司股价稳定,因为股东对公司业绩的预期是围绕管理层做出的实际决策正确制定的。一个积极的次要影响是公司被描绘成对潜在投资者有吸引力的积极(尽管是正确的)光。

沟通也是双向的;IR 部门还负责将公司重要利益相关者的意见转发给管理层。在危机时期(财务或其他),IR 部门将向管理层提供建议,以维护公司与其投资者的关系,并减轻对股价的任何损害。

IR 部门在公司的公司结构中的位置通常可以反映管理团队希望 IR 团队优先考虑的角色/目标。IR 部门通常是某些公司公共关系部门的一个子集,但也可以直接向首席财务官 (CFO)或财务部门报告。其他公司结构可能将其置于法律或会计部门之下,而少数公司将其作为独立部门。

投资者关系 (IR) 部门是企业的一个部门,通常是一家上市公司,其工作是为投资者提供有关公司事务的准确说明。这有助于私人和机构投资者就是否投资该公司做出明智的决定。

资格

要成为 IR 经理,公司通常需要金融、会计、通信、经济学或相关领域的学士学位。硕士学位(例如 MBA)不是必需的,但被视为资产。

投资者关系经理通常不被列为入门级职位。公司通常要求申请人在投资者关系、公共关系、金融投资、会计、法律和其他相关领域获得经验的职位上拥有两到七年的工作经验。强烈希望这些经验来自在有关投资者信息披露法的监管框架下运营的上市公司。与招聘公司在同一行业的经验也是一个加分项。

申请人必须表现出极强的沟通(口头、书面、图形)技能,以及发展和维持业务关系的能力。通常需要对财务报告、分析方法和财务数据工具有深入的了解。

由于需要处理和呈现大量数据,申请人应该对 MS Office 套件,特别是 Word、Excel、Access 和 PowerPoint 以及公司使用的 ERP 软件具有中高级水平。

作者丨BBuf

来源丨GiantPandaCV

编辑丨极市平台

torchfx 对于PyTorch来说确实是一个比较好的工作,因为它消除了一些动态图和静态图的Gap。比如在图改写方面, torchfx 让PyTorch想做一些其它静态图框架的算子融合优化非常容易。并且 torchfx 让后训练量化和感知训练量化以及AMP等的实现难度大大降低,这得益于我们可以直接在Python层操作这个IR,所以我认为这是一个不错的工作。尤其是对使用PyTorch开发的算法工程师来说,现在可以基于这个特性大开脑洞了。 torchfx 的卖点就是,它使用纯Python语言实现了一个可以捕获PyTorch程序的计算图并转化为一个IR的库,并且非常方便的在这个IR上做Pass,同时提供将变换后的IR Codegen合法的Python代码功能。我觉得算是达到了在Eager下写Pass就像做链表插入删除题目一样顺滑。

PyTorch FX论文的链接在: https://arxivorg/pdf/211208429pdf 。

下面我就以沐神的论文阅读顺序来分享一下阅读体验,帮助大家搞清楚PyTorch FX这个特性到底是什么,以及它可以在PyTorch中发挥什么作用。

摘要部分简单指明了像PyTorch这种基于动态图执行模式的深度学习框架虽然提升了用户的易用性。但是在一些真实场景中,用户可能是需要捕获和变换程序结构(也可以直接理解为神经网络的结构)来进行性能优化,可视化,分析和硬件调优等。为了解决这个痛点,PyTorch设计了 torchfx 这个模块来做PyTorch程序的捕获和变换,这个模块是纯Python开发的。

这一节主要是讲了一下 torchfx 的卖点,就是说动态图虽然易用性很强,但是图结构不能被提前感知和变换,但通过这篇论文的 torchfx 模块,这件事就成啦!

早期的图模式或者叫 define-and-run 的静态图框架有Caffe,TensorFlow等,它们设计了一个表示图的IR,用户通过调用这些框架提供的API来构建IR。然后我们可以在这个IR上做程序微分,将IR切分到设备上实现并行,量化,性能优化等等。但这些事情一般都要求开发者在领域特定的语言上去做,比如以OneFlow的静态图模式为例,要做图切分,量化,性能优化等都需要基于C++去开发,并且调试也会相对比较难(要借助pdb,gdb等等专业工具)。

现在的eager模式或者叫 define-by-run 的动态图框架有PyTorch,TensorFlow Eager模式等,它们可以随心所欲的让用户基于脚本语言编程并且可以解决大多数的训练(基于自动微分)和预测任务。但是有一些变换比如 「量化和算子融合」 是不能直接做的,而这一点在静态图模式下则很简单。为了消除这种Gap,动态图框架需要一种从用户的程序捕获图结构的方法来使能这些变换。

在捕获和变换程序时,eager和graph模式的深度学习框架都必须在 「捕获程序结构」 「程序特化」 「保存程序的IR的设计」 方面做出选择。这些选择的组合决定了可在框架中表示的 「程序空间」 「编写变换的难易程度」以及「生成的变换程序的性能」 「一般来说,支持程序的高性能运行需要更复杂的捕获框架和IR,从而使转换更难编写」 。每一段相关工作我就不详细过了,只描述每一段工作的核心是在说什么,相关细节大家可以查看原始论文。

这一节提到了PyTorch的 jittrace ,MxNet Gluon,TensorFlow的 tffunction 等程序捕获方法,并指出这些方法只能处理Python的一些子集。然后,TorchScript通过在AST上分析可以处理控制流和更多的Python语法。然后还提了一下Julia和Swift For TensorFlow中将捕获程序结构的接口集成到了非Python的宿主语言中,要使用的话需要用户放弃Python生态系统。

对于 a+b 这个Python语句来说,这个表达式对 a 和 b 的类型没有限制。但当深度学习框架捕获程序时一般会对这两个变量进行特化,以便它们只对特定类型或者张量有效。在深度学习框架中处理的大多数程序都是特化类型的程序,特化程度越高,能够处理的输入就越少。例如 torchjittrace 在执行trace的时候只能处理某些拥有合法输入shape的输入。接下来还讨论了LazyTensor和Jax的 jit 来说明为了更好的处理特化程序中捕获的失败,它们做了哪些努力。

深度学习框架都有自己的IR设计,Caffe和TensorFlow使用Protocol Buffers格式。而PyTorch和MxNet使用C++数据结构来表示IR并额外绑定到Python。这些IR设计在runtime阶段表现都会比较好并且可以统一被序列化。但从另外一个角度来说,这些IR表示相比于纯Python语言的表示都需要更高的学习成本。接下来,这一节讨论了控制流和状态的问题,用来表明要处理这些问题需要设计较为复杂的IR以及要基于这个IR做较为复杂的分析才行。

基于上面几点,论文提出了 torchfx 的基本设计原则:

这一节主要对一些相关工作进行了展开,以此来突出 torchfx 的核心卖点,就是说我虽然不能像TorchScript这样的IR处理一些比较难的Case(比如动态控制流),但是我在神经网络这个领域里做得够用就可以了。最关键的是我的实现很简单,是纯Python的库,这样用户写变换就会很简单,学习成本会很小并且易用。(简单不代表不强大!

以简单为基本原则, torchfx 通过符号跟踪来捕获程序,并通过一个简单的6个指令的IR来表示它们,并基于这个IR重新生成Python代码来运行它。为了避免JIT特化中的重捕获的复杂性, torchfx 没有对程序本身进行特化,而是依靠变换来决定在捕获期间需要实现哪些特化。用户也可以配置符号跟踪的过程来实现自定义捕获需求。

Figure1给我们展示了使用 torchfxsymbolic_trace 捕获程序的例子,输入可以是一个 torchnnModule 或者函数,并且捕获之后的结构被存在一个Graph对象里面。该 Graph 对象和 GraphModule 中的模块参数相结合, GraphModule 是 torchnnModule 的子类,其 forward 方法运行捕获的 Graph 。我们可以打印此图的 Nodes 以查看捕获的 IR。 placeholder 节点表示输入,单个 output 节点表示 Graph 的结果。 call_function 节点直接引用了它将调用的 Python 函数。 call_method 节点直接调用其第一个参数的方法。 Graph 被重组为 Python 代码( tracedcode )以供调用。

Figure2展示了使用 torchfx 进行变换的示例。变换是找到一个激活的所有实例并将它们替换为另一个。在这里,我们使用它来将 gelu 替换 relu 。

torchfx 的符号跟踪机制使用一个Proxy数据结构来记录给定一个输入之后经过了哪些Op。Proxy是一个duck-typed类型的Python类记录了在它之上的的属性访问和调用方法,是程序中真实Op的上层抽象。duck-typed可以看一下这里的介绍: https://zhwikipediaorg/wiki/%E9%B8%AD%E5%AD%90%E7%B1%BB%E5%9E%8B 。PyTorch的算子以及Python子集的某些函数都会被这个Proxy包装一次,然后在符号跟踪传入的是一个 nnModule 时,会对这个 nnModule 中的子 nnModule 也进行Proxy包装,当然还包含输入数据。这样程序中的输入和其它Op都是duck-typed类型的Proxy对象,我们就可以执行这个程序了,也就是符号跟踪的过程。符号跟踪的过程通过一个 Tracer 类进行配置,它的方法可以被重写以控制哪些值被作为Proxy对象保留,哪些值被unpack。(Proxy记录下来的Op可以进行unpack,unpack之后可以拿到真实的Tensor, Parameter和运算符等等)。通过Proxy和Tracer类的配合, torchfx 就可以完成PyTorch程序的符号跟踪,需要注意的是这里的符号跟踪的意思就是运行一遍这个被代理之后的 nnModule 的forward。

torchfx 的中间表示(IR)由一个Python数据结构 Graph 来做的。这个 Graph 实际上是一个包含一系列 Node 的线性表。节点有一个字符串操作码 opcode ,描述节点代表什么类型的操作(操作码的语义可以在附录 A1 中找到)。节点有一个关联的目标,它是调用节点( call_module 、 call_function 和 call_method )的调用目标。最后,节点有 args 和 kwargs ,在trace期间它们一起表示 Python 调用约定中的目标参数(每个opcode对应的 args 和 kwargs 的语义可以在附录 A2 中找到)。节点之间的数据依赖关系表示为 args 和 kwargs 中对其他节点的引用。

torchfx 将程序的状态存储在 GraphModule 类中。 GraphModule 是转换程序的容器,暴露转换后生成的代码,并提供 nnModule 类似的参数管理APIs。 GraphModule 可以在任何可以使用普通的 nnModule 的地方使用,以提供转换后的代码和PyTorch 生态系统的其余部分之间的互操作性。

torchfx 变换pipline的最后阶段是代码生成。 torchfx 并不是退出 Python 生态系统并进入定制的运行时,而是从变换后的 IR 生成有效的 Python 源代码。然后将此变换后的代码加载到 Python 中,生成一个可调用的 Python 对象,并作为 forward 方法安装在 GraphModule 实例上。使用代码生成允许将 torchfx 变换的结果安装在模型中并用于进一步的变换。例如,在图3中,我们拿到trace原始程序的结果并将其安装为新模块中的激活函数。

到这里PyTorch FX特性就精读完了,但查看FX的论文可以发现还有一节叫作Design Decisions,分别介绍了Symbolic Tracing,Configurable Program Capture,AoT Capture without Specialization,Python-based IR and Transforms等等FX实现中依赖的一些想法和 决策,以及它们的好处等。我理解这一节就是Introduction的加强版,所以就不继续讲解这一小节了,如果你担心会错过什么细节知识可以阅读论文原文。

torchfx 的一个目标就是简化深度学习模型产生的IR,下面的Figure5以ResNet50为例展示了TorchScript IR和 torchfx IR的差别,相比于TorchScript IR, torchfx IR确实简单并且可读性更强。

我们知道后量化以及量化感知训练可以提示程序推理时的性能,下面的Figure6就展示了基于 torchfx 实现的后量化(使用FBGEMM量化算子)应用在DeepRecommender模型之后,在Intel Xeon Gold 6138 CPU @200GHz上的性能表现。基于 torchfx 实现的后量化模型推理速度相比float类型的模型要高33倍。并且基于 torchfx 实现量化操作相比基于TorchScript IR要简单很多。

torchfx 还可以做Op融合,Figure7展示了基于 torchfx 做了Conv+BN融合后应用在ResNet50上,在n NVIDIA Tesla V100-SXM2 16GB with CUDA version 110 和 Intel Xeon Gold 6138 CPU @ 200GHz的性能表现,可以看到在GPU上减少了约6%的latency,在CPU上减少了约40%的latency(多线程)和约18%的latency(单线程)。

除此之外 torchfx 还可以应用在FLOPs计算,内存带宽使用分析,工作负载的数据值大小估计等,用来分析程序运行时的内存和速度。 torchfx 还可以用在形状推断,以及模型对应的DAG可视化作图等等。

最后, torchfx 在runtime阶段还支持通过ASIC加速(即将 torchfx 中的算子lowering到对应的ASIC上),下面的Figure8展示了基于 torchfx 推理ResNet50和LearningToPaint并将算子lowering到TensorRT之后的加速情况:

torchfx 对于PyTorch来说确实是一个比较好的工作,因为它消除了一些动态图和静态图的Gap。比如在图改写方面, torchfx 让PyTorch想做一些其它静态图框架的算子融合优化非常容易。并且 torchfx 让后训练量化和感知训练量化以及AMP等的实现难度大大降低,这得益于我们可以直接在Python层操作这个IR,所以我认为这是一个不错的工作。尤其是对使用PyTorch开发的算法工程师来说,现在可以基于这个特性大开脑洞了。我之前围绕FX也做了一个QAT的工作,感兴趣可以阅读:基于OneFlow实现量化感知训练: https://zhuanlanzhihucom/p/397650514

最后总结一下, torchfx 的卖点就是,它使用纯Python语言实现了一个可以捕获PyTorch程序的计算图并转化为一个IR的库,并且非常方便的在这个IR上做Pass,同时提供将变换后的IR Codegen合法的Python代码功能。我觉得算是达到了在Eager下写Pass就像做链表插入删除题目一样顺滑。

沐神的论文阅读方法,感觉确实比较科学,文章末尾再赞一次。

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/liwu/6756469.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-09-06
下一篇2023-09-06

发表评论

登录后才能评论

评论列表(0条)

    保存