Pytorch_python
文章平均质量分 90
神经网络不可或缺的框架!
Flying Bulldog
致力于研究计算机视觉、图像处理的一位帅气学者!
展开
-
计算模型的GFLOPs和参数量 & 举例VGG16和DETR
近期忙于写论文,分享一下论文中表格数据的计算方法。FLOPS:注意S是大写,是“每秒所执行的浮点运算次数”(floating-point operations per second)的缩写。它常被用来估算电脑的执行效能,尤其是在使用到大量浮点运算的科学计算领域中。正因为FLOPS字尾的那个S,代表秒,而不是复数,所以不能省略掉。FLOPs:注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。GFLOPs:一个原创 2022-10-18 21:13:17 · 14494 阅读 · 15 评论 -
断点续训 & Pytorch 和 Tensorflow 框架 & VGG16 模型 & 猫狗大战 & 鸢尾花分类
由于目前最流行的深度学习的框架是 Pytorch 和 Tensorflow,故此文章针对这两种框架实现代码的断点续训。为了方便一键运行程序,运行程序之前,需要从 Kaggle 数据集网站上面下载 ‘猫狗大战’ 的数据集 Cat and Dog | Kaggle,也可以用自己的数据集,或者可以调用框架中封装好的函数,自动的下载数据集,但是这种方法不提倡,最好还是用自己的数据集。本文代码为纯实战代码,注释都在代码当中,希望对你有所帮助。...原创 2022-07-08 21:13:53 · 770 阅读 · 0 评论 -
Dropout层、BN层、Linear层 & 神经网络的基本组成
图1 卷积网络中的 layers承接上三篇博客:卷积层(空洞卷积对比普通卷积)、激活函数层、池化层 & 感受野目录(1)Dropout层(2)BN层(BatchNormal)(3)全连接层(1)Dropout层在深度学习中,当参数过多而训练样本又比较少时,模型容易产生过拟合现象。过拟合是很多深度学习乃至机器学习算法的通病,具体表现为在训练集上预测准确率高,而在测试集上准确率大幅下降。2012 年,Hinton等人提出了Dropout算法,可以比较有效地缓解过拟合现..原创 2022-05-27 23:23:13 · 4091 阅读 · 0 评论 -
池化层(pooling layer) & 感受野(Receptive Field) & 神经网络的基本组成
目录(1)本文涉及的函数(2)池化层(3)感受野(4)代码示例(含注释)承接上两篇博客:卷积层(空洞卷积对比普通卷积)、激活函数层(1)本文涉及的函数import torch import torch.nn as nn from torch import autogradnn.MaxPool1d # 1 维最大池化(max pooling)操作 nn.MaxPool2d ...原创 2022-05-26 12:57:56 · 4195 阅读 · 0 评论 -
激活函数层 && 神经网络的基本组成 && Sigmoid、ReLU及Softmax函数
神经网络如果仅仅是由线性的卷积运算堆叠组成,则其无法形成复杂的表达空间,也就很难提取出高语义的信息,因此还需要加入非线性的映射,又称为激活函数,可以逼近任意的非线性函数,以提升整个神经网络的表达能力。在物体检测任务中,常用的激活函数有Sigmoid、 ReLU及Softmax函数。目录一、常见的激活函数(1)Sigmoid函数(2)ReLU函数(3)Leaky ReLU函数(4)Softmax函数二、Pytorch官方文件激活函数总结(1)涉及的激活函数,以及公式..原创 2022-05-25 23:40:38 · 4030 阅读 · 0 评论 -
神经网络的基本组成之卷积层(Conv Layer)&& 利用 Pytorch 搭建神经网络 && 空洞卷积对比普通卷积
图1 卷积网络中的 layers目录(1)卷积层(2)本文章设计的函数列表,以及函数的参数解读(3)代码示例(4)空洞卷积(1)卷积层卷积本是分析数学中的一种运算,在深度学习中使用的卷积运算通常是离散的。作为卷积神经网络中最基础的组成部分,卷积的本质是用卷积核的参数来提取数据的特征,通过矩阵点乘运算与求和运算来得到结果。如图2 所示为一个基本二维卷积的运算过程,公式为y=ωx+b。这 里的特征图(x)大小为1×5×5,即输入通道数为1,卷积核(ω)的大小为3×3,偏置(...原创 2022-05-24 23:58:07 · 2171 阅读 · 0 评论 -
构建神经网络的基类: torch.nn.Module && Pytorch笔记(十)
(1)本文涉及函数的列表(具体用法和注释在代码之中)import torch.nn as nn # 导入所需的第三方库的模块 nn.Module # 被继承的基类 nn.Conv2d # 定义卷积 self.add_module ...原创 2022-05-22 23:08:38 · 773 阅读 · 0 评论 -
图像解析 torch.Tensor 的维度概念 && 用 torch.randn 举例
维度是一个抽象的概念,特别是用Pytorch的函数表示的时候。 本文将拿torch.randn举例,直接观察图像来理解维度。torch.randn返回一个张量,包含了从标准正态分布(均值为 0,方差为 1,即高斯白噪声)中抽取一组随机数,形状由可变参数 sizes 定义。(1)代码示例:import torch# 5个参数:5维# 1个4维(包含2个三维(包含3个2维(包含1个4*5的矩阵)))obj1 = torch.randn(1, 2, 3, 4, 5)print(o.原创 2022-05-21 15:21:54 · 2529 阅读 · 2 评论 -
_TensorBase(45个张量基础后置函数总结) && Pytorch官方文件 && NOTEBOOK(NINE)
pytorch基础函数对神经网络的搭建和数据处理很重要,在处理数据的时候,结合torch官方定义的函数,往往能做到事半功倍。好的地基才会用摩天大厦更加稳固,知识需要沉淀。for i in range(1, 34): print("*" * 20, "obj{}".format(i), "*" * 20) # eval 把字符串转换成 “python表达式”print(eval(str("obj") + str(i)), "\n")原创 2022-05-15 21:52:40 · 1375 阅读 · 0 评论 -
调用“抱抱脸团队打造的Transformers pipeline API” && 通过预训练模型,快速训练和微调自己的模型
本文章根据官方文件总结而成,根据第三方库Transformers and pytorch快速搭建自己的神经网络架构,数据集包括语音、文字、图像等,实用性非常强!使用预训练模型有很多好处。 它降低了计算成本和碳足迹,并允许您使用最先进的模型,而无需从头开始训练。 🤗 Transformers 为各种任务提供了对数千个预训练模型的访问。 当您使用预训练模型时,您可以在特定于您的任务的数据集上对其进行训练。 这被称为微调,一种非常强大的训练技术。在本教程中,您将使用您选择的深度学习框架微调预原创 2022-05-13 21:48:59 · 5345 阅读 · 2 评论 -
即看即用 && 其他操作(Other Operations) && Pytorch官方文档总结 && 笔记 (八)
torch.cross # 向量积(叉积)torch.diag # 返回指定对角线元素(方阵/张量)torch.histc # 直方图torch.ones # 全 1 张量torch.renorm# 返回规范化后的各个子张量torch.trace # 迹torch.tril # 二维张量的下三角部分torch.triu # 二维张量的上三角部分diagonal = 0, 主对角线# diagonal > 0, 主对角线之上# diagonal < 0, 主对角线之下原创 2022-05-12 12:34:53 · 906 阅读 · 0 评论 -
即看即用 && 比较操作(Comparison Ops) && Pytorch官方文档总结 && 笔记 (七)
torch.sort # 升序排列 / 降序排列torch.topk # 排序靠前的 k 个值逐个元素比较大小和整个张量比较大小的概念不同;指定的维度(dim=0: 沿 y 轴方向)(dim=1: 沿 x 轴方向);按降序排列:(下降)descending = True;部分函数的参数 other,可以是和 input 形状相同的张量,也可以是一个实数。原创 2022-05-12 11:24:21 · 147 阅读 · 0 评论 -
即看即用 && Reduction Ops && Pytorch官方文档总结 && 笔记 (五)
(1)本文涉及函数的列表(注释在代码中)torch.cumprod # 累积积 torch.cumsum # 累积和 torch.dist # p-范数(空间范数) torch.mean # 所有元素的均值 / 指定...原创 2022-05-10 16:03:51 · 467 阅读 · 0 评论 -
即看即用 && 数学操作 ( Math operations) && Pytorch官方文档总结 && 笔记 (五)
有时间可以把以下函数全熟记,没时间需要多看几遍,因为在训练神经网络的时候,会和大量的数据打交道,数学操作必不可少,可以做到事半功倍。torch.lerp # 线性插值outi=starti+weight∗(endi−starti)原创 2022-05-08 21:14:05 · 671 阅读 · 0 评论 -
即看即用 && 序列化和并行化 ( Serialization and Parallelism) && Pytorch官方文档总结 && 笔记 (四)
序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。并行处理(Parallel Processing)是计算机系统中能同时执行两个或多个处理的一种计算方法。torch.save # 保存到一个硬盘文件上(pt文件)torch.load # 加载磁盘文件(cpu / gpu)torch.set_num_threads原创 2022-05-04 10:02:11 · 223 阅读 · 0 评论 -
即看即用 && 随机抽样 ( Random sampling) && Pytorch官方文档总结 && 笔记 (三)
目录(1)本文涉及函数的列表(注释在代码中)(2)理解正态分布、均值和标准差(mean and std)(3)伯努利分布(别名:“零一分布”、“两点分布”)(4)代码示例(含注释)(1)本文涉及函数的列表(注释在代码中)torch.manual_seed # 设置种子,生成的随机数相同 torch.initial_seed() #返回生成随机数的原始种子值 torch.get_rng_state() ...原创 2022-05-03 22:42:28 · 910 阅读 · 1 评论 -
即看即用 && 索引,切片,连接,换位 (Indexing, Slicing, Joining, Mutating Ops) && Pytorch官方文档总结 && 笔记 (二)
(1)本文涉及函数的列表(注释在代码中) torch.cat 连接张量,和stack相似 torch.chunk 分块 torch.gather 聚合图解PyTorch中的torch.gather函数 - 知乎 torch.index_select ...原创 2022-05-02 20:49:55 · 271 阅读 · 0 评论 -
即看即用 && 创建操作 (Creation Operations) && Pytorch官方文档总结 && 笔记 (一)
(1)本文涉及函数的列表(注释在代码中)torch.eye torch.from_numpy torch.LongTensor torch.linspace torch.logspace torch.ones torch.rand torch.randn torch.randperm torch.arange torch.range torch.zeros(2)理解Tensor在深度学习里,Tensor实际上就是一个多维数组(multidimensional array原创 2022-05-01 10:23:34 · 141 阅读 · 0 评论