Update 2_autograd_tutorial.ipynb
Typos fixed.
This commit is contained in:
parent
97f0f9de2f
commit
a1a27658dd
@ -17,11 +17,11 @@
|
||||
"Autograd: 自动求导机制\n",
|
||||
"===================================\n",
|
||||
"\n",
|
||||
"PyTorch 中所有神经网络的核心是 ``autograd`` 包.\n",
|
||||
"我们先简单介绍一下这个包,然后训练第一个简单的神经网络.\n",
|
||||
"PyTorch 中所有神经网络的核心是 ``autograd`` 包。\n",
|
||||
"我们先简单介绍一下这个包,然后训练第一个简单的神经网络。\n",
|
||||
"\n",
|
||||
"``autograd``包为张量上的所有操作提供了自动求导.\n",
|
||||
"它是一个在运行时定义的框架,这意味着反向传播是根据你的代码来确定如何运行,并且每次迭代可以是不同的.\n",
|
||||
"``autograd``包为张量上的所有操作提供了自动求导。\n",
|
||||
"它是一个在运行时定义的框架,这意味着反向传播是根据你的代码来确定如何运行,并且每次迭代可以是不同的。\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"示例\n",
|
||||
@ -29,14 +29,14 @@
|
||||
"张量(Tensor)\n",
|
||||
"--------\n",
|
||||
"\n",
|
||||
"``torch.Tensor``是这个包的核心类.如果设置\n",
|
||||
"``.requires_grad`` 为 ``True``, 那么将会追踪多有对于该张量的操作. \n",
|
||||
"当完成计算后通过调用 ``.backward()``会自动计算所有的梯度.\n",
|
||||
"这个张量的所有梯度将会自动积累到 ``.grad`` 属性.\n",
|
||||
"``torch.Tensor``是这个包的核心类。如果设置\n",
|
||||
"``.requires_grad`` 为 ``True``,那么将会追踪所有对于该张量的操作。 \n",
|
||||
"当完成计算后通过调用 ``.backward()``,自动计算所有的梯度,\n",
|
||||
"这个张量的所有梯度将会自动积累到 ``.grad`` 属性。\n",
|
||||
"\n",
|
||||
"要阻止张量跟踪历史记录,可以调用``.detach()``方法将其与计算历史记录分离,并禁止跟踪它将来的计算记录。\n",
|
||||
"要阻止张量跟踪历史记录,可以调用``.detach()``方法将其与计算历史记录分离,并禁止跟踪它将来的计算记录。\n",
|
||||
"\n",
|
||||
"为了防止跟踪历史记录(和使用内存),可以将代码块包装在``with torch.no_grad():``中。\n",
|
||||
"为了防止跟踪历史记录(和使用内存),可以将代码块包装在``with torch.no_grad():``中。\n",
|
||||
"在评估模型时特别有用,因为模型可能具有`requires_grad = True`的可训练参数,但是我们不需要梯度计算。\n",
|
||||
"\n",
|
||||
"在自动梯度计算中还有另外一个重要的类``Function``.\n",
|
||||
@ -48,11 +48,11 @@
|
||||
"``grad_fn is None``).\n",
|
||||
"\n",
|
||||
"``Tensor`` 和 ``Function``互相连接并生成一个非循环图,它表示和存储了完整的计算历史。\n",
|
||||
"每个张量都有一个``.grad_fn``属性,这个属性引用了一个创建了``Tensor``的``Function``(除非这个张量是用户手动创建的 即 这个张量的\n",
|
||||
"每个张量都有一个``.grad_fn``属性,这个属性引用了一个创建了``Tensor``的``Function``(除非这个张量是用户手动创建的,即,这个张量的\n",
|
||||
"``grad_fn`` 是 ``None``)。\n",
|
||||
"\n",
|
||||
"如果需要计算导数,你可以在``Tensor``上调用``.backward()``。 \n",
|
||||
"如果``Tensor``是一个标量(即它包含一个元素数据)则不需要为``backward()``指定任何参数,\n",
|
||||
"如果需要计算导数,你可以在``Tensor``上调用``.backward()``。 \n",
|
||||
"如果``Tensor``是一个标量(即它包含一个元素数据)则不需要为``backward()``指定任何参数,\n",
|
||||
"但是如果它有更多的元素,你需要指定一个``gradient`` 参数来匹配张量的形状。\n"
|
||||
]
|
||||
},
|
||||
@ -132,7 +132,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"结果``y``已经被计算出来了,所以 , ``grad_fn``已经被自动生成了.\n",
|
||||
"结果``y``已经被计算出来了,所以,``grad_fn``已经被自动生成了。\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
@ -186,8 +186,8 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"``.requires_grad_( ... )`` 改变了现有张量的 ``requires_grad``\n",
|
||||
".如果没有指定的话,默认输入的flag是 ``False``.\n",
|
||||
"``.requires_grad_( ... )`` 可以改变现有张量的 ``requires_grad``属性。\n",
|
||||
"如果没有指定的话,默认输入的flag是 ``False``。\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
@ -223,7 +223,7 @@
|
||||
"梯度\n",
|
||||
"---------\n",
|
||||
"反向传播\n",
|
||||
"因为 ``out``是一个纯量(scalar), ``out.backward()`` 等于``out.backward(torch.tensor(1))``.\n",
|
||||
"因为 ``out``是一个纯量(scalar),``out.backward()`` 等于``out.backward(torch.tensor(1))``。\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
@ -334,7 +334,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"如果``.requires_grad=True``但是你有不希望进行autograd的计算,\n",
|
||||
"如果``.requires_grad=True``但是你又不希望进行autograd的计算,\n",
|
||||
"那么可以将变量包裹在 ``with torch.no_grad()``中:\n"
|
||||
]
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user