深度学习——基础知识

  深度学习的重点在于优化,其中很重要的步骤在于如何调参,会涉及到一些微积分等数学知识。不同于以往接触到的数值运算,深度(机器)学习都是关于张量Tensor(向量)的计算,Python中最常用的包就是Numpy,其次张量类支持调用包可自动微分。

一、基础操作运算

1.1 导入torch

  先导入torch,虽然是pytorch版本的深度学习,但是代码中使用torch,而不是pytorch.
在这里插入图片描述

1.2 arange创建行向量

在这里插入图片描述

1.3 通过张量的shape属性来访问张量的形状或维度

在这里插入图片描述

1.4 张量的大小

  张量中元素的总数,即shape属性中所有元素的乘积。
在这里插入图片描述

一维向量的shape和size是相同的数值

1.5 改变张量的形状reshape

  要想改变一个张量的形状而不改变元素数量和元素值,可以调用reshape函数。
在这里插入图片描述

在reshape时,不需要特别指定每个维度的参数,在知道元素总数的前提下,知道宽度(高度)后,高度(宽度)会被自动计算得出,不需要自己手动计算,可以通过-1来调用此自动计算出形状。

在这里插入图片描述

1.6 初始化矩阵

1.6.1 将张量中所有元素设置为0

在这里插入图片描述

1.6.2 将张量中所有元素设置为1

在这里插入图片描述

1.6.3 标准高斯分布:均值为0,标准差为1,随机初始化参数的值

在这里插入图片描述

1.6.4 自定义张量

  可以通过包含数值的python列表(嵌套列表)来为所需张量中的每个元素赋予确定值。
在这里插入图片描述

二、张量运算符

2.1 按元素计算

在这里插入图片描述

2.2 张量连接

在这里插入图片描述

dim=0对行进行拼接;dim=1对列进行拼接。

2.3 逻辑运算符

在这里插入图片描述

2.3 求和

在这里插入图片描述

三、广播机制

  形状相同的张量按元素操作,在某些情况下,即使形状不同,可以通过调用广播机制来执行按元素操作。
  广播机制在大多数情况下,沿着数组中长度为1的轴进行广播。
在这里插入图片描述
  a和b分别是31和12的矩阵,如果让它们相加,它们的形状不匹配,我们将两个矩阵广播为一个更大的3*2矩阵,矩阵a将复制列,矩阵b将复制行,然后按元素相加。
a + b = [ 0 0 1 1 2 2 ] + [ 0 1 0 1 0 1 ] = [ 0 1 1 2 2 3 ] a+b= \begin{bmatrix} 0 & 0 \\ 1 & 1 \\ 2 &2 \end{bmatrix}+\begin{bmatrix} 0 & 1 \\ 0 & 1 \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 0 & 1 \\ 1 & 2 \\ 2 & 3 \end{bmatrix} a+b= 012012 + 000111 = 012123
在这里插入图片描述

四、转换为其他Python对象

  torch张量和numpy数组可以互相转化.
在这里插入图片描述
  要将大小为1的张量转换为python标量,可以用item函数或者python的内置函数。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/875183.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetcode21. 合并两个有序链表

思路: 用一个新链表来表示合并后的有序链表, 每次比较两个链表,将较小的那个结点存储至新链表中 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, val0, nextNone): # self.val val # …

机器学习(西瓜书)第 9 章 聚类

9.1 聚类任务和距离计算 在”无监督学习“中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础.此类学习任务中研究最多、应用最广的是“聚类”(clustering). 聚类试图…

动手学深度学习(pytorch)学习记录30-含并行连接的网络(GoogLeNet)[学习记录]

目录 GoogLeNetInception块GoogLeNet模型训练模型 GoogLeNet GoogLeNet,也称为Inception v1,是由Google团队在2014年提出的深度学习模型,它在当年的ImageNet竞赛中取得了显著的成绩。GoogLeNet的设计引入了多个创新点,包括Incept…

【C++】string类的基本使用

一、string类的由来 在C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列 的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户 自己管…

大数据之Flink(三)

9.3、转换算子 9.3.1、基本转换算子 9.3.1.1、映射map 一一映射 package transform;import bean.WaterSensor; import org.apache.flink.streaming.api.datastream.DataStreamSource; import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator; impor…

分类预测|基于改进的灰狼IGWO优化支持向量机SVM的数据分类预测matlab程序 改进策略:Cat混沌与高斯变异

分类预测|基于改进的灰狼IGWO优化支持向量机SVM的数据分类预测matlab程序 改进策略:Cat混沌与高斯变异 文章目录 一、基本原理原理流程1. **定义目标函数**2. **初始化GWO**3. **评估适应度**4. **更新狼的位置**5. **更新狼的等级**6. **重复迭代**7. **选择最佳解…

