- 博客(31)
- 收藏
- 关注
原创 二叉树的遍历-23.07.16
二叉树的遍历以下会通过递归和迭代两种方法来实现二叉树的遍历,并通过前中后序三种方式来表达。首先给出前序、后序、中序三种情况在leetcode上对应的题目。
2023-07-16 23:51:23
132
原创 重刷剑指offer
首先记录这个字符串中的空格的数量count,然后对s进行resize,扩充为oldSize+2*count,然后从后往前进行复写。遇到非空格直接复制,遇到空格就按照顺序复写"%20"。
2023-07-15 22:52:55
129
原创 23-07-15
所以在判断queue是否为空之后,先获取当前queue中的节点个数,这个数量表示这一层需要添加左右子节点的节点数,然后根据这个size数量来进行循环,将每一层的vector都push到ans中。需要注意的是,每一行的val值不再通过vector来进行存储,因为vector只能push_back,这里采用deque双向队列来实现,deque能够实现push_back和push_front。一样是层序遍历,需要做的就是控制从左到右还是从右到左,这个通过一个flag来控制。
2023-07-15 22:35:31
111
原创 记录-23.7.10
时隔N天…记录一下几个类似的题目链表逆序存储,所以直接按照顺序进行计算就好了,就是在相加过程中要注意进位的问题。然后在head前面可以用一个虚拟头节点,这样可以避免一些边界问题。这里的数字是存储的,所以需要做一个逆序的过程。因为加法运算是从个位开始计算的,但是链表顺序存储的话在表头的部分是高位,如果从高位开始进行加法运算就会不好计算进位。进行这题和是相同的题目。
2023-07-11 20:35:54
75
原创 MacBook Pro通过ssh显示Linux服务器上的图形化界面|XQuartz|Royal TSX
先简单介绍一下使用的设备。本地机器:MBP远程服务器:Ubuntu18.04。
2023-06-21 16:46:24
3871
4
原创 TensorRT7 安装|ubuntu18.04|cuda 10.2|1080ti
但是本机原来安装的是CUDA10.1,但是TensorRT7的最新版本需要CUDA10.2,所以先重新安装一个CUDA。因为之前在win平台上使用过tensorrt,得到的唯一一个结论就是:千万要对应版本!!!无论是安装还是后续的部署,tensorrt都需要cuda和平台类型保持一致。
2023-06-19 22:56:41
652
原创 Ubuntu18.04 Qt安装 问题记录 | -iGL | Could not load the Qt platform plugin “xcb“ in ““ even though it was
稍微记录一下安装过程吧系统是Ubuntu18.04qt5.15之后只能通过在线安装,就是下载安装启动器之后,在安装界面中选择组件,然后下载。但是在本机上安装qt6.5之后。查询无果之后,选择降低qt版本,最终安装了qt5.12.12版本。本机之前安装过其他版本的qt,所以会出现一些版本冲突的问题。
2023-06-17 20:28:28
194
原创 【OpenMMLab AI训练营第二期】Class8:语义分割和MMSegmentation
accuracy就是交集比上真实的面积值IoU叫做交并比,是交集和并集之比。IoU越大,就说明真实图和预测的图越来越重合还有dice,这个可以看作是某种调和平均数以上是一个类别的,也可以算出所有类别的mAcc mIoU mDice。
2023-06-13 22:29:59
159
原创 【OpenMMLab AI训练营第二期】Class7:MMDetection代码课
自定义数据集中最重要的是 metainfo 字段,用户在配置完成后要记得将其传给 dataset,否则不生效(有些用户在自定义数据集时候喜欢去 直接修改 coco.py 源码,这个是强烈不推荐的做法,正确做法是配置 metainfo 并传给 dataset)这一层是空白的原因是,因为cat是大物体,而这一层是训练小目标的,所以没有对猫进行训练,所以梯度为0。对上面的cat的图片进行可视化分析,但是这张图片分辨率太大,会导致程序崩溃,所以先进行缩放处理。这是通过马赛克数据增强后的可视化结果。
2023-06-13 21:43:47
363
原创 【OpenMMLab AI训练营第二期】Class6:目标检测与MMDetection
目标检测是在给定的图片中用矩形框框出所有感兴趣物体同时预测物体类别的过程。图像分类和目标检测的异同目标检测在生活中有非常广泛的应用,例如人脸识别、智慧城市、自动驾驶等。也可作为其他下游视觉任务的基础,例如OCR、姿态识别等等。
2023-06-10 18:20:16
151
原创 【OpenMMLab AI训练营第二期】Class3: RTMPose
结合MMDetection、MMPose、MMDeploy等算法库来实现三角板关键点检测。其中采用了两阶段来结合两个不同任务来共同完成三角板关键点检测。首先使用目标检测,分别训练Faster RCNN和RTMDet-Tiny对图像、视频进行检测。然后使用RTMPose-s来进行关键点检测。最后可以通过将模型转为ONNX格式来部署模型到终端上进行推理。
2023-06-05 22:00:47
218
原创 【OpenMMLab AI训练营第二期】Class2: MMPose
是从图像中识别人脸、手部、身体等关键点。其过程为输入图像III,然后用xy(x,y)xy来表示所有关键点的像素坐标,其总数为JJJ。通过这种方法,可以得到以下图像的关键点。也可以把这个任务拓展到三维空间中,得到三维空间中人体的姿态。更进一步的话可以在图像或者视频中恢复出运动的3D人体模型。
2023-06-02 22:03:19
165
1
原创 【OpenMMLab AI训练营第二期】Class1: OpenMMLab概述
又是子豪兄来做讲解,记得本科时候做树莓派相关的内容的时候就看到了子豪兄的很多分享,后来在接触CV的过程中也看了不少子豪兄分享的干货。再次膜拜一下大佬。此前也算接触过MM相关的库,但是这次整体的介绍还是给了很多启发,以下就按照自己的理解来写一些感悟吧。如果在记录的过程中有错误的地方,也请大家指出。欢迎讨论!
2023-06-01 22:05:08
604
原创 记录D12&13-23.5.31&6.1
这道题也是个easy。只需要用一个double类型的变量来累加每一层的元素,最后除以这一层的元素数量就好了。层序遍历的话,就类似广度优先搜索,可以用队列的思想,主要是要用size来控制每一层的处理次数。之前用vector来记录每一行的元素,现在只用一个int来记录每一行的最后一个元素就好了。就是在上一题的基础上对ans进行反转。
2023-05-31 22:22:13
33
原创 记录D10-23.5.26
然后对nums进行处理,先对前k个元素找到最大值,然后一个个pop头,push尾。首先定义一个单调队列,要求队列里能够按照从大到小来(从头到尾)排序。,是的话要pop尾部的元素。最后统一push当前的值。昨天尝试了暴力,然后学习了一种单调队列的方法。为了满足从大到小排列,在push的时候循环判断。所以在pop的时候要判断。
2023-05-26 19:44:07
39
原创 记录D8-23.5.24
如果len % (len - (next[len - 1])) == 0 ,则说明数组的长度正好可以被 (数组长度-最长相等前后缀的长度) 整除 ,说明该字符串有重复的子字符串。反正就是找到next数组,然后通过推理得到结果。如果 next[len - 1]!= 0,则说明字符串有最长相同的前后缀。
2023-05-24 22:52:27
136
原创 记录D7-23.5.23
在代码随想录的文章中,不是用状态机来实现的,是用前缀表的方法。不过我感觉也差不多,都是找到当下一个字符不满足要求时应该回退的状态的位置。KMP就是一种有限状态自动机,这东西以前在学编译原理的时候学过,虽然忘了,但是大概的思路还是比较简单的。移到正确的位置继续匹配,时间复杂度只需 O(N),用空间换时间,所以我认为它是一种动态规划算法。字符串匹配可以用暴力的方法,对于出现不匹配的字符,同时回退txt和pat的指针。看了leetcode上的题解,用双指针尝试一下,比暴力稍微好一点。
2023-05-23 23:45:23
62
原创 记录D6-23.5.21
1.删除多余的空格。这里主要用双指针的方法来实现,使用快慢指针来实现复写。快指针去找不是空格的字符,此时和慢指针一起自增。当快指针找到空格且此时慢指针不是开始位置时,slow位置增加一个空格。这是为了在每个单词之间增加空格,这里需要排除在整个字符串的开头存在空格的情况。这里需要定义start和end,因为在后续每个单词反转的时候,需要找到每个单词的开头和单词后的空格的位置,或者是字符串的结束位置。这道题的整体思路就是:1.删除多余的空格;2.将整个句子反转,以达到每个单词的位置反转的目的;
2023-05-21 23:43:11
161
1
原创 记录D5-23.5.20
今天忙了别的事情,没什么时间做题LC344 反转字符串很简单的题目,s的size为n,遍历前n/2,然后将第一个和最后一个位置交换,以此类推,没什么好说的,非常简单的一道题目。里面的交换部分可以有以下解法char temp=s[i];s[i]=s[n-1-i];s[n-1-i]=temp;也可以用位运算s[i] ^= s[j];s[j] ^= s[i];s[i] ^= s[j];LC541 反转字符串2就是分段考虑,在每2k个字符中,反转前k个,后k个不动。这里唯一需要考虑的就是
2023-05-21 19:29:27
64
1
原创 记录D3-23.5.18
将四个整数数组两两分开,遍历前两个数组并记录两数之和出现的次数。然后遍历后两个数组的两数之和,看他们的互补数是否出现过。如果出现了,ans+=出现过的次数。思路比较简单,用哈希表来记录magazine里面的字符以及数量,ransomNote中出现不同字符或者数量不够就false。这里要求的是可以出现重复的情况,所以难度也没这么高。
2023-05-19 10:29:48
56
1
原创 记录D2-23.5.17
在判断快乐数的时候可以用双指针的方法,用快慢指针来解决循环中的追及问题。也可以用哈希表来记录位数和是否出现过。首先需要写一个函数来计算每一位的和。
2023-05-17 18:52:38
35
原创 记录D1-23.5.16
虽然写着D1,但其实还是写了几道题目了。其实之前也做了不少题目,但是因为各种各样原因,都没有保持连续性。所以决定开始记录一下刷题的过程,督促自己准备秋招。
2023-05-16 19:17:21
100
原创 (Caffe | Windows10) Check failed: error == cudaSuccess (8 vs. 0) invalid device function
在安装caffe-gpu版本的时候出现的Check failed: error == cudaSuccess (8 vs. 0) invalid device function的问题。原因分析由于Caffe已经很久没有更新了,所以官网上推荐的CUDA和cudnn版本任停留在CUDA8和cudnn5.1的状态,而现在机器中的显卡架构的更新可能导致无法成功安装Caffe-GPU版本。比如本人的笔记本显卡为GTX1650,是图灵(Turing)架构,同架构的还有GTX16系列和RTX20系列。图灵架构的显卡
2021-03-15 19:00:26
289
原创 (2021.3更新)Caffe(CPU-only) | vs2015 | 安装与测试
Caffe-CPU安装由于Caffe已经停止更新将近四年,因此对新显卡和新的CUDA版本不太友好,经过本人的多次调试,Caffe-GPU的安装比较困难。因此,建议先完成Caffe-CPU版本的安装,之后对GPU版本的安装能够起到较大帮助。Caffe-GPU安装(Cuda10.2+cudnn7.6.5+GTX1650+VS2015):配置环境:Caffe版本:caffe-windowsAnaconda,并配置好python3.5的环境(如果需要caffe的python接口)Cmake,可以用最新
2021-03-13 00:49:28
390
原创 Win10安装Glog0.4.0|Cmake|VS2017
Win10安装Glog-0.4.0 Cmake VS2017准备下载CmakeGlogVS2017*Gflags编译及配置环境Cmake编译gflags编译glog配置环境变量测试新建工程平台设置加入头文件、dll、lib文件测试代码致谢准备下载Cmake进入cmake官网点击Download Latest Release下载最新版本,本文档使用Cmake3.19.1。Glog进入glog的github主页点击右侧Releases能够下载各个版本的glog,本文档使用glog0.4.0。VS2
2020-12-04 00:20:14
1255
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人