python
文章平均质量分 68
取个名字真难呐
基础不牢,地动山摇;Talk is cheap,Show me the code
展开
-
vim replace the world
【代码】vim replace the world。原创 2022-11-13 17:56:54 · 206 阅读 · 0 评论 -
Leetcode2-AddTwoNumbers
【代码】Leetcode2-AddTwoNumbers。原创 2022-08-20 17:24:46 · 225 阅读 · 0 评论 -
python 小技巧记录
python 小技巧原创 2022-07-29 22:20:16 · 215 阅读 · 0 评论 -
设计模式-python实现
代码】观察者模式。原创 2022-07-16 13:49:31 · 238 阅读 · 0 评论 -
招聘需求 视觉工程师
阿斯顿发顺丰的原创 2022-06-23 21:20:21 · 698 阅读 · 0 评论 -
pycharm相关问题记录
run>>>editconfigurations>>>templates>>>python>>>去掉run with python console全面的勾选原创 2022-06-14 20:08:21 · 116 阅读 · 1 评论 -
the common packages in deeplearning
timm.docs timm.doctimm是视觉的SOTA库,方便进行SOTA模型的复现。非常重要。原创 2022-06-14 15:25:07 · 85 阅读 · 0 评论 -
42 - Masked AutoEncoder(MAE)论文导读与模型详细介绍
asked utoncoder:被掩码的自动编码器;Masked AutoEncoders Are Scalable Vision Learners :被掩码的自动编码器是可扩展的视觉学习器。原创 2022-06-06 21:53:08 · 276 阅读 · 0 评论 -
38 - ConvNeXt论文导读与模型精讲
convnext原创 2022-06-03 11:06:32 · 153 阅读 · 0 评论 -
VNC 复制粘贴
VNC相关操作原创 2022-06-02 15:13:23 · 5554 阅读 · 0 评论 -
37 - Word Embedding原理精讲及其PyTorch API教程讲解
文章目录1. 语言建模2. 详解2.1 n-gram模型2.2 单词的语义表征2.3 基于神经网络的语言模型(NNLM)2.4 word2vec模型2.4.1 改进11. 语言建模一种基于已有的人类组织的文本预料来去做无监督学习,如何组织一句话并还能得到单词的语义表征统计模型:n-gram无监督学习:NNLM大规模无监督学习:word2vec,BERT2. 详解2.1 n-gram模型特点:统计性,简单,泛化能力差,无法得到单词的语言信息定义:n个相邻符构成的序列;单个词unigra原创 2022-05-29 15:43:26 · 378 阅读 · 0 评论 -
书籍推荐python
文章目录1. 重构:改善既有代码的设计2. 代码整洁之道3. 敏捷软件开发(原则模式与实践)1. 重构:改善既有代码的设计2. 代码整洁之道3. 敏捷软件开发(原则模式与实践)原创 2022-05-18 10:09:21 · 173 阅读 · 0 评论 -
34 - Swin-Transformer论文精讲及其PyTorch逐行复现
文章目录1. 两种方法实现Patch_Embedding1. 两种方法实现Patch_Embeddingimport torchfrom torch.nn import functional as F# method_1 : using unfold to achieve the patch_embedding# step_1: unfold the image# step_2: unfold_output@weightdef image2embed_naive(image, patch原创 2022-05-14 10:31:30 · 2196 阅读 · 5 评论 -
33 - 完整讲解PyTorch多GPU分布式训练代码编写
文章目录1. 单机单卡1.1 环境配置1.2 模型拷贝1.3 数据拷贝1.4 模型保存1.5 模型的加载1.6 注意事项2. 单机多卡2.1 环境配置1. 单机单卡1.1 环境配置判断显卡是否可用import torch# 判断环境中是否有cudaprint(f"torch.cuda.is_available()={torch.cuda.is_available()}")# torch.cuda.is_available()=True# 通用编程语句device = torch.d原创 2022-05-02 20:00:34 · 2283 阅读 · 0 评论 -
32 - 文本情感分类项目完整代码精讲
文章目录1. nn.Embedding2. nn.init.xavier_uniform_3. nn.Conv1d4. torch.sigmoid5. torch.mean6. nn.EmbeddingBag7. tokenizer8. IMDB9. get_tokenizer10. build_vocab_from_iterator11. set_default_index12. logging13. clip_grad_norm_1. nn.Embedding2. nn.init.xavier_un原创 2022-04-25 14:28:20 · 2907 阅读 · 0 评论 -
参数传递 python 相关记录
文章目录1. 准则2. 代码1. 准则不可变对象作为函数参数,相当于c系语言的值传递可变对象作为函数参数,相当于c系语言的引用传递一旦函数中遇到=,就会重新开辟一个内存空间,不再对传递过来的参数有影响2. 代码# 1.对于不可变str处理# 不可变对象作为函数参数,相当于c语言中的值传递;# 所以传递进来的参数值跟本身的值无关def change_str(param): param+"2"# 2.对于可变list处理# 可变对象作为函数参数,相当于c语言中的引用传原创 2022-04-24 22:01:58 · 559 阅读 · 0 评论 -
python 生成器表达式
文章目录1.用生成器表达式初始化元组2. 使用生成器表达式计算笛卡儿积1.用生成器表达式初始化元组虽然也可以用列表推导来初始化元组、数组或其他序列类型,但是生成器表达式是更好的选择。这是因为生成器表达式背后遵守了迭代器协议,可以逐个地产出元素,而不是先建立一个完整的列表,然后再把这个列表传递到某个构造函数里。前面那种方式显然能够节省内存。生成器表达式的语法跟列表推导差不多,只不过把方括号换成圆括号而已。from collections import Iterator,Iterableg = [i**原创 2022-04-22 08:03:10 · 930 阅读 · 0 评论 -
流畅的python-2
文章目录1. 列表推导1.1 使用列表推导得到笛卡尔积1.2 过滤器的列表推导1. 列表推导1.1 使用列表推导得到笛卡尔积colors = ['white','black']sizes = ['L','M','S']t_shirt = [(color,size)for color in colors for size in sizes]print(f"t_shirt={t_shirt}")t_shirt=[('white', 'L'), ('white', 'M'), ('white',原创 2022-04-21 15:25:45 · 2684 阅读 · 0 评论 -
31 - GRU原理与源码逐行实现
文章目录1. 原理结构2. 代码详解3. 小结1. 原理结构2. 代码详解import torchfrom torch import nnbatch_size,sequence_length,H_in,H_out = 2,3,4,5gru_layer = nn.GRU(input_size=4,hidden_size=5,batch_first=True)input = torch.randn((batch_size,sequence_length,H_in))h0 = torch.r原创 2022-04-21 10:18:51 · 2077 阅读 · 0 评论 -
30 - LSTM,LSTMP手撸代码
文章目录1. 原理2. 代码3. 小结1. 原理2. 代码import torchfrom torch import nnbs,T,i_size,h_size = 2,3,4,5h0 = torch.randn((bs,h_size))c0 = torch.randn((bs,h_size))init_state = (h0,c0)input = torch.randn((bs,T,i_size))lstm_layer = nn.LSTM(input_size=i_size,hid原创 2022-04-19 20:14:54 · 768 阅读 · 0 评论 -
29 - RNN的原理、API讲解及其逐行代码实现
文章目录1. 模型框架1.1 记忆单元分类1.2 模型类别分类1.3 优缺点1.4 应用场景2. 公式说明2.1 公式2.2 输入输出大小3. 代码4. 小结1. 模型框架1.1 记忆单元分类记忆单元主要是为了存储过去的信息;常见的记忆单元如下:RNNGRULSTM1.2 模型类别分类单向循环双向循环多层单向或双向循环1.3 优缺点优点:(1)可以处理变长序列(2)模型大小与序列长度无关(3)计算量与序列长度呈线性增长(4)考虑历史信息(5)便于流式输出(6)权原创 2022-04-16 20:02:58 · 1502 阅读 · 0 评论 -
26-27 逐行实现二维空洞卷积dilation与群卷积groups
文章目录1. Dilation2. Groups3. 撸代码4. 小结1. DilationDilation 的作用是对卷积核进行扩充;默认dilation=1不扩充,dilation>1 表示卷积核内两两行两两列之间填充dilation-1个0;如下图所示:2. Groupsgroups的作用是将输入和输出通道进行分组,避免所有的通道都进行融合,而是以组为单位进行融合,可以大大的减少训练参数;groups=1时的操作:groups=2时的操作:3. 撸代码import原创 2022-04-08 22:19:47 · 738 阅读 · 0 评论 -
25 - 转置卷积的原理与实现
文章目录1. 基于卷积核扩充实现卷积1.1 图解2. 基于卷积核转置实现转置卷积1. 基于卷积核扩充实现卷积1.1 图解2. 基于卷积核转置实现转置卷积原创 2022-04-06 20:59:48 · 435 阅读 · 0 评论 -
pycharm 小技巧
文章目录1. Ctrl + W1. Ctrl + W增量选择;原创 2022-04-06 07:52:20 · 253 阅读 · 0 评论 -
24 - 从向量内积角度逐行实现PyTorch二维卷积完整版
文章目录1. 图示思路2. 代码1. 图示思路2. 代码重点函数# 自定义一个矩阵滑动的卷积函数,这里只做二维矩阵和二维矩阵的卷积计算def matrix_multiplication_for_conv2d(input, kernel, stride=1, padding=0, bias=0):整体代码import torchfrom torch import nnfrom torch.nn import functional as Fimport math# 定义输入的原创 2022-04-05 20:33:52 · 1769 阅读 · 0 评论 -
21 - Transformer模型总结和loss_mask代码实现
文章目录1. Transformer的特点2. Transformer的使用类型3. Transformer的结构1. Transformer的特点1.1 无先验假设(例如无局部关联性假设,无有序建模)1.2 核心计算在于自注意机制,呈现平方复杂度1.3 数据量的要求与先验假设的程度成反比2. Transformer的使用类型2.1 Encoder Only : Bert , 分类任务,非流式任务2.2 Decoder Only : GPT系列,语言建模,自回归任务,流式任务2.3 E原创 2022-04-04 21:10:57 · 3921 阅读 · 0 评论 -
19&20 - Transformer模型六大细节难点的逐行实现(一)
文章目录1. word embedding2. position embedding3. encoder self-attention mask4. intra-attention mask5. decoder self-attention mask6. multi-head self-attention1. word embedding2. position embedding3. encoder self-attention mask4. intra-attention mask5. deco原创 2022-04-03 13:40:01 · 806 阅读 · 0 评论 -
18 - Transformer原理及其PyTorch源码讲解
文章目录1. CNN2. RNN3. Transformer4. Transformer的结构4.1 Transformer整体结构4.2 分解1. CNNCNN的特性如下:权值共享- 平移不变形:卷积核大小不变- 可并行计算:可同时对多通道进行计算滑动窗口,局部关联的建模依靠堆积进行长行程建模对相对位置敏感,对绝对位置不敏感2. RNN对顺序敏感串行计算耗时长行程建模能力弱计算复杂度与序列长度呈线性关系单步计算复杂度不变对相对位置敏感,对绝对位置敏感3. Tran原创 2022-03-31 21:09:14 · 1931 阅读 · 0 评论 -
Python Sorted - key
文章目录1. keys1. keys# 定义一个list,根据第 2 位的大小排序my_random = [(1, 6), (2, 4), (3, 1), (3, 3)]def take_second(element): return element[1]sorted_list = sorted(my_random, key=take_second)print(f"original_list = {my_random}")print(f"sorted_list = {sorted_l原创 2022-03-28 12:15:46 · 1229 阅读 · 0 评论 -
17 - ConvMixer论文原理以及其PyTorch源码实现
文章目录1. ConvMixer 论文2. ConvMixer 主要思路3. ConvMixer 代码4. ConvMixer 小结5. 相关知识1. ConvMixer 论文2. ConvMixer 主要思路3. ConvMixer 代码4. ConvMixer 小结5. 相关知识原创 2022-03-28 09:11:56 · 4095 阅读 · 0 评论 -
pytorch 常见API实践
文章目录1. torch.bernouli1. torch.bernoulitorch.bernoulli(input, *, generator=None, out=None) → Tensorinput : 表示的是一个概率值组成的矩阵output:表示的是一个跟input同等大小的矩阵,输出矩阵是来自伯努利分布从伯努利分布中绘制二进制随机数(0或1)。举例:假设我们input矩阵如下:input_rand=tensor([[0.5564, 0.0900, 0.8406, 0.74原创 2022-03-25 19:17:05 · 2686 阅读 · 0 评论 -
16 - nn.Conv2d的原理以及三路分支残差block的算子融合实现
文章目录1. R-drop1.1 R-drop 原理2. 常见函数2.1 torch常见API1. R-drop论文链接:R-Drop: Regularized Dropout for Neural Networks1.1 R-drop 原理2. 常见函数2.1 torch常见APItorch.functional.padimport torchfrom torch.nn import functional as Fa = torch.ones(2, 3, 4, 5)padd原创 2022-03-24 07:12:19 · 2109 阅读 · 4 评论 -
15 - Dropout的原理及其在TF/PyTorch/Numpy的源码实现
文章目录1. 作用2. nn.Dropout3. dropout 的numpy实现1. 作用2. nn.Dropout3. dropout 的numpy实现原创 2022-03-22 13:52:39 · 3164 阅读 · 0 评论 -
14 - 如何保存模型权重和checkpoint
文章目录1. 保存模型 - 权重参数2. 保存模型 - 整个模型3. 保存模型 - checkpoints1. 保存模型 - 权重参数2. 保存模型 - 整个模型3. 保存模型 - checkpoints原创 2022-03-20 18:20:19 · 5840 阅读 · 3 评论 -
13 - 深度学习自动微分的Forward mode和Reverse mode的详细推导
文章目录1. 概述2. 不同运算规则3. 前向微分3.1 公式转换3.2 前向传播4. 后向微分1. 概述在深度神经网络中,我们一般需要构造模型的前向运算和后向运算。其中实线是前向运算,虚线为后向运算。前向运算:通过输入,经过参数节点得到输出结果后向运算:经过前向运算,得到误差函数,我们求得误差函数关于所有参数节点的梯度,通过后向传播得到每个参数的更新后的值,这个过程就是后向运算2. 不同运算规则manual-differentiation:手动计算梯度coding:代码形式symb原创 2022-03-19 20:56:44 · 991 阅读 · 0 评论 -
12 - PyTorch的模型整体训练流程讲解
文章目录1. 准备2. 代码3. 整体应用1. 准备数据集(1)Dataset:将数据打包成一个(features,labels)对(2)DataLoader将Dataset按给定批量大小batchsize打包成一个DataLoader神经网络(1)class Netural_Network神经网络机构(2)forward 前向传播函数超参数(1)batch_size:批量大小(2)learning_rate:学习率(3)epoch:迭代周期损失函数(1)loss_fn = nn原创 2022-03-19 17:00:39 · 1524 阅读 · 0 评论 -
11 - 向量微分、矩阵微分以及基于雅克比矩阵求导数
文章目录1. 手推机器学习-矩阵求导1.1 绪论1. 手推机器学习-矩阵求导B站链接1.1 绪论(1)理论ML中为什么需要矩阵求导向量函数与矩阵求导初印象矩阵求导-YX拉伸术(2)实战常见矩阵求导公式举例矩阵求导补充最小二乘法...原创 2022-03-15 22:21:46 · 1759 阅读 · 0 评论 -
流畅的Python(1)- 一摞Python风格的纸牌
文章目录1. namedtuple 具名元祖1. namedtuple 具名元祖原创 2022-03-15 13:47:58 · 1177 阅读 · 0 评论 -
pytorch 梯度相关知识点
文章目录1. requires_grad2. grad_fn,grad3. with torch.no_grad()4. torch.detach()1. requires_grad如果需要为张量计算所需的梯度,那么我们就需要对张量设置requires_grad=True;张量创建的时候默认requires_grad=False如果不设置requires_grad=True,后续计算梯度的时候就会报错(1)requires_grad=False&默认设置import torchfro原创 2022-03-14 11:03:57 · 3224 阅读 · 0 评论 -
10 - 自动微分以及autograd的使用
文章目录1.sadf1.sadf原创 2022-03-13 20:45:53 · 1297 阅读 · 0 评论