python类和对象
- python类和对象
- 参数管理
- 参数访问
- 卷积
python类和对象
参数管理
生成一个二维张量,然后传入有但隐藏层的多层感知机
参数访问
net[0] nn.Linear(4,8) net[1] nn.ReLU() net[2] nn.Linear(8,1)
net[2].state_dict()访问最后一层的参数即权重和偏置
内部表示
修改默认的初始函数,normal_ zeros_()
m.weight.data*= m.weight.data.abs()>=5 将权重数据中绝对值大于等于5的部分保留下来,而小于5的部分置为0。m.weight.data是变量m的权重数据,m.weight.data.abs()是m.weight.data的绝对值。条件表达式m.weight.data.abs()>=5会返回一个布尔值的张量,表示m.weight.data的绝对值是否大于等于5。然后,将这个布尔值的张量与m.weight.data相乘,即将满足条件的权重数据乘以1,不满足条件的权重数据乘以0。
不同网络之间权重共享
在GPU上做运算
卷积
两个原则:平移不变性,局部性
局部连接,权值共享
卷积代码
X是输入,K是输出
填充
填充和步幅是卷积层的超参数
填充在输入周围添加额外的行\列,控制输出形状的减少量
步幅是每次滑动和核窗口时行的步长,可以成倍的减少输出的形状
多个输入通道:
彩色图像可能有RGB三个通道
1*1卷积 它不识别空间模式,只是融合通道