- 博客(26)
- 收藏
- 关注
原创 【bug】使用mmsegmentaion遇到的问题
datasets/coalDataset.py配置文件,与其他配置对比之后发现自己将val_dataloader里面的pipeline写成了train_pipeline,以后还是得长点心哇,这个bug卡太久了。由于之前用自己数据集跑过internImage,想投机取巧把internImage自定义的配置文件拿过来直接用,果不其然报错了。所有的输出都是合适的,图像和标签大小没有问题,将问题转到配置文件中数据增强部分也就是自定义的configs/和问题二一样,在训练时没有问题,到了评估出指标时就开始报错。
2024-04-22 15:08:15
1191
原创 Windows系统下配置PaddleOCR虚拟环境
将 zlibwapi.dll 文件放到 path/to/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.0/bin 下。我的电脑最支持cudatoolkit《=12.0,之前的踩坑实践得出:cuda大于11的就不能装cuda小于11的版本,这样会导致算力不匹配,影响效率。经过以上,则基础环境就配置好了,还剩一些PaddleOCR的小模块,可以使用pycharm将打开paddleOCR,配置好程序的虚拟环境后,使用。查看电脑支持的cudnn版本,使用。
2023-09-06 14:35:52
1152
原创 PP-OCR阅读笔记
PP-OCR是一个实用的超轻量中英文OCR系统,对最新的文本检测算法和经典的文本识别算法CRNN的能力充分挖掘。虽然没有理论创新,但是从骨干网络选择和调整预测头部的设计数据增强学习率变换策略正则化参数选择预训练模型使用以及模型自动裁剪量化8个方面,采用19个有效策略,对各个模块的模型进行效果调优和瘦身,最终得到整体大小为3.5M的超轻量中英文OCR和2.8M的英文数字OCR下图是PP-OCR的流程图,主要由DB文本检测检测框修正和CRNN。
2023-09-04 21:23:47
657
原创 卸载重装Ubuntu22.04双系统
先说一下写此篇文章的背景吧,我在Windows下配置了三个cornerNet深度学习环境分别是cuda10.3(显卡版本太高不支持),cuda11.3(配置后偶然看到一篇说这个版本win下只能用CPU跑),最后是cuda11.1终究还是没能跑通代码,因为它的代码是在Liunx系统写的,就想着装个Ubuntu试试看,在网上看说一般软件不要装太高版本,我就下载了470版的显卡驱动,跟着步骤升级了系统内核,结果第二天开机Ubuntu就崩了,开机黑屏左上角只有一道横杠显示,只能按ctrl+shift+f5进入命令窗
2022-05-10 19:38:53
4894
原创 [Bug]Anaconda+pycharm导入opencv
记一个Bug在运行CornerNet时出现ImportError:DLL load failed while impirting cv2:找不到指定的模块我先建了一个CornerNet虚拟环境,刚开始在pycharm里的Terminal中使用pip install opencv-python安装了opencv但结果发现还是报错,接着在网上查了一些解决方法,发现这篇对我这个问题来说比较有用解决import cv2出错方案1.根据自己的操作系统和python版本先下载opencv的whl文件(下载地址)
2022-04-06 19:28:09
3733
原创 多线程的相关知识
一、程序、进程和线程程序:为了完成一个任务,用某种语言编写的指令集和,即一段静态代码。进程:是在工作运行中的程序。进程是有生命周期的;进程作为资源分配的单元,系统在运行时为每个进程分配不同的内存区域。线程:进程可以进一步划分为线程,是一个程序的内部路径,。若一个进程同一时间并行指向多个线程,就是支持多线程;线程作为调度和执行的单位,每个线程都拥有独立的运行栈和程序计数器;一个进程中的多个线程共享相同的内存地址空间,它们从同一个堆中分配对象,可以访问相同的变量及对象。一般来说java应用程序至少有
2021-05-23 20:48:53
93
原创 网络编程——TCP/IP协议
一、定义:TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。(来源百度百科)二、TCP/IP协议由应用层、传输层、网络层和数据链路层组成。1.应用层:应用层负责应用程
2021-04-25 20:18:57
475
原创 【NC】二叉树的镜像
题目描述:操作给定的二叉树,将其变换为源二叉树的镜像。如下图:解题思路:利用二叉树的先序遍历判断当前结点是否为空,如果为空则返回null,否则进入2;判断当前结点的左右子树是否为空,只要有一个不为空则进行当前结点的左右子树进行交换;递归将左子树镜像化;递归将右子树镜像化;返回根节点。代码如下所示:public TreeNode Mirror (TreeNode pRoot) { // write code here if(pRoot == null){
2021-04-25 15:49:29
250
原创 斐波那契数(递归法与动态规划法)
//递归法 public static int Fibonacci1(int n){ if(n == 0){ return 0; } if(n == 1){ return 1; } return Fibonacci1(n - 1) + Fibonacci1(n - 2); }public static int output[] = new int[1000];/
2021-04-09 22:56:35
929
原创 【牛客】括号序列
题目描述:给出一个仅包含字符’(’,’)’,’{’,’}’,’[‘和’]’,的字符串,判断给出的字符串是否是合法的括号序列括号必须以正确的顺序关闭,"()“和”()[]{}“都是合法的括号序列,但”(]“和”([)]"不合法。解题思路:对于括号匹配问题,采用栈解题比较容易一些。具体步骤如下所示:1.首先定义一个字符栈,利用循环遍历字符串;2.判断如果是左括号,则将当前字符压入栈中;3.如果不符合条件上述2,判断当前栈是否为空,如果为空则说明右括号多了,直接返回false;4.接下来判断当前字
2021-04-01 20:24:05
288
原创 【牛客】合并有序链表
题目描述:将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的,且合并后新链表依然有序。解题思路:1.先做非空链表判断,如果链表1为空返回链表2,链表2为空则返回链表1;2.定义两个链表结点,一个为新链表的头结点head初始化为-1,另一个为新链表的当前结点cur,并且cur指向head;3.两个链表都不为空时进入循环,在循环体内判断链表1当前结点的值与链表2当前结点的值哪个小,cur指向当前结点小的值,依次判断两个链表值;4.当循环体执行完时说明此时要么链表1的值判断
2021-03-30 19:23:41
195
原创 【牛客】判断链表是否有环
题目描述判断给定的链表中是否有环。如果有环则返回true,否则返回false。求解思路链表是否有环问题相当于数学中的相遇问题,但在一个环内不能像普通求解相遇问题那样判断路程相等,可以通过定义快慢指针来进行求解,在一个圆内两指针终归会指向同一个结点,且慢指针走的路程小于等于圆环的长度。初始化两个指针使其都指向head 结点,每次让慢指针走一步而快指针走两步,循环判断两节点是否相等,如果相等则证明有环,否则判断无环。完整代码如下所示: public boolean hasCycle(ListNode
2021-03-26 19:43:03
201
原创 【牛客】翻转链表
题目描述:输入一个链表,反转链表后,输出新链表的表头。定义链表结点如下图所示例如给如下一个链表:链表翻转后如下图所示:先将两个节点进行翻转:定义当前结点、当前结点的前驱以及当前结点的后继:ListNode pre = null;ListNode cur = head;ListNode Next = cur.next;链表进行翻转时,当前结点的next指向前一个结点,依次将前驱结点和后继结点往后移动一个位置,前两个结点进行翻转后的效果如下所示:cur.next = pre;/
2021-03-26 16:54:47
137
原创 如何定位HTTP协议的URL路径资源
为了解决如何定位HTTP协议的URL路径资源问题,首先了解几个基本概念:什么是http?url是什么?TCP又是什么?1、了解http它的英文全称为:Hypertext Transfer protocal即超文本传输协议,就是一个简单的请求—相应协议,它通常指定了客户端可能发送给服务器什么样的消息以及得到什么样的相应。2、了解URL英文全称为:uniform resource locator即统一资源定位系统,它是因特网的万维网服务程序上用于指定信息位置的表示方法。主要包括三个部分:第一部分是协议
2021-03-23 19:41:43
862
原创 初学web知识
初学web1.htm基本知识2.css基本知识3.javaScript基本知识4.HTTP协议相关知识5.请求格式6.响应格式7.常见的HTTP头8.静态资源vs动态资源9.什么是JSP技术(模块技术)10.servlet的生命周期
2021-03-21 15:09:22
101
原创 一个简单的网页登陆(html)
今天和大家分享如何用html做一个简易版的登陆网页。一般简单的登陆页面有用户名、密码框以及提交与清空两个按钮,效果图如下所示:1.首先网页制作中应当包含两个部分head以及body;<html> <head> </head> <body> </body></html>2.在head中设置标题为“登陆页面”,把左间距与上间距分别设为535px和20px(也可以点开所制作网页的链接ctr+shift+i键查看源代码,通
2021-03-20 22:28:49
19079
1
原创 存在重复元素
存在重复元素题目描述:给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。题目来源:leetcode方法一:可以利用HashSet<> ,将所有数组存入set中,最后比较set 的长度是否与数组的长度相同,相同则返回false,不同则返回ture;public boolean containsDuplicate(int[] nums) { HashSet<Intege
2021-03-14 20:39:51
69
原创 最后一个单词长度
最后一个单词的长度题目描述:给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。来源:leetcode分析:1.先去除前后空格;2.判断字符串是否为空(isEmpty());3.将字符串按空格分割成字符串组;4.计算字符串的长度;5.计算最后单词的长度。代码如下:public int lengthOfLastWord(String s) { String s1 = s.trim();
2021-03-14 19:18:24
69
原创 回文数问题
回文数问题给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。来源:力扣(LeetCode)方法一:先将整型变为字符型,然后使用字符型中的charAt()浏览首尾字符并进行比较,如果不相同则返回false将整型转为字符型方法: String s = String.valueOf(x); String s1 = Integer.t
2021-03-14 16:01:38
561
原创 mysql练习
MySQL员工工资表练习题目要求:现在有员工表、部门表和薪资表。部门表depart的字段有depart_id, name;员工表 staff 的字段有 staff_id, name, age, depart_id;薪资表salary 的字段有 salary_id,staff_id,salary,year。(问题a):求每个部门’2016-09’月份的部门薪水总额(问题b):求每个部门的部门人数,要求输出部门名称和人数(问题c):求公司每个部门的月支出薪资数,要求输出月份和本月薪资总数1.首
2021-03-14 11:45:48
605
原创 JAVA基础-流程控制
编程语言程序一般的控制的结构有:顺序结构、分支结构和循环结构。本篇主要讨论分支结构和循环结构。1.顺序结构:指从上到下逐语句执行,无判断、无跳转。2.分支结构:java中两种常见的分支控制结构为if条件语句和switch分支语句。2.1 if条件语句2.1.1简单if语句,用于告诉程序在某种条件成立下执行特定语句,其他条件则执行另外语句。格式如下:if(布尔表达式){ 语句序列}2.1.2if…else语句,其与简单if语句的区别在于,布尔值为假时会执行else后面的语句。格式入下:
2020-12-30 11:50:08
57
原创 JAVA基础-运算符
java中的运算符主要有算术运算符、关系运算符、逻辑运算符、位运算符、移位运算符以及条件运算符。注意:1.int/int结果还是int,需使用double计算;2.0不能做除数;3.关系运算的返回值和逻辑运算符操作数都是boolean类型;4.当&和|的操作数为整数时(byte、short、int、long)表示按位运算,当操作数为Boolean类型时为逻辑运算5.移位运算符中,左移N位表示*2N,右移N位表示/2N...
2020-12-05 20:26:51
153
1
原创 JAVA基础---变量和类型
java中的数据类型有两种:基本数据类型和引用数据类型(下图中括号里表示每种类型所占字节数。1字节=8byte)(上图中括号里表示每种类型所占字节数。1字节=8byte)java中有八种基本类型和三种引用类型,两种数据类型主要区别是:基本数据类型分配在栈上,而引用数据类型分配到堆上。...
2020-12-04 15:55:59
49
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人