自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 资源 (2)
  • 收藏
  • 关注

原创 [Pytorch]语义分割任务分类的实现

对于输出outputs,(W,H)范围内的每一个位置在通道N的第i个通道位置的值,都代表了将该坐标(x,y)的像素分类为第i类的类别得分。这个矩阵就代表,在这个2x2的图片中,将四个位置的像素预测成第1类(类别从0开始)的类别得分分别为:1,7,0,3。假如我们定义了一个网络用于语义分割任务,这个网络简称为model()输出:torch.Size([1, 3, 2, 2])输出:torch.return_types.max(输出:tensor([[[2, 1],就是最终每一个像素的分类结果。

2023-09-23 21:50:45 433

原创 [Pytorch]卷积运算conv2d

[top]

2023-08-01 18:04:29 4534

原创 [Pytorch]导数与求导

假设X = [x1, x2, x3, x4];Y = [y1, y2, y3, y4],其中。向量y对于向量x的导数是一个雅各比矩阵,在深度学习中通常得到的是一个方阵。Pytorch中的反向求导用.backward()方法进行实现。

2023-06-27 12:32:01 1764

原创 [Pytorch]Broadcasting广播机制

对于x和y,按照小维度对齐后,最小维度上y的维度大小为1,该维度符合,次小维度上x的维度大小和y的维度大小相等,该维度符合,但是在第三小维度上x的维度大小为5,而y的维度大小为4,二者非1且不相等,所以不符合broadcasting的规则。对于x和y,按照小维度对齐后,在最小的维度上x和y的维度大小都是4,在次小维度上x和y的维度大小都是3,也符合规则。对于x和z,按照小维度对齐后,在最小的维度上x和z的维度大小都是4,符合规则。example 2:x,y不是broadcastable的。

2023-06-23 10:06:20 607

原创 Pytorch数据类型Tensor张量操作(操作比较全)

本文只简单介绍pytorch中的对于张量的各种操作,主要列举介绍其大致用法和简单demo。后续更为详细的介绍会进行补充...

2023-06-22 11:19:59 4018

原创 [Pytorch]张量的合并:cat和stack操作

这里简单的理解是,两个shape为[2,2,3]的张量在dim=0上合并后,由原来两个2x[2,3]的张量合并为了一个4x[2,3]的张量,即shape为[4,2,3]的张量;而两个shape为[2,2,3]的张量在dim=1上合并后第一个维度的数量不变,而将第二个维度进行合并,可以看作将原来2x[2,3]的张量合并为了2x[4,3]的张量,原来每个[2x3]的张量的行数扩展至了4行。将多个向量在同一维度上进行合并,并且要求在指定维度dim外,其他维度的形状应保持相同。关于在不同维度上合并的结果。

2023-04-22 15:19:21 1192 1

原创 git clone失败:fatal: unable to access

【代码】git clone失败:fatal: unable to access。

2023-04-17 18:49:15 1595

原创 力扣18.四数之和

给你一个由 n 个整数组成的数组 nums ,和一个目标值 target。输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]输入:nums = [1,0,-1,0,-2,2], target = 0。输入:nums = [2,2,2,2,2], target = 8。你可以按 任意顺序 返回答案。a、b、c 和 d 互不相同。输出:[[2,2,2,2]]

2023-02-24 16:35:57 1947

原创 假脱机技术Spooling和守护进程

总结:在假脱机打印系统下,对于每个用户而言,系统并非即时执行其程序输出数据的真实打印操作,而只是即时将数据输出到缓冲区,这时的数据并未真正被打印,只是让用户感觉系统正在为自己打印;当系统引入多道程序技术后,完全可以利用其中的一道程序,来模拟脱机输入时外围控制机的功能,把低速IO设备上的数据传送到高速磁盘上。这样便可在主机的直接控制下,实现以前的脱机输入,输出功能。守护进程是允许使用该独占设备的唯一进程,其它所有进程都不能直接使用该设备,只能将对该设备的使用要求写入一份文件中,放在假脱机目录中。

2023-02-23 20:04:32 1391

原创 力扣79.单词搜索

输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “ABCCED”输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “ABCB”输入:board = [[“A”,“B”,“C”,“E”],[“S”,“F”,“C”,“S”],[“A”,“D”,“E”,“E”]], word = “SEE”

2023-02-23 10:53:54 292

原创 力扣62.不同路径

使用最经典的深搜dfs模板搜索全部路线,每搜索到一个路线让全局变量count++,最终返回count,但由于其指数级的时间复杂度最终导致结果超时。思路:对于一个位置(i,j)的到达路线数,等于其正上方位置:(i-1,j)路线数加上其左边位置:(i,j-1)路线数之和。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。输入:m = 3, n = 7。输入:m = 3, n = 2。输入:m = 7, n = 3。输入:m = 3, n = 3。

2023-02-19 10:07:03 503

原创 力扣38.外观数列

最简单易懂的方法,直接按照题目所给规则从1到n顺序生成所需要的外观序列,虽然思路及其简单但在用C语言实现上比较繁琐。

2023-02-18 18:46:53 499

原创 力扣56.合并区间

如果当前区间的左端点在数组 merged 中最后一个区间的右端点之后,那么它们不会重合,我们可以直接将这个区间加入数组 merged 的末尾;否则,它们重合,我们需要用当前区间的右端点更新数组 merged 中最后一个区间的右端点,将其置为二者的较大值。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].输出:[[1,6],[8,10],[15,18]]输出:[[1,5]]

2023-02-17 16:47:14 682

原创 力扣53.最大子数组和

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]这里dp[i]表示:选取位置i的数作为结尾的情况下能达到的最大的和。解释:连续子数组 [4,-1,2,1] 的和最大,为 6。输入:nums = [5,4,-1,7,8]上面两种情况就对应了以下状态转移方程。子数组 是数组中的一个连续部分。输入:nums = [1]

2023-02-17 11:27:13 354

原创 力扣24.两两交换链表中的节点

递归函数中其中一个重大的作用就是为它的上一级调用函数返回需要的节点作为上一级递归中的下一个节点,我们暂存这个节点,在需要结束时返回给上一级函数。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。并且根据规律,本节点的前驱节点也应改成本节点的原后继节点,即上面暂存的节点P。链表中节点的数目在范围 [0, 100] 内。输入:head = [1,2,3,4]输入:head = [1]输出:[2,1,4,3]

2023-02-15 11:52:59 384

原创 力扣39.组合总数

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。2 和 3 可以形成一组候选,2 + 2 + 3 = 7。输入:candidates = [2,3,6,7], target = 7。输入: candidates = [2,3,5], target = 8。输出: [[2,2,2,2],[2,3,3],[3,5]]输出:[[2,2,3],[7]]

2023-02-13 21:02:46 519

原创 力扣33.搜索旋转排序数组

在传递给函数之前,nums 在预先未知的某个下标 k(0

2023-02-11 15:41:57 500 1

原创 力扣22.括号生成

另外注意在使用递归写法写回溯算法时,对于每一个递归函数内的传递变量,最好不要在函数内改变它们的值,而是在传入下一个递归函数时再改变,例如本题dfs函数中的:left,right,index这些参数。所以例如:dfs(left+1,right,result,index+1,n,returnSize);而不是:left++;输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]

2023-02-10 22:27:37 171

原创 操作系统基础---多线程

内核支持线程KST是在内核的支持下运行的,它们的创建,阻塞,撤销和切换等,都是在内核空间实现的。为了对内核线程进行控制和管理,在内核空间为每一个内核线程设置了一个线程控制块,内核根据该控制块而感知某线程的存在,并对其加以控制。当前大多数OS都支持内核支持线程。

2023-02-09 21:20:41 1539

原创 力扣64.最小路径和

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。即dp[i][j]是从左边临近位置走来的路径花费和从上边临近位置走来的路径花费比较中的最小者。输入:grid = [[1,3,1],[1,5,1],[4,2,1]]根据此状态转移方程,并给dp[0][0]赋初始值为grid[0][0]以数组dp[i][j]表示:走到位置i,j的最小路径花费。输入:grid = [[1,2,3],[4,5,6]]解释:因为路径 1→3→1→1→1 的总和最小。

2023-02-09 10:42:18 393

原创 操作系统进程通信

这种通信方式属于高级通信方式, 需要通信的进程在通信前,先向系统申请获得共享存储区中的一个分区,并将其附加到自己的地址空间中,便可对其中的数据进行正常读写,读写完成或不再需要时,将其归还给共享存储区。将客户过程的本地调用转化为客户存根,再转化为服务器过程的本地调用,对客户与服务器来说,中间步骤是不可见的,因此调用者在整个过程中并不在知道该过程的执行是在远程,而不是在本地,从而实现了透明。在共享存储器系统中,相互通信的进程共享某些数据结构或共享存储区,进程之间能通过这些空间进行通信。

2023-02-07 16:08:31 1523

原创 生产者消费者问题

有一群生产者进程生产产品,并将这些产品提供给消费者进程去消费。为使生产者进程与消费者进程能并发执行,在两者之间设置一个具有n个缓冲池的缓冲区,生产者进程将其所生产的产品放入一个缓冲区中;尽管所有生产者进程和消费者进程都是异步运行的,但他们之间必须保持同步,既不允许消费者进程到一个空的缓冲区去取产品,也不允许生产者进程向一个已装满产品且尚未被取走的缓冲区投放产品。每个程序中的多个wait操作顺序不能颠倒,应先执行对资源信号量的wait操作,然后再执行对互斥信号量的wait操作,否则可能引起死锁。

2023-02-03 20:49:52 716

原创 力扣123.买卖股票的最佳时机Ⅲ&买卖股票的最佳时机Ⅳ

解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3。解释:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3。输入:prices = [3,3,5,0,0,3,1,4]持股,第一次持股,f2。

2023-02-03 10:33:35 350

原创 操作系统进程同步

代表共享资源和数据结构以及由对该共享数据结构实施操作的一组过程所组成的资源管理程序共同构成了一个操作系统的资源管理模块,我们称之为管程。管程被请求和释放资源的进程所调用。

2023-02-02 16:08:07 2444

原创 力扣121.买股票最佳时机

这里唯一需要区别于其他力扣股票问题的细节是,由于只能买一次卖一次,所以第i天持股状态情形变化为:第i天当天买入股票时,前面并无累计金额,因为前面不会有更早的买卖交易出现了。题目中代码细节实现为: f[i][0]=fmax(f[i-1][0],f[i-1][1]-prices[i]);而本题中采用: f[i][0]=fmax(f[i-1][0],-prices[i]);解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。

2023-02-01 23:10:00 308

原创 力扣309.最佳买股票时机含冷冻期

给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

2023-02-01 21:04:29 139

原创 力扣98.验证二叉搜索树

给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。输入:root = [5,1,4,null,null,3,6]解释:根节点的值是 5 ,但是右子节点的值是 4。所有左子树和右子树自身必须也是二叉搜索树。节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。树中节点数目范围在[1, 104] 内。输入:root = [2,1,3]

2023-01-21 15:32:50 1684

原创 力扣45.跳跃游戏Ⅱ(贪心思路详解)

从最后一个位置开始遍历,并选定该位置作为目标位置,然后从前向后查找出第一个能跳到这个位置的位置,即距离目标位置最远的位置,作为上一跳的起跳位置,然后更新这个起跳位置为目标位置,再选定这个新的目标位置,继续从前往后查找,找到距离这个新目标位置最远的起跳位置,且该起跳位置保证可以跳到新的目标位置,重复该过程直到使起跳位置变成第一个位置,返回步数。例如,对于数组 [2,3,1,2,4,2,3],初始位置是下标 0,从下标 0 出发,最远可到达下标 2。输入: nums = [2,3,1,1,4]

2023-01-20 19:11:20 801

原创 力扣55.跳跃游戏(比较简单)

解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。给定一个非负整数数组 nums ,你最初位于数组的 第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。输入:nums = [2,3,1,1,4]输入:nums = [3,2,1,0,4]判断你是否能够到达最后一个下标。

2023-01-19 15:41:39 983

原创 操作系统进程控制

将一些与硬件紧密相关的模块(如中断处理程序等),各种常用设备和驱动程序以及运行频率较高的模块(如时钟管理模块,进程调度和许多模块所公用的一些基本操作),都安排在靠近硬件的软件层次中,将它们常驻内存,通常被称为OS内核。引起进程阻塞的事件:①向系统请求共享资源失败 ②等待某种操作的完成 ③新数据尚未到达 ④等待新任务的到达。便于对OS内核中的这些软件进行保护,防止遭受其他程序的破坏;可以提高OS的运行效率。

2023-01-18 20:42:56 1161

原创 力扣36.有效的数独

解释:除了第一行的第一个数字从 5 改为 8 以外,空格内其他数字均与 示例1 相同。请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。board[i][j] 是一位数字(1-9)或者 ‘.’只需要根据以上规则,验证已经填入的数字是否有效即可。一个有效的数独(部分已被填充)不一定是可解的。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。输入:board =

2023-01-18 16:25:57 628

原创 进程的基本概念

进程是程序的一次执行进程是一个程序及其数据在处理机上顺序执行时所发生的活动.进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位.进程实体由程序段,相关的数据段和PCB三部分构成,简称进程PCB(Process Control Block)称为进程控制块,系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程.传统OS中的进程定义为"进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位".进程的实质是进程实体的执行过程.

2023-01-17 20:20:14 2072

原创 力扣8.字符串转换整数(比较简单)

具体来说,小于 −231 的整数应该被固定为 −231 ,大于 231 − 1 的整数应该被固定为 231 − 1。将前面步骤读入的这些数字转换为整数(即,“123” -> 123, “0032” -> 32)。第 2 步:“4193 with words”(当前没有读入字符,因为这里不存在 ‘-’ 或者 ‘+’)字符串的其余部分将被忽略。由于 “-42” 在范围 [-231, 231 - 1] 内,最终结果为 -42。第 2 步:“42”(当前没有读入字符,因为这里不存在 ‘-’ 或者 ‘+’)

2023-01-17 16:58:52 682

原创 力扣16.最接近的三数之和

给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。示例 1:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。

2023-01-13 17:42:48 569

原创 力扣12.整数转罗马数字

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II。27 写做 XXVII, 即为 XX + V + II。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为 IX。

2023-01-12 14:35:04 125

原创 操作系统绪论

在内存中的每个进程,在何时能获得处理机运行,何时因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需要多少时间才能完成等等都是不可预知的。由于各用户程序的性能不同,有的侧重于计算而需要较少的IO,有的程序计算少而IO多,这样很可能先进入内存的作业后完成,而后进入内存的作业先完成。— 1.数据的分布处理和存储:由于客户机具有相当强的处理和存储能力,可进行本地处理和数据存储分布,从而摆脱了由于把一切数据都存放在主机而造成的既不可靠又容易产生瓶颈现象的困难局面。为什么采用客户/服务器模式?

2023-01-12 10:31:55 251

原创 常用典型总线分类及特点(考前突击简记)

连接机械硬盘,固态硬盘,光盘驱动器等,在服务器或工作站使用,并行接口,连接机械硬盘,固态硬盘,光盘驱动器等,在服务器或工作站使用,并行接口,连接机械硬盘,固态硬盘,光盘驱动器等,并行接口。连接机械硬盘,固态硬盘,光盘驱动器等,串行接口。

2022-12-21 00:20:38 1505

原创 循环冗余编码(CRC编码)与海明码(考研前突击一下QAQ)

生成多项式:G=1011表示成生成多项式为G(x)=X3+X+1示例:假设信息字节为:F=1001010选取生成多项式(默认)G=1011将F左移l-1位,题设l为4位(l为生成多项式位数)形成:F‘=1001010 000进行运算,用数据F除生成多项式得到余数 111用数据码F减去余数 1001010 000 -111(采用模2的减法)= 1001010 111得到发送端需要的编码字M:1001010 111(其实等效于直接将余数拼接到数值位尾部)

2022-12-20 22:41:29 1114

原创 浮点数渐进下溢

例题:Y=0.375 Z为IEEE754单精度浮点数,Z的十六进制内容为FE000000,问:Y/Z的结果是否溢出,如果溢出,除法运算后应如何返回Y/Z的结果。采用浮点数除法运算的规则,其结果为。

2022-11-30 18:38:56 1002

原创 浮点数精度丢失分析

问题2:解释为何整数123456789转换为单精度浮点数后,变为123456792.0。问题1:解释为何浮点数123456789.0与20相加的结果为123456816。,作为单精度浮点数存储和运算时造成的精度丢失导致了运算结果的不相等。问题3:解释为何浮点数0.11+0.22不等于0.33。三个浮点数尾数规格化后的精度明显超出了。

2022-10-12 15:37:10 1404

JAVA五子棋AI对战版

JAVA五子棋AI对战版

2022-01-23

AI五子棋人机对战Java版

AI五子棋人机对战源码,悔棋和认输没来得及写哦,

2022-01-09

空空如也

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

TA关注的人

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