Pytorch学习之源码理解:pytorch/examples/mnistsfrom __future__ import print_function
import argparse
import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torchvis
转载
2023-07-08 17:43:39
106阅读
0.Pytorch中LSTM 的使用方法LSTM使用方法:lstm=nn.LSTM(input_size, hidden_size,num_layers)
output,(hn,cn)=lstm(x,(h0,c0))各参数的shape:x: (seq_len, batch, input_size)h0: (num_layers×num_directions, batch, hidden
转载
2024-03-05 09:18:09
68阅读
首先是检测头,需要对移动端进行优化的就是检测头:FCOS系列使用了共享权重的检测头,即对FP
原创
2024-07-24 10:42:22
111阅读
本文为大家介绍了一个手把手使用OpenVINO部署NanoDet的教程,并开源部署的全部代码,在Intel i7-7700HQ CPU做到了6ms一帧的速度。0x0. nanodet简介NanoDet (https://github.com/RangiLyu/nanodet)是一个速度超快和轻量级的Anchor-free 目标检测模型。想了解算法本身的可以去搜一搜之前机器之心的介绍。0x1. 环境
转载
2024-07-15 07:31:35
66阅读
目前神经网络的监督学习过程通常为:数据加载(load)进神经网络经过网络参数对数据的计算,得出预测值(predict)根据预测值与标注值(label)之间的差距,产生损失(loss)通过反向传播(BP:Back Propagation)对神经网络的各个参数产生梯度(gradient)依据特定的梯度下降算法(如SGD:Stochastic Gradient Descent随机梯度下降),基于梯度对参
转载
2023-08-28 15:02:06
239阅读
Pytorch源码学习01什么是 PyTorch?张量张量初始化1. 直接生成张量2. 通过Numpy数组来生成张量3. 通过已有的张量来生成新的张量4. 通过指定数据维度来生成张量张量属性张量运算1. 张量的索引和切片2. 张量的拼接3. 张量的乘积和矩阵乘法(==逐个元素相乘结果==)4.张量与张量的矩阵乘法(==矩阵运算==)5. 自动赋值运算Tensor与Numpy的转化1. 由张量变换
转载
2023-07-12 01:06:40
148阅读
目录
命名空间/类/方法/函数/变量
torch.autograd.Function中的ctx参数
DDP(DistributedDataParallel)的构造函数
torch.floor(input, out=None)
nametuple
argmax
view函数
void c10::TensorImpl::refresh_c
转载
2024-04-01 00:00:20
212阅读
目录概述BERT模型架构Input RepresentationPre-training TasksTask #1: Masked LMTask #2: Next Sentence PredictionPre-training ProcedureFine-tuning ProcedureComparison of BERT and OpenAI GPT实验GLUE Datasets
Dropout1.CLASS torch.nn.Dropout(p=0.5, inplace=False)训练过程中按照概率p随机地将输入张量中的元素置为0evere channel will be zeroed out independently on every forward call.Parameters:p(float):每个元素置为0的概率,默认是0.5inplace(bool):是否
转载
2023-08-14 13:21:59
113阅读
PyTorch源码浅析(1):THTensorPyTorch中Tensor的存储和表示分开,多个THTensor可能共享一个THStorage,每个THTensor可能拥有不同的view(e.g. size, stride)。这样设计的好处是,有时看起来不一样的数据底层是共享的,比如矩阵与矩阵的转置、二维矩阵与二维矩阵变成一维时的矩阵。这部分的主要实现在pytorch/aten文件夹中,这里面既实
转载
2023-08-10 16:07:29
114阅读
我们继续分析著名的attention is all you need 论文的pytorch实现的源码解析。 由于项目很大,所以我们会分开几讲来进行讲解。上一讲连接在此: Attention is all you need pytorch实现 源码解析01 - 数据预处理、词表的构建 - Attention is all you need pytorch实现 源码解析02 - 模型的训练(1)- 模
转载
2023-11-09 07:31:18
469阅读
Transformer模型早在2017年就出现了,当时实验室的分享也有关于这个的。但我当时没有意识到这篇论文的厉害之处,听名字感觉像是那种昙花一现的论文,也没有关注它。直到最近出现了BERT这一神物之后,方才后知后觉此时Transformer已然这么有用!因此,这才仔仔细细地撸了这篇“古老”的论文和源码,这里将主要对照论文和相应的PyTorch源码进行逐一对照解读。因笔者能力有限,如有不详实之处,
转载
2023-10-29 10:24:13
67阅读
1. torch.utils.data.DataLoader类:class torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=, pin_memory=False, drop_last=False,
转载
2024-05-16 14:11:05
62阅读
1. 源码概览pytorch是众多dl工具中,比较python风格化的一种,另一个完全python化的dl工具是chainer,它的构建语言中只有python,甚至cuda也是从python端调用的。python风格化的好处是,使用了很多python的语言特性,让代码更加简洁,更高效。《python高级编程》的第2、3章,描述了部分python的高级语言特性,比如:列表推导,迭代器和生成器,装饰器
转载
2023-09-02 22:23:16
88阅读
主要内容1 Dataset2 Sampler3 DataLoader3.1 三者关系 (Dataset, Sampler, Dataloader)3.2 批处理3.2.1 自动批处理(默认)3.2.3 collate_fn3.3 多进程处理 (multi-process)4 预取 (prefetch)5 代码详解 本篇博文主要用来记录参考链接中的所学重要知识,梳理清楚。 1 DatasetDa
转载
2023-06-18 15:30:52
363阅读
前言目前可以将目标检测算法分为两类:一类是onestage,一类是twostage。onestage的目标检测算法是指在进行目标检测的时候不需要进行region proposal阶段,而是直接产生物体的类别概率和位置坐标,因此onestage可以有相对较快的运算速度,但是其的检测精度相对较低,所以其常常被用作实时的目标检测。常用的onestage方法有:Yolo系列、SSD、Retina-Net等
版本:Pytorh v1.0, python3.7要了解Pytorch的源码,最好先对CPython有个大致的了解,比如Python的多态是如何实现的。Pytorch的底层源码,很多都用c++实现,例如,torch._C就是一个非常典型的C++模块,很多对象都会继承“_C”模块里的内容,如,class Tensor(torch._C._TensorBase):
def __deepcopy
转载
2023-08-03 15:36:06
111阅读
PyTorch的学习和使用(五)卷积(convolution)LSTM网络首次出现在Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting,并且在处理视频这种具有时间和空间关系的数据时具有较好的效果。通过扩展torch.nn的方式增加ConvLSTM在github-roge
转载
2023-11-15 22:09:34
88阅读
前言结合pytorch源码和原始论文学习Scaled Dot-Product Attention的原理。计算公式源码(pytorch)# 以下代码来自pytorch源码
def _scaled_dot_product_attention(
q: Tensor,
k: Tensor,
v: Tensor,
attn_mask: Optional[Tensor] = N
转载
2023-10-21 11:15:24
106阅读
transformer代码 哔哩哔哩很多课程,但是资源很难领取,代码和PPT不好找到 学习的过程中对照网课视频敲了代码,分享给大家使用只包含代码主体,测试部分放到下方顺便请教一个问题:视频中 mask = Variable(torch.zeros(8,4,4))。输出是(2,4,512) 我这边的代码会报错。 mask = Variable(torch.zeros(2,4,4))的时候是没问题的,
转载
2023-11-09 05:32:21
89阅读