Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
pytorch-doc-zh
提交
b67b8bc8
P
pytorch-doc-zh
项目概览
OpenDocCN
/
pytorch-doc-zh
通知
120
Star
3932
Fork
992
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pytorch-doc-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
b67b8bc8
编写于
4月 12, 2021
作者:
片刻小哥哥
提交者:
GitHub
4月 12, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #548 from GZYZG/master
Update autograd_tutorial.md
上级
09d11048
21d7b12e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
7 deletion
+7
-7
docs/1.4/blitz/autograd_tutorial.md
docs/1.4/blitz/autograd_tutorial.md
+7
-7
未找到文件。
docs/1.4/blitz/autograd_tutorial.md
浏览文件 @
b67b8bc8
...
...
@@ -4,7 +4,7 @@
> 译者:[bat67](https://github.com/bat67)
>
> 校验者:[
FontTian](https://github.com/fonttian
)
> 校验者:[
GZYZG](https://github.com/GZYZG
)
PyTorch中,所有神经网络的核心是
`autograd`
包。先简单介绍一下这个包,然后训练我们的第一个的神经网络。
...
...
@@ -14,7 +14,7 @@ PyTorch中,所有神经网络的核心是 `autograd` 包。先简单介绍一
## 张量
`torch.Tensor`
是这个包的核心类。如果设置它的属性
`.requires_grad`
为
`True`
,那么
它
将会追踪对于该张量的所有操作。当完成计算后可以通过调用
`.backward()`
,来自动计算所有的梯度。这个张量的所有梯度将会自动累加到
`.grad`
属性.
`torch.Tensor`
是这个包的核心类。如果设置它的属性
`.requires_grad`
为
`True`
,那么
`autograd`
将会追踪对于该张量的所有操作。当完成计算后可以通过调用
`.backward()`
,来自动计算所有的梯度。这个张量的所有梯度将会自动累加到
`.grad`
属性.
要阻止一个张量被跟踪历史,可以调用
`.detach()`
方法将其与计算历史分离,并阻止它未来的计算记录被跟踪。
...
...
@@ -115,7 +115,7 @@ True
out
.
backward
()
```
输出导数
`d(out)/dx`
输出导数
$
\f
rac{d(out)}{dx}$
```
python
print
(
x
.
grad
)
...
...
@@ -130,9 +130,9 @@ tensor([[4.5000, 4.5000],
我们的得到的是一个数取值全部为
`4.5`
的矩阵。
让我们来
调用
`out`
张量
`o`
。
让我们来
推导
`out`
在
`x`
上的梯度
张量
`o`
。
就
可以得到 $$o =
\f
rac{1}{4}
\s
um_i z_i$$,$$z_i = 3(x_i+2)^2$$ 和 $$z_i
\b
igr
\r
vert_{x_i=1} = 27$$ 因此, $$
\f
rac{
\p
artial o}{
\p
artial x_i} =
\f
rac{3}{2}(x_i+2)$$,因而 $$
\f
rac{
\p
artial o}{
\p
artial x_i}
\b
igr
\r
vert_{x_i=1} =
\f
rac{9}{2} = 4.5$$。
可以得到 $$o =
\f
rac{1}{4}
\s
um_i z_i$$,$$z_i = 3(x_i+2)^2$$ 和 $$z_i
\b
igr
\r
vert_{x_i=1} = 27$$ 因此, $$
\f
rac{
\p
artial o}{
\p
artial x_i} =
\f
rac{3}{2}(x_i+2)$$,因而 $$
\f
rac{
\p
artial o}{
\p
artial x_i}
\b
igr
\r
vert_{x_i=1} =
\f
rac{9}{2} = 4.5$$。
数学上,若有向量值函数 $$
\v
ec{y}=f(
\v
ec{x})$$,那么 $$
\v
ec{y}$$ 相对于 $$
\v
ec{x}$$ 的梯度是一个雅可比矩阵:
...
...
@@ -166,7 +166,7 @@ $$
雅可比向量积的这一特性使得将外部梯度输入到具有非标量输出的模型中变得非常方便。
现在我们来看一个雅可比向量积的例子:
现在我们来看一个雅可比向量积
(vector-Jacobian product)
的例子:
```
python
x
=
torch
.
randn
(
3
,
requires_grad
=
True
)
...
...
@@ -200,7 +200,7 @@ print(x.grad)
tensor
([
4.0960e+02
,
4.0960e+03
,
4.0960e-01
])
```
也可以通过将代码块包装在
`with torch.no_grad():`
中,来阻止autograd跟踪
设置了
`.requires_grad=True`
的张量的历史记录。
也可以通过将代码块包装在
`with torch.no_grad():`
中,来阻止autograd跟踪
`.requires_grad=True`
的张量的历史记录。
```
python
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录