
李沐机器学习
https://zh.d2l.ai/chapter_preliminaries/ndarray.html
学习笔记
没有出口的猎户座
这个作者很懒,什么都没留下…
展开
-
P28 批量归一化BatchNormalization
数学不是很懂, 不过那个简洁实现的方法还可以看一看。4. 在Fashion-MNIST数据集上训练网络。2. 创建一个batchNorm的图层。3. 在LeNet上的应用。原创 2022-09-06 10:39:27 · 161 阅读 · 0 评论 -
P27 含并行连结的网络 GoogLeNet / Inception V3
5.后面还有其他变种,比如最著名的InceptionV3-ResNet,还有我用的Xception。和3x3,5x5的卷积相比,Inception块有更少的参数个数和计算复杂度。2.最好的卷积层超参数是什么?GoogLeNet表示全部都要。#用Fashion-MNIST测试,把图片的高和宽变成了96。pycharm不能显示图片很遗憾。3.Inception块是核心。里面的数字不知道怎么来的(原话。4.有五段,五个stage。原创 2022-09-04 11:53:40 · 380 阅读 · 0 评论 -
P26网络中的NiN
本质是NiN块,用1*1的卷积网络取代全连接层import torchfrom torch import nnfrom d2l import torch as d2l#显卡print(torch.cuda.device_count())print(torch.cuda.is_available())print(torch.backends.cudnn.is_available())print(torch.cuda_version)print(torch.backends.cudnn.原创 2022-04-19 05:11:34 · 132 阅读 · 0 评论 -
P24 VGG网络
重点是VGG块import torchfrom torch import nnfrom d2l import torch as d2ldef vgg_block(num_convs, in_channels, out_channels): #创建VGG块 layers = [] for _ in range(num_convs): layers.append(nn.Conv2d(in_channels, out_channels,原创 2022-04-18 05:58:49 · 772 阅读 · 0 评论 -
P24 AlexNet深度卷积神经网络
论文参考沐深的读论文视频import torchfrom torch import nnfrom matplotlib import pyplot as pltfrom d2l import torch as d2l#根据教科书上AlexNet的结构来写net = nn.Sequential( nn.Conv2d(1,96,kernel_size=11,stride=4,padding=1),nn.ReLU(), #这里用的Fashion-MNIST所以输入通道是1,灰度原创 2022-04-16 04:06:39 · 797 阅读 · 0 评论 -
P23 LeNet经典神经网络模型
LeNet(LeNet-5) 由两个部分组成:卷积编码器和全连接层密集块import torchfrom matplotlib import pyplot as pltfrom torch import nnfrom d2l import torch as d2lclass Reshape(torch.nn.Module): #原始输入是32*32 def forward(self,x): return x.view(-1,1,28,28) #28*28的图.原创 2022-04-14 10:43:29 · 469 阅读 · 0 评论 -
P22 池化层
实现池化层的正向传播import torchfrom torch import nnfrom d2l import torch as d2ldef pool2d(X,pool_size,mode='max'): p_h,p_w = pool_size #定义池化层的高和宽 Y = torch.zeros((X.shape[0] - p_h + 1, X.shape[1] - p_w + 1)) #输入的高 - 池化层的高 + 1,没有padding没有stride,宽度原创 2022-04-13 12:37:57 · 303 阅读 · 0 评论 -
P21 卷积层里的多输入多输出通道
##实现多输入通道互相关运算import torchfrom d2l import torch as d2ldef corr2d_multi_in(X,K): #用corr2d这个函数,假设X和k都是3d的,把X和k打包zip起来 return sum(d2l.corr2d(x,k) for x,k in zip (X,K))##验证互相关运算的输出X = torch.tensor([[[0.0,1.0,2.0],[3.0,4.0,5.0],[6.0,7.0,8.0]],.原创 2022-04-12 07:56:28 · 255 阅读 · 1 评论 -
P20 卷积层里的填充和步幅
这次的重点就是公式#在所有侧边填充1个像素import torchfrom torch import nn#目前的输入是一个矩阵,不考虑通道和batch sizedef comp_conv2d(conv2d,X): X = X.reshape((1,1) + X.shape) #(1,1)分别代表纬度数=1 和batch size =1 Y = conv2d(X) return Y.reshape(Y.shape[2:])#返回的是一个四维的东西,.原创 2022-04-11 04:33:25 · 194 阅读 · 0 评论 -
P19 卷积层
import torchfrom torch import nnfrom d2l import torch as d2ldef corr2d(X,K): #计算二维互相关运算 h,w = K.shape #kernel核矩阵 K.shape里有h和w,表示行数和列数/高和宽 Y = torch.zeros((X.shape[0] - h + 1, X.shape[1] - w + 1)) #输出Y的高度:X.shape[0] - h + 1 输入的高h - kernel的高h +.原创 2022-04-09 23:44:55 · 431 阅读 · 0 评论 -
P15 实战:Kaggle房价预测
1.实现几个函数来方便下载数据(自己定义函数,下载并返回文件名)import需要的库 + 找到数据的位置import hashlibimport osimport tarfileimport zipfileimport requestsDATA_HUB = dict()DATA_URL = 'http://d2l-data.s3-accelerate.amazonaws.com/'使用download函数下载数据集,将数据集存在本地(默认情况为.../data),并返回下载文原创 2022-03-22 10:19:56 · 3186 阅读 · 0 评论 -
P12 权重衰退
通过限制参数值的选择范围,来控制模型容量通过拉朗格日乘子来证明总之都是为了模型精确,数学原理不懂#weight decayimport torchfrom torch import nnfrom d2l import torch as d2ln_train, n_test, num_inputs, batch_size = 20, 100, 200, 5true_w, true_b = torch.ones((num_inputs, 1)) * 0.01, 0.05 #0.01原创 2022-03-04 12:16:18 · 153 阅读 · 0 评论 -
P11 模型的选择+过拟合欠拟合
#模型选择 欠拟合 过拟合import mathimport numpy as npimport torchfrom torch import nnfrom d2l import torch as d2l#通过多项式拟合来交互地探索这些概念:用三阶多项式max_degree = 20 #特征为20,20-d的向量n_train,n_test = 100,100 #100个训练样本,100个测试样本true_w = np.zeros(max_degree)true_w[0:4] = .原创 2022-03-04 11:10:52 · 234 阅读 · 0 评论 -
P10 多层感知机
#多层感知机从0开始实现import torchfrom torch import nnfrom d2l import torch as d2limport torchvisionfrom torch.utils import datafrom torchvision import transforms#读取MNIST数据trans = transforms.ToTensor()mnist_train = torchvision.datasets.FashionMNIST( .原创 2022-03-04 11:02:31 · 154 阅读 · 0 评论 -
09 Softmax 回归 + 损失函数 + 图片分类数据集-P4
3.6. softmax回归的从零开始实现1.预备库、参数#从里开始softmax从零开始的实现(所有深度学习模型的基础)from IPython import displayfrom d2l import torch as d2lbatch_size = 256train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)num_inputs = 784 #28*28=784num_outputs = 10 #模型原创 2022-02-12 07:04:12 · 1196 阅读 · 7 评论 -
09 Softmax 回归 + 损失函数 + 图片分类数据集-P3
练习Fashion-MNIST 数据集和书上(Hands-on Machine Learning with Scikit-Learning)Chpater3的理论知识一样,可结合一起看,但是书上Chapter3的MNIST数据集根本不能导入import torchimport torchvisionfrom torch.utils import datafrom torchvision import transformsfrom d2l import torch as d2lfrom原创 2022-02-10 06:11:15 · 228 阅读 · 0 评论 -
08 线性回归 + 基础优化算法-P3:线性回归的简洁实现
在过去的几年里,出于对深度学习强烈的兴趣, 许多公司、学者和业余爱好者开发了各种成熟的开源框架。 这些框架可以自动化基于梯度的学习算法中重复性的工作。 在3.2节中,我们只运用了: (1)通过张量来进行数据存储和线性代数; (2)通过自动微分来计算梯度。 实际上,由于数据迭代器、损失函数、优化器和神经网络层很常用, 现代深度学习库也为我们实现了这些组件。介绍如何通过使用深度学习框架来简洁地实现3.2节中的线性回归模型。1.生成数据集import numpy as npimport...原创 2022-02-07 12:38:40 · 959 阅读 · 0 评论 -
08 线性回归 + 基础优化算法【动手学深度学习v2】
‘torch.Size‘ object is not callable正确写法:return X,y.reshape(-1,1) #把x和y做成一个列向量返回错误写法:return X,y.shape(-1,1) #把x和y做成一个列向量返回把reshape写成shape报错导入模块:import matplotlib.pyplot as pltimport randomimport torchfrom d2l import torch as d2l生成数据集def原创 2022-02-05 14:20:51 · 1570 阅读 · 0 评论 -
07 自动求导【基本看不懂】
import torch#假设我们想对函数y=2x^Tx,关于列向量x 求导x=torch.arange(4.0) #创建向量,里面的数值是0 1 2 3print(x)#在计算y关于x的梯度之前,我需要一个地方来存储梯度x_grad = x.requires_grad_(True) #等价于 x=torch.arange(4.0,requires_grad = True)print(x_grad)#现在来计算yy = 2*torch.dot(x,x)print(y)'''计算.原创 2022-02-04 11:57:35 · 1046 阅读 · 0 评论 -
05 线性代数【动手学深度学习v2】P2 Tensor的初步使用
#李沐-线性代数import tensorflow as tfimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'#遇到了这个问题,意思是你的 CPU 支持AVX AVX2 (可以加速CPU计算),但你安装的 TensorFlow 版本不支持——解决:1. 如果是初学者 或者 没有太大计算速度的需求,在开头加上这两行忽略这个提示即可#输入标量x = tf.constant(3.0)y = tf.constant(2.0)#print(x.原创 2022-02-01 14:23:51 · 436 阅读 · 0 评论 -
数据预处理
#数据预处理2import os34#创建人工数据集,存在CSV文件5#os.makedirs(os.path.join('..','data')) #创建文件地址,即文件夹:D:\Research\Python\data6data_file = os.path.join('..','data','house_tiny.csv') #创建一个文件名,叫house_tiny7with open(data_file,'w') as f:8 f.write('Nu.原创 2022-01-23 06:19:42 · 1132 阅读 · 0 评论