混沌# Autograd 机制 autograd 如何编码历史 保存张量 不可微函数的梯度 局部禁用梯度计算 requires_grad grad 模式 默认模式(grad 模式) no-grad 模式 inference 模式 eval 模式(torch.nn.Module.eval()) 具有 autograd 的 in-place 运算 in-place 正确性检查 多线程 Autograd CPU 并发性 Non-determinism Graph retaining Autograd 节点上的线程安全 C++ 钩子上没有线程安全 复数的 Autograd 什么是复导数? Wirtinger Calculus comes in picture ... How is Wirtinger Calculus useful in optimization? How does PyTorch compute the conjugate Wirtinger derivative? How can I write my own derivative formula for a complex function? What about cross-domain functions? 钩子用于保存张量 为保存的张量注册钩子 为保存的张量注册默认挂钩 自动微分 张量、函数和计算图 计算梯度 禁用梯度追踪 更多关于计算图的内容 选读:张量梯度和雅可比积 PyTorch Benchmark 定义 benchmark 函数 使用 timeit.Timer 作基准测试 使用 torch.utils.benchmark.Timer 作基准测试 Blocked Autorange 基准测试 比较基准测试结果 保证和加载基准测试结果 生成带有模糊参数的输入 使用 Callgrind 收集指令计数 Extending PyTorch Extending torch.autograd When to use When not to use How to use Example Forward mode AD Extending torch.nn Adding a Module Extending torch Extending torch with a Tensor-like type Subclassing torch.Tensor Extending torch with a Tensor wrapper type Operations on multiple types that define __torch_function__ Testing Coverage of Overrides for the PyTorch API Writing custom C++ extensions Writing custom C extensions 其他临时区 PyTorch 参数管理 参数访问 目标参数 一次性访问所有参数 参数绑定 参数初始化 内置初始化 自定义初始化 延迟初始化 性能评估 时间分析 分析内存消耗 使用追踪功能 检查堆栈跟踪 将数据可视化为 flamegraph 分析 long-running jobs Pytorch 梯度归零