自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 总线协议之SAE1939【对PGN和SPN的理解】

链接: https://blog.csdn.net/wujizhishang/article/details/95099633.链接: https://zhuanlan.zhihu.com/p/197666363?utm_source=wechat_sesssion.链接: https://www.pianshen.com/article/34671887462/.链接: link.

2022-01-11 11:53:24 3640

原创 pytorch基础知识十四【交叉熵】

交叉熵1. 引入2. 信息熵3. 交叉信息熵1. 引入2. 信息熵3. 交叉信息熵

2021-12-18 14:57:33 228

原创 pytorch基础知识十三【2D函数优化实例】

2D函数优化实例1. 原函数2. 求最小值3. 代码1. 原函数2. 求最小值3. 代码

2021-12-15 00:31:56 1711

原创 pytorch基础知识十二【反向传播算法】

反向传播算法1. 链式法则2. 所输出感知机3. 多层感知机1. 链式法则2. 所输出感知机3. 多层感知机

2021-12-15 00:04:16 1070

原创 pytorch基础知识十一【感知机的梯度推导】

感知机的梯度推导1.1.

2021-12-14 23:36:19 1671

原创 pytorch基础知识十【激活函数、损失函数及其梯度】

激活函数、损失函数及其梯度1. 激活函数2. 损失函数loss1. 激活函数【1】激活函数简介【2】sigmoid函数【3】tanh函数【3】RELU函数2. 损失函数lossautograd.gradloss.backwardF.softmax

2021-12-12 23:15:36 631

原创 pytorch基础知识九【统计属性】

统计属性1. 范数2. p范数3. 常用统计属性4. 高级操作4.1 where4.2 gather1. 范数2. p范数3. 常用统计属性【1】mean、sum、min、max、prod;argmin、argmax(1) prod() 表示连乘(2) argmax()、argmin() 不指定维度,会将张量(tensor)打平乘一个一维的tensor,返回索引; 指定维度后,根据维度返回每一行或每一列中max或min元素的索引。【2】dim、keepdimkeepdim参数

2021-12-12 00:14:33 1505

原创 pytorch基础知识八【基本数学运算】

基本数学运算1. 加减乘除2. 矩阵乘法3. 开方4. 近似运算1. 加减乘除a = torch.tensor([[1,2,3],[4,5,6],[7,8,9]])print(a)b = torch.tensor([[10,20,30],[40,50,60],[70,80,90]])# 加法print(a+b)print(torch.add(a,b))# 减法print(torch.all(torch.eq(a-b,torch.sub(a,b))))# 乘法print(torch.

2021-12-11 22:44:17 1790

原创 pytorch基础知识七【拼接与拆分】

拼接与拆分1. 拼接1.1 cat()1.2 stack()1.3 cat() VS stack()2. 拆分2.1 split()2.2 chunk()1. 拼接1.1 cat()torch.cat([tensor1,tensor2],dim)[tensor1,tensor2]表示需要拼接的张量;dim 表示在哪个维度上拼接注意:拼接时,除了要拼接的维度外,其他维度的形状必须相同。示意图:根据不同的维度拼接1.2 stack()stack在拼接张量时,会创建新的维度。

2021-12-10 00:22:09 684

原创 pytorch基础知识六【broadcast自动扩展】

broadcase自动扩展1. 作用2. 关键点3. 需求4. 应用5. 举例1. 作用broadcast的作用是扩展维度,并且不复制数据,不小号内存。2. 关键点演示:3. 需求4. 应用5. 举例

2021-12-09 23:43:52 486

原创 pytorch基础知识五【维度变换】