春招审核新策略:Spring Boot系统实现

3系统分析 3.1可行性分析 通过对本大学生入学审核系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本大学生入学审核系统采用Spring Boot框架,JA…

综合案例-数据可视化-柱状图

一、基础柱状图 我们绘制一个关于三种水果销售额的柱状图,X轴数据为三种水果的名称,用列表[苹果,香蕉,橘子]添加进去,Y轴数据为三种水果的销售额,用列表[50,70,60]添加进去。 步骤: 导包构建柱状图对象添加X轴数据生…

Android 12系统源码_窗口管理(八)WindowConfiguration的作用

前言 在Android系统中WindowConfiguration这个类用于管理与窗口相关的设置,该类存储了当前窗口的显示区域、屏幕的旋转方向、窗口模式等参数,应用程序通过该类提供的信息可以更好的适配不同的屏幕布局和窗口环境,以提高用户体验。 一、类定…

喜报 | 知从科技荣获 “AutoSec 安全之星 - 优秀汽车软件供应链安全方案奖”

近日,「AutoSec 2024第八届中国汽车网络安全周暨第五届智能汽车数据安全展」在上海盛大举行。本届大会由谈思实验室和谈思汽车主办、上海市车联网协会联合主办,以汽车“网络数据安全、软件安全、功能安全”为主题,设置了“31X”模式&#xff…

关于 PC打开“我的电脑”后有一些快捷如腾讯视频、百度网盘、夸克网盘、迅雷等各种捷方式在磁盘驱动器上面统一删除 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/142029325 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

numpy(基于Numpy外文文档的学习)

学习目标: Understand the difference between one-, two- and n-dimensional arrays in NumPy; Understand how to apply some linear algebra operations to n-dimensional arrays without using for-loops;(调用一些简单的方法) Underst…

外包干了三年,快要废了。。。

先简单说一下自己的情况,普通本科,在外包干了3年多的功能测试,这几年因为大环境不好,我整个人心惊胆战的,怕自己卷铺盖走人了,我感觉自己不能够在这样蹉跎下去了,长时间呆在一个舒适的环境真的会…

Docker 部署 Redis (图文并茂超详细)

部署 Redis ( Docker ) [Step 1] : 拉取 Redis 镜像, 推荐使用 7 的 Redis 版本 docker pull redis:7.0.12[Step 2] : 创建 Redis 相关目录 ➡️ 启动 Redis 容器 ➡️ 拷贝文件 ➡️ 授权文件夹 ➡️ 删除容器 # 创建 Redis 相关目录 mkdir -p /data/redis/{conf,data,log…

写的一致性问题之失效模式

文章目录 1、先删除redis缓存,再写入mysql:1.1、高并发情况下分析出现的问题 2、先写入mysql,再删除redis缓存 失效模式存在的问题:在事务提交之前可能会有其他读操作重新把旧数据放入redis缓存中 1、先删除redis缓存,…

深入解析全连接层:PyTorch 中的 nn.Linear、nn.Parameter 及矩阵运算

文章目录 数学概念(全连接层,线性层)nn.Linear()nn.Parameter()Q1. 为什么 self.weight 的权重矩阵 shape 使用 ( out_features , in_features ) (\text{out\_features}, \text{in\_features}) (out_features,in_features)而不是 ( in_featur…

Bev pool 加速(2):自定义c++扩展

文章目录 1. c++扩展2. 案例2.1 案例12. 1.1 代码实现(1) c++ 文件(2) setup.py编写(3) python 代码编写2.2 案例22.2.1 模型搭建2.2.2 c++ 扩展实现(1)c++ 扩展代码(2)setup.py编写(3)python 调用c++扩展在bevfusion论文中,将bev_pooling定义为view transform中的效率瓶…

PROTOTYPICAL II - The Practice of FPGA Prototyping for SoC Design

The Art of the “Start” The semiconductor industry revolves around the “start.” Chip design starts lead to more EDA tool purchases, more wafer starts, and eventually to more product shipments. Product roadmaps develop to extend shipments by integrating…

FloodFill算法

文章目录 1. 图像渲染(733)2. 岛屿数量(200)3. 岛屿的最大面积(695)4. 被围绕的区域(130) 1. 图像渲染(733) 题目描述: 算法原理: …

DAY13信息打点-Web 应用源码泄漏开源闭源指纹识别GITSVNDS备份

#知识点 0、Web架构资产-平台指纹识别 1、开源-CMS指纹识别源码获取方式 2、闭源-习惯&配置&特性等获取方式 3、闭源-托管资产平台资源搜索监控 演示案例: ➢后端-开源-指纹识别-源码下载 ➢后端-闭源-配置不当-源码泄漏 ➢后端-方向-资源码云-源码泄漏 …