本文简要介绍python语言中 torch.fx.Proxy
的用法。
用法:
class torch.fx.Proxy(node, tracer=None)
Proxy
对象是Node
包装器,在符号跟踪期间流经程序,并记录它们接触到不断增长的 FX Graph 的所有操作(torch
函数调用、方法调用、运算符)。如果您正在执行图形转换,您可以将自己的
Proxy
方法包装在原始Node
周围,以便您可以使用重载的运算符向Graph
添加其他内容。Proxy
对象无法迭代。换句话说,如果在循环中使用Proxy
或作为*args
/**kwargs
函数参数,符号跟踪器将引发错误。解决这个问题的主要方法有两种: 1. 将无法追踪的逻辑分解为顶级函数并在其上使用
fx.wrap
。 2. 如果控制流是静态的(即循环行程计数基于某个超参数),代码可以保持在其原始位置并重构为:for i in range(self.some_hyperparameter): indexed_item = proxied_value[i]
有关代理内部的更详细说明,请查看
torch/fx/OVERVIEW.md
中的 “Proxy” 部分注意
保证此 API 的向后兼容性。
相关用法
- Python PyTorch PackageImporter.id用法及代码示例
- Python PyTorch PoissonNLLLoss用法及代码示例
- Python PyTorch PixelShuffle用法及代码示例
- Python PyTorch Pipe用法及代码示例
- Python PyTorch ParagraphAggregator用法及代码示例
- Python PyTorch PooledEmbeddingsAllToAll用法及代码示例
- Python PyTorch PackageExporter.register_extern_hook用法及代码示例
- Python PyTorch Poisson用法及代码示例
- Python PyTorch Perceptron用法及代码示例
- Python PyTorch ParallelReadConcat用法及代码示例
- Python PyTorch ParameterList用法及代码示例
- Python PyTorch PairwiseDistance用法及代码示例
- Python PyTorch ParquetDataFrameLoader用法及代码示例
- Python PyTorch PackageExporter.register_intern_hook用法及代码示例
- Python PyTorch PixelUnshuffle用法及代码示例
- Python PyTorch ParameterDict用法及代码示例
- Python PyTorch PitchShift用法及代码示例
- Python PyTorch Pareto用法及代码示例
- Python PyTorch PackageExporter.close用法及代码示例
- Python PyTorch PooledEmbeddingsReduceScatter用法及代码示例
- Python PyTorch PackageExporter.register_mock_hook用法及代码示例
- Python PyTorch PReLU用法及代码示例
- Python PyTorch frexp用法及代码示例
- Python PyTorch jvp用法及代码示例
- Python PyTorch cholesky用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.fx.Proxy。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。