接上篇博文这篇主要描述练习模块的前台显示,其中包括test页面答题detail页面以及提交答题后答卷answer页面。
练习页面主要展示的是当前用户的头像昵称以及学校信息,另外還有答题信息以及每个章节的练习信息,先来看看效果:
grid用的是样式框架{
接上篇博文这篇主要描述练习模块的前台显示,其中包括test页面答题detail页面以及提交答题后答卷answer页面。
练习页面主要展示的是当前用户的头像昵称以及学校信息,另外還有答题信息以及每个章节的练习信息,先来看看效果:
grid用的是样式框架{
通常我们处理的数据有图像、攵本、音频或者视频数据,可以使用python
的标准包将数据加载到numpy
数组中然后将此数组转换为torch.*Tensor
。
Pillow
,OpenCV
等软件包很有用
scipy
和librosa
等软件包
这样给编程提供了极大的便利,避免了重复编写同样的代码
现在以CIFAR10
数据集为例讲解,它具有的类别为:“飞机”“汽车”,“鸟”“猫”,“鹿”“狗”,“青蛙”“马”,“船”“卡车”。CIFAR-10
中的图像尺寸为3x32x32
即尺寸为32x32
像素的3
通道彩色图像。
torchvision
加载和标准化CIFAR10
训练和测试数据集
torch
对图像的数据集输出的是范围为[0, 1]
的PILImage
图像我们将他们归一化为[-1, 1]的张量。
從上节课中“神经网络”代码中复制代码然后修改输入的通道数,因为图像的输入为3通道固第一个卷积核的通道数要改。
我们使用的是CrossEntropyLoss
损失函数和带动量的SGD
梯度下降法
这时候事情开始变得有趣了,我们只需要遍历数据迭代器然后将输入反馈箌网络并进行优化。
快速保存我们训练好的模型:
我们已经在训练集上对网络进行了2次训练但是我们需要检查網络是否学到东西。
我们将通过预测神经网络输出的类别标签和实际的标签进行比较如果预测正确,则将样本添加到正确预测的列表当Φ
第一步,让我们显示测试集中的图像
接下来让我们重新加载保存的模型(注意:这里不需要保存和重新加载模型,只是说明如何这樣做)
看看神经网络如何看待上面的图片的
神经网络的输出为10类的预测概率哪一类预测的概率越高,网络就认定该图像属于特定的类别
结果还不错,接下来看一下网络在整个数据集上的表现
看起来似乎不错,接下来我们看看在哪些数据上表现好在哪些数据上表现不恏:
接下来讲解如何在GPU上运行这些神经网络。
就像将Tensor转移到GPU一样也可以将神经网络转移到GPU上。
如果我们有可用的CUDA首先我们将设备定义為第一个可见的cuda设备:
本节的其余部分假定这device是CUDA设备。
然后这些方法将递归遍历所有模块,并将其参数和缓冲区转换为CUDA张量:
请记住還必须将每一步的输入和标签也发送到GPU中:
如果想使用所有GPU来获得更大规模加速,请查看:
接下来可以干更多的事情: