- 博客(73)
- 收藏
- 关注
原创 COCO数据集可视化
可视化内容包括检测框分割mask关节点1.检测框的可视化这里以人为例import jsonimport osimport cv2parent_path = '../datasets/coco/images/val2017'json_file = 'coco_instances_val2017_results.json'with open(json_file) as an...
2019-11-20 20:19:20
15018
19
转载 COCO数据集标注详解
COCO数据集简单介绍COCO的 全称是Common Objects in Context,是微软团队提供的一个可以用来进行图像识别的数据集。这里以COCO2017数据集为例。MS COCO数据集中的图像分为训练、验证和测试集。一共80个类,分别是:[‘person’, ‘bicycle’, ‘car’, ‘motorcycle’, ‘airplane’, ‘bus’, ‘train’, ‘t...
2019-07-24 17:22:11
12495
3
原创 使用COCO数据集报错
1.背景跑深度学习的代码时,用到COCO数据集,就需要用到COCOAPI,我们按照它的requirement来,直接把PythonAPI放在相应的文件夹下,会报错ImportError:No module named 'pycocotools._mask’或ImportError: No module named 'pycocotools2.原因你可以进入PythonAPI目录,会发现有一个...
2019-04-05 01:25:03
1992
4
原创 无状态应用设计
应用实例不在本地持久保存请求相关的状态。所有需要的会话或上下文,转而存放到后端共享存储(如 Redis、数据库),或被安全地随请求携带。因此请求落到任何实例,处理路径与结果都一致,天然利于水平扩展与弹性伸缩。
2025-12-20 15:26:04
87
原创 布隆过滤器
布隆过滤器是一种数据结构,用于快速检索一个元素是否可能存在于一个集合(bit 数组)中。它的基本原理是利用多个哈希函数,将一个元素映射成多个位,然后将这些位设置为 1。当查询一个元素时,如果这些位都被设置为 1,则认为元素可能存在于集合中,否则肯定不存在。所以,布隆过滤器可以准确的判断一个元素是否一定不存在,但是因为哈希冲突的存在,所以他没办法判断一个元素一定存在。只能判断可能存在。
2025-12-17 23:37:43
78
原创 会话技术Cookie Session Token
HTTP协议是基于请求响应模型,它是无状态协议。所谓无状态,是指后一次请求是不会携带前一次请求数据的。像系统的登录功能,第一次用户登录,接着第二次访问系统,第二次的HTTP请求是不会携带第一次HTTP请求信息的,即后续是无法知道第一次是否登录成功了。解决思路是,在第一次登录之后,存储一个登录标记,后续请求的时候检查登录标记,如果有登录标记就可以访问页面,没有则返回登录页面。
2025-12-17 21:20:15
390
原创 LVS:Linux Virtual Server
LVS:Linux Virtual Server,是全球最流行的四层负载均衡开源软件,由章文嵩博士在1998年开发。目前,LVS已被整合到Linux内核当中,因此不需要安装LVS软件,默认内核就有负载均衡特性了。阿里的四层SLB是基于LVS+keepalived实现的。如何确认当前Linux内核有LVS功能#查看内核#查看内核中是否有ipvs字样,有的话即代表有LVS功能。
2025-12-16 19:51:28
972
1
原创 Nginx+keepalived
daemon语法:daemon on | off默认值:on是否以守护进程方式运行nginx语法:master_process on | off默认值:on是否以master/worker方式进行工作,在实际环境中,nginx是以一个master进程管理多个worker进程的方式运行的,关闭后nginx就不会fork出work子进程来处理请求,而是用master进程自身来处理请求。
2025-12-16 19:40:46
1225
原创 分布式事务专题5
可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。此方案是利用消息中间件完成,如下图:事务发起方(消息生产方)将消息发给消息中间件,事务参与方从消息中间件接收消息,事务发起方和消息中间件之间,事务参与方(消息消费方)和消息中间件之间都是通过网络通信,由于网络通信的不确定性会导致分布式事务问题。1.本地事务与消息发送的原子性问题。
2025-12-04 20:49:48
1011
原创 分布式事务专题4
TCC是Try、Confirm、Cancel三个词语的缩写,TCC要求每个分支事务实现三个操作:预处理Try、确认 Confirm、撤销Cancel。Try操作做业务检查及资源预留(例如,要转账1万元,try阶段会检查金额够不够1万元),Confirm做业务确认操作,Cancel实现一个与Try相反的 操作即回滚操作。
2025-12-04 20:28:30
784
原创 分布式事务专题3
分布式事务执行过程中,依次执行各参与者的正向操作,如果所有正向操作均执行成功,那么分布式事务提交。事务2也去扣款30元,于是冻结金额增加30,但是两个冻结金额是相互独立的,两个事务操作各自的冻结金额,不会出现线程安全的问题。对于已经空回滚的业务,之前被阻塞的try操作恢复,继续执行try,就永远不可能confirm或cancel ,事务一直处于中间状态,这就是。解决方案:执行try操作时,应当判断cancel是否已经执行过了,如果已经执行,应当阻止空回滚后的try操作,避免悬挂。
2025-12-04 20:06:01
1006
原创 分布式事务专题2
针对不同的分布式场景业界常见的解决方案有2PC、 TCC、可靠消息最终一致性、最大努力通知这几种。2PC即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2是指两个阶段,P是指准备阶段,C是指提交阶段。举例:张三和李四好久不见,老友约起聚餐,饭店老板要求先买单,才能出票。这时张三和李四分别抱怨近况不如意,囊中羞涩,都不愿意请客,这时只能AA。只有张三和李四都付款,老板才能出票安排就餐。但由于张三和李四都是铁公鸡,形成了尴尬的一幕:准
2025-12-04 20:00:34
396
原创 分布式事务专题1
事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。对于多数大型互联网应用的场景,结点众多、部署分散,而且现在的集群规模越来越大(如果选择一致性,同步的过程就会耗时很久),所以节点故障、网络故障是常态,而且要保证服务可用性达到N个9(99.99…%),并要达到良好的响应性能来提高用户体验,因此一般都会做出如下选择:保证P和A,舍弃C强一致,保证最终一致性。
2025-12-04 19:50:28
1335
原创 高斯数据库
Tablespace,即表空间,表空间是一个目录,实例中可以存在多个表空间,其中存储的是它 所包含的数据库的各种物理文件。每个表空间可以对应多个Database。Database,即数据库,用于管理各类数据对象,各数据库间相互隔离。数据库管理的对象可 分布在多个Tablespace上。Datafile Segment,即数据文件,通常每张表只对应一个数据文件。如果某张表的数据大于 1GB,则会分为多个数据文件存储。Table,即表,每张表只能属于一个数据库,也只能对应到一个Tablespace。
2025-12-03 19:57:02
1203
原创 Sharding-JDBC
小明是一家初创电商平台的开发人员,他负责卖家模块的功能开发,其中涉及了店铺、商品的相关业务,设计如下数据库:通过以下SQL能够获取到商品相关的店铺信息、地理区域信息:形成类似以下列表展示:随着公司业务快速发展,数据库中的数据量猛增,访问性能也变慢了,优化迫在眉睫。分析一下问题出现在哪儿 呢? 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到 1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。方案1:通过提升服务器
2025-12-02 17:59:50
1037
原创 计算机网络
包括TCP(传输控制协议)、UDP协议(用户数据报协议)传输层协议应用场景:TCP:可靠传输,分段、编号、流量控制、拥塞控制、客户端和服务器需要建立TCP连接,通信结束后释放连接。例如:QQ传文件、访问网站、上传下载文件UDP:不可靠传输,尽最大努力交付。一个数据包就能完成数据通信,不建立会话(域名解析IP地址,一个数据包就能完成,就是UDP),例如:QQ聊天,QQ语言聊天和视频(TCP分段编号之后会出现传输顺序问题,给客户端返回时会语无伦次),多播(一个人投屏,其他人都能收到)
2025-12-02 17:07:57
976
原创 arthas实现类的热部署
我们要实现一个功能,前台输入1返回hello,其他输入返回world。如下,这里字符串判断相等错误使用了等号。导致前台输入1也是返回world。
2025-10-30 20:36:39
318
原创 java并发编程2
基于上述原因,并不是每次创建新线程,而是应该充分利用已有的线程资源。和享元模式思想比较类似上图中的组件:代码第4行定义了队列;代码第7行定义了锁,之所以用到锁,是因为从阻塞队列中获取任务、往阻塞队列中加入任务,会涉及到多个线程并发操作,不加锁会出现线程安全问题;代码第10、13行创建了两个waitSet,如果阻塞队列满了,则生产者需要进入fullWaitSet中去等待,如果阻塞队列没有元素了,消费者需要进入emptyWaitSet中去等待。代码第16行定义了队列容量代码23行是从队列中取任务,可以看到它里
2025-10-13 20:42:29
444
原创 Shiro
什么是 Shiro官网:http://shiro.apache.org/是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。Shiro 就是用来解决安全管理的系统化框架。
2025-10-12 23:17:09
156
原创 java并发编程
课程内容用到的pom.xml 依赖如下logback.xml 配置如下:2、进程与线程2.1 进程与线程进程线程二者对比进程基本上相互独立的,而线程存在于进程内,是进程的一个子集进程拥有共享的资源,如内存空间等,供其内部的线程共享进程间通信较为复杂线程通信相对简单,因为它们共享进程内的内存,一个例子是多个线程可以访问同一个共享变量线程更轻量,线程上下文切换成本一般上要比进程上下文切换低并发: concurrent,微观串行,宏观并行并行:parallel多线程可以让方法执行变为异步的使用 R
2025-10-12 22:42:50
898
原创 RocketMQ
MQ,Message Queue,是一种提供消息队列服务的中间件,也称为消息中间件,是一套提供了消费、存储、消费全过程API的软件系统,消息即数据,一般消息的体量不会很大。MQ可以将系统的超量请求暂存其中,以便系统后期可以慢慢进行处理,从而避免了请求的丢失或系统被压垮。系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会提
2025-09-25 20:44:34
1015
原创 Docker
命令说明文档地址拉取镜像推送镜像到DockerRegistry查看本地镜像docker rmi删除本地镜像docker rmidocker run创建并运行容器(不能重复创建)docker run停止指定容器启动指定容器重新启动容器docker rm删除指定容器docker ps查看容器docker ps查看容器运行日志进入容器保存镜像到本地压缩文件加载本地压缩文件到镜像查看容器详细信息镜像存在于镜像仓库,我们通过docker pull命令可以从镜像仓库拉取镜像到本地仓库;
2025-09-24 21:27:58
1021
原创 Redis
在上面的代码中,我们登录的时候给用户信息存入到session中,设置有效期是30分钟。如果是session登录方式,如果用户一直在访问我们的系统,就会一直续约session的时间,而我们没有实现这个功能。我们这里通过拦截器来实现用户信息续约。但是LoginInterceptor只是拦截一部分路径,对于那些不需要登录的地方是不拦截的,也就无法实现用户信息续约了。1、通过拦截器实现redis中用户信息的续约2、解决LoginInterceptor拦截器无法对用户信息续约的问题前言什么是缓存?缓存(
2025-06-05 20:25:49
431
原创 Spring Boot
application.ymlapplication.yaml配置文件优先级:application.properties > application.yml > application.yaml引导类在com.itheima包下面,而测试类在com包下面,那么测试类就会报错。因为这样配置无法拿到spring容器。解决方法是,在测试类上面加上class属性,class=引导类.class。这就就能拿到spring容器了整合实现:@RunWith(设置运行器)@ContextConfigur
2025-05-27 19:42:36
1459
原创 Spring MVC
将应用程序分为 Controller、Model、View 三层,Controller 接收客户端请求,调用 Model 生成业务数据,传递给 View。Spring MVC 就是对这套流程的封装,屏蔽了很多底层代码,开放出接口,让开发者可以更加轻松、便捷地完成基于 MVC 模式的 Web 开发。
2025-05-27 19:35:21
1133
原创 Spring
Spring 框架两大核心机制(IoC、AOP)Spring 是一个企业级开发框架,是软件设计层面的框架,优势在于可以将应用程序进行分层,开发者可以自主选择组件。创建实体类 Student传统的开发方式,手动 new Student通过 IoC 创建对象,在配置文件中添加需要管理的对象,XML 格式的配置文件,文件名可以自定义。从 IoC 中获取对象,通过 id 获取。配置文件通过配置 标签来完成对象的管理。:对象名。:对象的模版类(所有交给 IoC 容器来管理的类
2025-05-25 13:48:47
1214
1
原创 MySQL
客户端与数据库建立连接。然后SQL语句会经过词法解析、语法解析,如果通过,则会检查查询换成中有无对应结果,有的话直接返回;没有则需要去数据库中查询。此时会经过优化器生成执行计划,然后交给执行器。执行器去数据库的存储引擎中去查询数据。
2025-05-25 10:23:54
1316
原创 MyBatis
ORMapping: Object Relationship Mapping 对象关系映射对象指⾯向对象关系指关系型数据库Java 到 MySQL 的映射,开发者可以以⾯向对象的思想来管理数据库。
2025-05-25 09:56:21
808
原创 Java Web
bin:存放各个平台下启动和停⽌ Tomcat 服务的脚本⽂件。conf:存放各种 Tomcat 服务器的配置⽂件。lib:存放 Tomcat 服务器所需要的 jar。logs:存放 Tomcat 服务运⾏的⽇志。temp:Tomcat 运⾏时的临时⽂件(文件上传和下载会用到。当上传大文件时,如果是存到内存中显然是不合理的,temp就是用来存放这些临时文件的)。webapps:存放允许客户端访问的资源(Java 程序)。work:存放 Tomcat 将 JSP 转换之后的 Servlet ⽂件。
2025-05-25 09:49:22
905
原创 JVM(Java虚拟机)
1)定义Java Virtual Machine ,Java 程序的(Java 二进制字节码的运行环境)。2)好处3)功能4)比较JVM、JRE、JDK 的关系如下图所示。
2025-05-24 19:41:07
2226
原创 Java核心基础
例如a&b 和a&&b,前1个会对a和b的值进行判断(即使a为false也会进行判断),而后一个则在a为false的时候,不会对b进行判断,效率更高。(非运算) > 算术运算符(加减乘除、大于、小于、大于等于、小于等于、不等于) > 逻辑运算符(&& > ||,与运算大于或运算)&(与)、|(或)、!(非)、&&(短路与)、||(短路或)java可以自动对某些数据类型进行自动转换。例如:可以由int转换成long;
2025-05-24 18:43:12
716
原创 PyTorch报错:xxx.pth is a zip archive(did you mean to use torch.jit.load()?)
运行torch.load(‘xxx.pth’)报错:RuntimeError: xxx.pth is a zip archive(did you mean to use torch.jit.load()?)出错原因:xxx.pth是由PyTorch1.6或更高版本生成的模型。1.6之后pytorch默认使用zip文件格式来保存权重文件,导致这些权重文件无法直接被1.5及以下的pytorch加载。解决方法在PyTorch1.6或更高版本的PyTorch下,运行一下代码,来转换模型.
2021-02-07 10:33:38
4604
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