Update 4_cifar10_tutorial.ipynb
This commit is contained in:
parent
80e87868c4
commit
633a7f341a
@ -188,7 +188,7 @@
|
||||
"\n",
|
||||
"2. 定义一个卷积神经网络\n",
|
||||
"-------------------------------\n",
|
||||
"从之前的神经网络一节复制神经网络代码,并修改为输入3通道图像\n"
|
||||
"从之前的神经网络一节复制神经网络代码,并修改为输入3通道图像。\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -228,11 +228,11 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"3. 定义损失函数和优化器\n",
|
||||
"----------------------------------------\n",
|
||||
"\n",
|
||||
"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
||||
"\n",
|
||||
"我们使用交叉熵作为损失函数,使用带动量的随机梯度下降.\n",
|
||||
"我们使用交叉熵作为损失函数,使用带动量的随机梯度下降。\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
@ -252,11 +252,11 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"4. 训练网路\n",
|
||||
"\n",
|
||||
"^^^^^^^^^^^^^^^^^^^^\n",
|
||||
"有趣的时刻开始了.\n",
|
||||
"我们只需在数据迭代器上循环,将数据输入给网络,并优化.\n",
|
||||
"--------------------------------\n",
|
||||
"有趣的时刻开始了。\n",
|
||||
"我们只需在数据迭代器上循环,将数据输入给网络,并优化。\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
@ -296,13 +296,14 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"5. 在测试集上测试网络\n",
|
||||
"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
||||
"\n",
|
||||
"我们在整个训练集上进行了2次训练,但是我们需要检查网络是否从数据集中学习到游泳东西.\n",
|
||||
"通过预测神经网络输出的类别标签与实际情况标签进行对比来进行检测.\n",
|
||||
"如果预测正确,我们把该样本添加到正确预测列表.\n",
|
||||
"第一步,显示测试集中的图片并熟悉图片内容.\n",
|
||||
"5. 在测试集上测试网络\n",
|
||||
"-------------------------------------\n",
|
||||
"\n",
|
||||
"我们在整个训练集上进行了2次训练,但是我们需要检查网络是否从数据集中学习到有用的东西。\n",
|
||||
"通过预测神经网络输出的类别标签与实际情况标签进行对比来进行检测。\n",
|
||||
"如果预测正确,我们把该样本添加到正确预测列表。\n",
|
||||
"第一步,显示测试集中的图片并熟悉图片内容。\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
@ -361,8 +362,8 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"输出是10个标签的能量.\n",
|
||||
"一个类别的能量越大,神经网络越认为他是这个类别.所以让我们得到最高能量的标签.\n"
|
||||
"输出是10个标签的能量。\n",
|
||||
"一个类别的能量越大,神经网络越认为它是这个类别。所以让我们得到最高能量的标签。\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -389,9 +390,9 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"结果看来不错.\n",
|
||||
"结果看来不错。\n",
|
||||
"\n",
|
||||
"接下来让看看网络在整个测试集上的结果如何.\n",
|
||||
"接下来让看看网络在整个测试集上的结果如何。\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
@ -427,7 +428,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"结果看起来不错,至少比随机选择要好,随机选择的正确率为10%。\n",
|
||||
"结果看起来不错,至少比随机选择要好,随机选择的正确率为10%。\n",
|
||||
"似乎网络学习到了一些东西\n",
|
||||
"\n",
|
||||
"\n",
|
||||
@ -488,7 +489,7 @@
|
||||
"\n",
|
||||
"在GPU上训练\n",
|
||||
"----------------\n",
|
||||
"把一个神经网络移动到GPU上训练就像把一个Tensor转换GPU上一样简单.并且这个操作会递归遍历有所模块,并将其参数和缓冲区转换为CUDA张量.\n"
|
||||
"把一个神经网络移动到GPU上训练就像把一个Tensor转换GPU上一样简单。并且这个操作会递归遍历有所模块,并将其参数和缓冲区转换为CUDA张量。\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -499,7 +500,7 @@
|
||||
"source": [
|
||||
"device = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n",
|
||||
"\n",
|
||||
"# 确认我们的电脑支持 CUDA ,然后显示CUDA信息:\n",
|
||||
"# 确认我们的电脑支持CUDA,然后显示CUDA信息:\n",
|
||||
"\n",
|
||||
"print(device)"
|
||||
]
|
||||
@ -519,21 +520,21 @@
|
||||
" net.to(device)\n",
|
||||
"```\n",
|
||||
"\n",
|
||||
"记住: inputs 和targets 也要转换\n",
|
||||
"记住:inputs 和 targets 也要转换\n",
|
||||
"\n",
|
||||
"```python\n",
|
||||
"\n",
|
||||
" inputs, labels = inputs.to(device), labels.to(device)\n",
|
||||
"```\n",
|
||||
"为什么我们没注意到GPU的速度提升很多?那是因为网络非常的小.\n",
|
||||
"为什么我们没注意到GPU的速度提升很多?那是因为网络非常的小。\n",
|
||||
"\n",
|
||||
"**实践:** \n",
|
||||
"尝试增加你的网络的宽度(第一个``nn.Conv2d``的第2个参数, 第二个``nn.Conv2d``的第一个参数,他们需要是相同的数字),看看你得到了什么样的加速.\n",
|
||||
"尝试增加你的网络的宽度(第一个``nn.Conv2d``的第2个参数,第二个``nn.Conv2d``的第一个参数,它们需要是相同的数字),看看你得到了什么样的加速。\n",
|
||||
"\n",
|
||||
"**实现的目标**:\n",
|
||||
"\n",
|
||||
"- 深入了解了PyTorch的张量库和神经网络\n",
|
||||
"- 训练了一个小网络来分类图片.\n",
|
||||
"- 训练了一个小网络来分类图片。\n",
|
||||
"\n",
|
||||
"***译者注:后面我们教程会训练一个真正的网络,使识别率达到90%以上***\n",
|
||||
"\n",
|
||||
@ -542,7 +543,7 @@
|
||||
"如果你想使用所有的GPU得到更大的加速,\n",
|
||||
"请查看 :doc:`data_parallel_tutorial`.\n",
|
||||
"\n",
|
||||
"下一步?\n",
|
||||
"下一步?\n",
|
||||
"-------------------\n",
|
||||
"\n",
|
||||
"\n",
|
||||
|
Loading…
Reference in New Issue
Block a user