
深度学习
文章平均质量分 70
baoxin1100
阿里巴巴算法工程师,图像算法,检测,分类,重识别
展开
-
torch里的分组卷积
普通卷积如果输入特征的通道是 32,希望输出特征的通道是 64,对于 3*3 的普通卷积来说,卷积层设置为:conv = torch.nn.Conv2d(in_channels=32, out_channels=64, kernel_size=3)我们查看卷积核的参数量print(conv.weight.shape) # torch.size([64,32,3,3])所以普通卷积的参数量是 64 ×\times× 32 ×\times× 3 ×\times× 3 = 18432 个参数分组卷原创 2021-03-11 14:01:54 · 869 阅读 · 0 评论 -
vscode 无法跳转定义,右击没有跳转定义
设置里面,搜 jedi把下图中的language server改成jedi原创 2020-11-13 18:31:47 · 6851 阅读 · 2 评论 -
pytorch, tensorflow, keras统计模型参数大小
统计模型大小的方法统一步骤1 统计总的参数个数,2 利用参数个数算出权重大小pytorchdef get_model_size(model): para_num = sum([p.numel() for p in model.parameters()]) # para_size: 参数个数 * 每个4字节(float32) / 1024 / 1024,单位为 MB para_size = para_num * 4 / 1024 / 1024 return para_sizetenso原创 2020-11-10 09:39:44 · 3109 阅读 · 0 评论 -
四个框架numpy, tensorflow, keras, pytorch分别实现逻辑回归分类算法,实现梯度计算与参数更新
逻辑回归预备知识逻辑回归主要应用于二分类问题,公式: p=sigmoid(z)=11+e−zp = sigmoid(z) = \frac{1}{1+e^{-z}}p=sigmoid(z)=1+e−z1 梯度回传公式为:∂p∂z=p(1−p)\frac{\partial p}{\partial z}=p(1-p)∂z∂p=p(1−p)损失函数我们用二分类交叉熵(BCE, binary_cross_entropy),假设y为标签,p为预测概率:loss=−ylog(p)−(1−y)(1−p)loss原创 2020-09-28 10:33:42 · 843 阅读 · 0 评论 -
keras train_on_batch详解(train_on_batch的输出输入详解,train_on_batch多GPU训练详解,自定义学习率调整策略)
利用 train_on_batch 精细管理训练过程大部分使用 keras 的同学使用 fit() 或者 fit_generator() 进行模型训练, 这两个 api 对于刚接触深度学习的同学非常友好和方便,但是由于其是非常深度的封装,对于希望自定义训练过程的同学就显得不是那么方便(从 torch 转 keras 的同学可能更喜欢自定义训练过程),而且,对于 GAN 这种需要分步进行训练的模型,也无法直接使用 fit 或者 fit_generator 直接训练的。因此,keras 提供了 train_o原创 2020-08-11 11:32:26 · 24494 阅读 · 16 评论 -
pytorch torch.optim.lr_scheduler 调整学习率的六种策略
pytorch torch.optim.lr_scheduler 调整学习率的六种策略1. 为什么需要调整学习率在深度学习训练过程中,最重要的参数就是学习率,通常来说,在整个训练过层中,学习率不会一直保持不变,为了让模型能够在训练初期快速收敛,学习率通常比较大,在训练末期,为了让模型收敛在更小的局部最优点,学习率通常要比较小。2. 学习率的初始值设置其实,不同的任务学习率的初始值是需要试验几次来获得的,使用的优化器不同,mini-batch 的 batch_size 大小不同,学习率的初始值也不太相原创 2020-07-19 16:46:26 · 4106 阅读 · 2 评论