B站 刘二大人:卷积神经网络(高级篇)
目录
1、超参数
在机器学习的上下文中,超参数是在开始学习过程之前设置值的参数。 相反,其他参数的值通过训练得出。
超参数:
-
定义关于模型的更高层次的概念,如复杂性或学习能力。
-
不能直接从标准模型培训过程中的数据中学习,需要预先定义。
-
可以通过设置不同的值,训练不同的模型和选择更好的测试值来决定
超参数的一些示例:
-
树的数量或树的深度
-
矩阵分解中潜在因素的数量
-
学习率(多种模式)
-
深层神经网络隐藏层数
-
k均值聚类中的簇数
2、1x1卷积核
使用1x1卷积核虽然参数量增加了,但是能够显著降低计算量。
3、初始模块代码实现
代码如下:
import torch
import torch.nn as nn
from torchvision import transforms
from torchvision import datasets
from torch.utils.data import DataLoader
import torch.nn.functional as F
import torch.optim as optim
import matplotlib.pyplot as plt
# prepare dataset
batch_size = 64
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))]) # 归一化,均值和方差
train_dataset = datasets.MNIST(root='../dataset/mnist/', train=True, download=True, transform=transform)
train_loader = DataLoader(train_dataset, shuffle=True, batch_size=batch_size)
test_dataset = datasets.MNIST(root='../dataset/mnist/', train=False, download=True, transform=transform)
test_loader = DataLoader(test_dataset, shuffle=False, batch_siz