维度变换1. 改变形状view & reshape2. 增删维度squeeze & unsqueeze2.1 增加维度unsqueeze()2.2 删减维度squeeze()3. 维度形状扩展expand & repeat3.1 expand()3.2 repeat()4. 二位矩阵(张量)转置操作.t()5. 维度交换(两两交换)transpose()6. 维度交换(任意交换)permute()1. 改变形状view & reshape(1).reshape(dim

2021-12-09 22:34:04 2818

原创 pytorch基础知识四【索引与切片】

索引与切片1. 索引2. 切片2.1 根据首项/尾项切片2.2 根据步长切片2.3 根据特定索引切片2.4 根据掩码切片2.5 根据索引返回指定索引上的数据集合3. torch.ge()、torch.gt()、torch.le()、torch.lt()3.1 torch.ge()3.2 torch.gt()3.3 torch.le()3.4 torch.lt()1. 索引import torcha = torch.rand(4,3,28,28) # 建立维度为4的张量print(a[0].shap

2021-12-09 20:55:59 516

原创 pytorch基础知识三【基本数据类型】

pytorch基本数据类型1.1.

2021-12-09 00:46:58 864

原创 pytorch基础知识二【手写数字识别】

手写数字识别1. 环境配置2 .代码3. 测试结果1. 环境配置本次测试使用的显卡为30系列的显卡,对应的pytorch版本: 1.8.0+cu111,cuda版本: 11.1。注意:不同系列的显卡匹配的cuda版本也不一样,匹配不合适时无法调用GPU,或可以调用GPU但计算速度巨慢。2 .代码utils.py #该文件主要将绘图函数集中起来import torchfrom matplotlib import pyplot as pltdef plot_curve(data):

2021-12-08 22:47:52 108

原创 pytorch基础知识一【梯度】

梯度1. 引入2. 实例代码1. 引入已知函数表达式为:y = w * x + b如果求未知数w和b,可以给定两个点,联立方程求解,如下图所示:现在给满足此等式的点加入噪声,通过这一系列的点求出w和b的近似值,评价近似值是否最优的的指标为损失函数,如下图所示:如何最优化?2. 实例代码求解过程:给定初始的w和b的值,利用给定的100个观测值按梯度步长逐渐让w和b逼近到其各自的真实值。参数 = 参数 - 学习率 * 梯度import numpy as np# y = wx

2021-12-07 22:42:25 166

原创 anaconda离线安装pytorch

pytorch离线安装1.创建虚拟环境2. 进入虚拟环境3. 在虚拟环境下安装下载好的.whl文件4. 测试1.创建虚拟环境Windows下先进入命令行:win + R cmd创建虚拟环境命令:conda create -n torch11gpu python=3.72. 进入虚拟环境进入虚拟环境,在虚拟环境中安装pytorchconda activate torch11gpu3. 在虚拟环境下安装下载好的.whl文件导入离线文件的时候,要先进入到离线文件所在的目录,然后

2021-12-06 22:40:14 2849

原创 机器学习二【随机森林】

随机森林1. 概述1. 概述

2021-12-05 11:27:11 1259

原创 机器学习一【决策树】

决策树1. 概述1.1 决策树是如何工作的1.2 sklearn中的决策树2. DecisionTreeClassifier与红酒数据集2.1 重要参数2.1.1 criterion2.1.2 random_state & splitter2.1.3 剪枝参数1. 概述1.1 决策树是如何工作的决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数

2021-12-04 23:36:23 1074

原创 MySQL基础知识六

MySQL1. 事务(Transaction)1.1 事务的概念1.2 和事务相关的语句DML语句(insert delete update)1.3 事务机制的必要性1.4 事务的特性1.5 事务之间的隔离性1.6 演示事务1.7 使用两个事务演示隔离级别2. 索引2.1 索引的概念2.2 怎么创建索引对象?怎么删除索引对象?2.3 什么时候考虑给字段添加索引?2.4 自动添加索引的情况2.5 查看sql语句的执行计划2.6 索引底层采用的数据结构是:B + Tree2.7 索引的实现原理2.8 索引的分类

2021-11-28 15:38:12 637

原创 MySQL基础知识五

MySQL1. 存储引擎1.1 完整的建表语句1.2 什么是存储引擎1.3 查看当前mysql支持的存储引擎1.4 常见的存储引擎1.4.1 MyISAM存储引擎1.4.2 InnoDB存储引擎1.4.3 MEMORY存储引擎1. 存储引擎1.1 完整的建表语句 CREATE TABLE `t_x` ( `id` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; (1)注意:在MySQL当中,凡是标识符是可以使用飘

2021-11-27 00:34:51 67

原创 MySQL基础知识四

MySQL1. union1.1 union将查询结果集相加1.2 将两张不相干的表中的数据拼接2. limit (分页查询)2.1 limit 简介2.2 limit 作用2.3 语法机制2.4 limit的执行顺序2.5 通用的标准分页sql3. 表3.1 创建表3.2 MySQL中字段常见的数据类型3.3 字段数据类型选择3.3 表中插入数据insert3.4 表的复制3.5 将查询结果放到一张表中3.6 更新数据update3.7 删除数据delete3.8 对表结构的操作3.8.1 添加字段add

2021-11-26 23:56:40 748

原创 MySQL基础知识三

MySQL1. 查询结果去重distinct2. 连接查询2.1连接查询的概念2.2 连接查询的分类2.3 笛卡尔积现象2.4 避免笛卡尔积的方法2.5 内连接2.5.1 等值连接2.5.2 非等值连接2.5.3 自连接2.6 外连接2.7 三张表的查询3. 子查询3.1 子查询的概念3.2 where子句中使用子查询3.3 from后面嵌套子查询3.4 select后面嵌套子查询1. 查询结果去重distinct查询结果去重可以利用distinct关键字,distinct关键字只能出现在所有字段的最前

2021-11-24 23:58:58 359

原创 MySQL基础知识二

MySQL1. 排序1.1 单一字段排序1.1.1升序1.1.2 降序1.2 多字段排序1.3 使用字段位置排序1. 排序排序采用order by子句,order by后面跟上排序字段,排序字段可以放多个,多个采用逗号间隔,order by默认采用升序,如果存在where子句那么order by必须放到where语句的后面。1.1 单一字段排序1.1.1升序 select ename , sal from emp order by sal; // 升序 select ename , sal fr

2021-11-24 00:21:55 616

原创 MySQL基础知识一

MySQL1. 数据库概述1.1 SQL概述1.2 数据库的概念1.3 MySQL概述2. MySQL基本操作2.1 通过cmd命令行登录2.2 sql、DB、DBMS分别是什么,他们之间的关系2.3 表的概念2.4 SQL语句的分类2.5 数据库初始化2.6 SQL脚本2.7 删除数据库本文关于MySQL的操作是在Windows环境下进行的。1. 数据库概述1.1 SQL概述SQL,一般发音为sequel,SQL的全称Structured Query Language),SQL用来和数据库打交道,

2021-11-23 00:15:15 465

原创 pandas模块总结二

pandas模块1. 缺失数据的处理1.1 判断数据是否为NaN1.2 缺失数据处理方式1.2.1 删除NaN所在的行列1.2.2 填充NaN所在的行列1. 缺失数据的处理1.1 判断数据是否为NaNimport numpy as npimport pandas as pdt = pd.DataFrame(np.arange(12).reshape(3, 4), index=list("abc"), columns=list("WXYZ"))print(t)t.iloc[1:, :2]

2021-11-19 21:18:14 1037

原创 pandas模块总结一

pandas模块1. 基本概念2. Series的基本操作2.1 Series的创建方法2.2 获取Series中数据的index、values2.3 Series的切片和索引2.3.1 切片2.3.2 索引2.4 pandas读取外部数据3.DataFrame的基本操作3.1 DataFrame的创建3.1.1 传入可迭代对象创建DataFrame对象3.1.2 传入可迭代对象、index、columns创建DataFrame3.1.3 传入列表创建DataFrame3.2 DataFrame的基础属性3

2021-11-16 22:19:47 636

原创 numpy模块总结二

numpy模块总结1. numpy中数组/矩阵的转置1.1 交换轴的位置 t.swapaxes(axis1,axis0)1.2 转置方法一 t.transpose()1.3 转置方法二 t.T2. numpy中数组/矩阵的索引和切片2.1 取数组/矩阵中的一行/一列2.2 连续取数组/矩阵中的多行/多列2.3 取数组/矩阵中不连续的多行/多列2.4 取单行、单列的交点2.5 取多行、多列的交点2.6 取不连续多行、多列的相交点3. numpy中数组/矩阵中元素值的修改3.1 修改数组/矩阵单个元素值

2021-11-14 22:17:57 570

原创 numpy模块总结一

numpy模块一1. numpy简介2. numpy的基本操作2.1 创建数组、矩阵2.2 查看数组、矩阵中数据的类型2.2.1 dtype 方法2.2.2 numpy中常见的数据类型2.3 数据类型的操作1. numpy简介NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算

2021-11-14 00:18:47 453

原创 matplotlib模块总结二【多种类型图的绘制】

多种类型图的绘制1. 折线图2. 散点图3. 条形图4. 直方图1. 折线图(1)绘制单条折线from matplotlib import pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']y = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]x = range(11,31)#设置图形大小plt.figure(figsize=(20,8),dpi=80)plt.plot(x,y)#设置x轴

2021-11-11 22:04:37 339

原创 matplotlib模块总结一【基本绘图操作】

基本绘图操作1. matplotlib简介2. matplotlib模块中的pyplot函数集合2.1 导入pyplot2.2 基本操作2.2.1 figure() 创建图像、设置图像大小等2.2.2 title() 创建图像标题2.2.3 figure()和title()放在一起使用2.2.4 坐标轴操作2.2.4.1 xticks()和yticks() 设置x、y轴的刻度2.2.4.2 xlim() 和 ylim() 设置坐标轴范围2.2.4.3 xlabel() 和 ylabel() 设置坐标轴标

2021-11-10 00:28:32 1278

原创 数据结构十【二叉树】

二叉树1. 基本概念2. 二叉树的性质(特性)2.1 完全二叉树和满二叉树3. 二叉树代码实现3.1定义二叉树节点3.2 树的创建3.3 二叉树的遍历3.3.1 广度优先遍历3.3.2 深度优先遍历3.3.2.1 先序遍历3.3.2.2 中序遍历3.3.2.3 后序遍历3.3.2.4 测试1. 基本概念二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)2. 二叉树的性质(特性)性质1: 在二叉树的第i层上至多有2^(

2021-11-07 00:11:10 68

原创 数据结构九【树】

树1. 树的概念2. 树的术语3. 树的种类4. 树的存储与表示5. 常见的一些树的应用场景1. 树的概念树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:(1)每个节点有零个或多个子节点;(2)没有父节点的节点称为根节点;(3)每一个非根节点有且只有一个父节点;(4)除

2021-11-06 23:52:31 82

原创 算法二【二分查找】

二分查找1. 搜索2. 二分法查找2.1 二分法代码实现2.2 时间复杂度1. 搜索搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找。2. 二分法查找二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如

2021-11-05 23:24:57 57

原创 算法一【排序算法】

排序算法1.排序算法的稳定性2.冒泡排序2.1 冒泡排序的分析2.2 冒泡排序的代码实现2.3 时间复杂度1.排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假设以下的数对将要以他们的第一个数字来排序。(4, 1) (3, 1) (3, 7)(5, 6)在这个状况下,有可

2021-11-05 21:58:09 72

原创 数据结构八【双端队列】

双端队列1. 双端队列的实现2. 双端队列的操作3. 双端队列的实现代码1. 双端队列的实现双端队列(deque,全名double-ended queue),是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。双端队列可以在队列任意一端入队和出队。2. 双端队列的操作(1)Deque() 创建一个空的双端队列(2)add_front(item) 从队头加入一个item元素(3)add_rear(item) 从队尾加入一个item元素(4)

2021-11-02 22:56:43 192

原创 数据结构七【队列】

队列1. 队列的实现2. 队列的操作3. 队列的实现代码1. 队列的实现同栈一样,队列也可以用顺序表或者链表实现。2. 队列的操作(1)Queue() 创建一个空的队列(2)enqueue(item) 往队列中添加一个item元素(3)dequeue() 从队列头部删除一个元素(4)is_empty() 判断一个队列是否为空(5)size() 返回队列的大小3. 队列的实现代码class Queue(object): """队列""" def __init__(self)

2021-11-02 22:52:49 53

原创 数据结构六【栈】

栈1. 栈结构实现2. 栈的操作3. 栈的实现代码1. 栈结构实现栈可以用顺序表实现,也可以用链表实现。2. 栈的操作(1)Stack() 创建一个新的空栈(2)push(item) 添加一个新的元素item到栈顶(3)pop() 弹出栈顶元素(4)peek() 返回栈顶元素(5)is_empty() 判断栈是否为空(6)size() 返回栈的元素个数3. 栈的实现代码class Stack(object): """栈""" def __init__(self):

2021-11-02 22:49:31 54

原创 数据结构五【单向循环链表】

单向循环链表1. 单向循环链表2. 操作3.代码实现1. 单向循环链表单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。2. 操作(1)is_empty() 判断链表是否为空(2)length() 返回链表的长度(3)travel() 遍历(4)add(item) 在头部添加一个节点(5)append(item) 在尾部添加一个节点(6)insert(pos, item) 在指定位置pos添加节点(7)remove(item) 删除一个

2021-11-02 21:32:41 58

原创 数据结构四【双向链表】

双向链表1. 概念2. 双向链表基本操作3.双向链表的实现1. 概念一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。2. 双向链表基本操作(1)is_empty() 链表是否为空(2)length() 链表长度(3)travel() 遍历链表(4)add(item) 链表头部添加(5)append(item) 链表尾部添加(6)insert(pos, ite

2021-11-01 23:36:23 50

原创 数据结构三【单链表】

单链表1.链表1.1 链表的定义2. 单向链表2.1 节点的实现2.2 单链表的操作2.3 单链表的实现2.4 链表与顺序表的对比1.链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。1.1 链表的定义链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)

2021-11-01 23:28:46 99

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除