自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(269)
  • 资源 (6)
  • 收藏
  • 关注

原创 mybatis中的GC过长

背景问题解决方案原因

2024-04-15 10:23:27 228

原创 K8S的基础知识

在k8s集群中,控制器通过 API Server提供的(List & Watch)接口实时监控集群中资源对象的状态变化,当发生故障,导致资源对象的状态变化时,控制器会尝试将其状态调整为期望的状态。简单说,如果要扩容,并不是给“创建一个新node”的指令,而是直接将node数改为“n+1”。ReplicaSet 主要的作用是维持一组Pod副本的运行,使pod副本的数量始终维持在预设的个数。它会持续监听这些Pod的运行状态,在Pod发生故障时重启pod,pod数量减少时重新运行新的 Pod副本。

2023-11-14 15:21:35 528

原创 docker在虚拟机中的应用

docker入门及项目实战,在虚拟机中搭建docker,数据库,前后端项目。在物理机中访问docker中的数据库,前后端项目

2023-11-10 18:53:48 780

原创 ELK学习笔记1:简介及安装

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

2023-09-13 23:18:37 426

原创 前端response为空的排查思路

前端response为空的排查思路后端日志的错误显示为空的排查思路

2023-07-18 18:54:20 1445

原创 torch—geometric 安装教程

【代码】torch—geometric 安装教程。

2022-11-26 15:53:54 231 1

原创 【语义分割研究】Semi-Supervised Semantic Segmentation Using Unreliable Pseudo-Labels 不可靠伪标签的半监督语义分割

论文标题:Semi-Supervised Semantic Segmentation Using Unreliable Pseudo-Labels作者信息:商汤科技, 上海交通大学, 香港中文大学录用信息:CVPR 2022 → arXiv:https://arxiv.org/pdf/2203.03884.pdf代码开源:https://github.com/Haochen-Wang409/U2PL。

2022-11-02 17:24:43 871

原创 凤凰架构读书笔记3-多级分流的优化,缓存,DNS,CDN,负载均衡

TCP 协议接到数据包丢失或损坏通知之前,可能已经收到了大量的正确数据,但是在纠正错误之前,其他的正常请求都会等待甚至被重发,这也是在连接数优化一节中,笔者提到 HTTP/2 未能解决传输大文件慢的根本原因。他们的原理都是在服务器对客户端请求的响应中附带一些条件,如果客户端遇到相同请求,然后判断条件是否满足,如果满足,就直接用上一次服务器给予的响应来代替。不少人的第一直觉会认为传输链路是开发者完全不可控的因素,网络路由跳点的数量、运营商铺设线路的质量决定了线路带宽的大小、速率的高低。主动分发(Push)

2022-10-26 20:17:39 1320

原创 凤凰架构读书笔记2之事务处理

多个事务可以对同一个数据添加多个读锁,数据被加上读锁后就不能再被加上写锁,所以其他事务不能对该数据进行写入,但仍然可以读取。对于持有读锁的事务,如果该数据只有它自己一个事务加了读锁,允许直接将其升级为写锁,然后写入数据。FORCE:当事务提交后,要求变动数据必须同时完成写入则称为 FORCE,如果不强制变动数据必须同时完成写入则称为 NO-FORCE。:如果数据有加写锁,就只有持有写锁的事务才能对数据进行写入操作,数据加持着写锁时,其他事务不能写入数据,也不能施加读锁。现代数据库均提供了以下三种锁。

2022-10-25 10:16:39 441

原创 凤凰架构读书笔记1-服务架构史,常用的远程服务访问框架

微服务明确地提倡数据应该按领域分散管理、更新、维护、存储,在单体服务中,一个系统的各个功能模块通常会使用同一个数据库,诚然中心化的存储天生就更容易避免一致性问题,但是,同一个数据实体在不同服务的视角里,它的抽象形态往往也是不同的。不再虚幻地追求服务永远稳定,而是接受服务总会出错的现实,要求在微服务的设计中,有自动的机制对其依赖的服务能够进行快速故障检测,在持续出错的时候进行隔离,在服务恢复的时候重新联通。这里再次强调了康威定律的重要性,有怎样结构、规模、能力的团队,就会产生出对应结构、规模、能力的产品。

2022-10-23 14:43:09 432

原创 凤凰框架笔记之RestFUl优化案例

即通过这个url就可以访问指定id下的资源,可以进一步解耦,将这个 url的后缀也存在起来,进而解耦方便修改。作为一名病人,我想要从系统中得知指定日期内我熟悉的医生是否具有空闲时间,以便于我向该医生预约就诊。第 0 级是 RPC 的风格,如果需求永远不会变化,也不会增加,那它完全可以良好地工作下去。我们可以吧医生的信息看做资源,每个资源存在一个id。到此,整个预约服务宣告完成。在第二问中我们直接定死了。

2022-10-20 17:03:13 329

原创 Go由浅入深(1): 常见数据结构原理

channel 是Golang在语言层面提供的goroutine间的通信方式,比Unix管道更易用也更轻便。channel主要用于进程内各goroutine间通信,如果需要跨进程通信,建议使用分布式系统的方法来解决。源代码循环队列 chan内部实现了一个环形队列作为其缓冲区buf,队列的长度是创建chan时指定的,存储了recvx 和 sendx 两个指针,表示现在已经读到了哪里,接下来往哪里写等待队列 recvq 和 sendq类型信息:一个channel只能传递一种类型的值,类型信息存储在hch

2022-06-01 09:57:27 223

原创 服务网格:service_mesh

简介Service Mesh 翻译为“服务网格”,作为服务间通信的基础设施层。它负责构成现代云原生应用程序的复杂服务拓扑来可靠地交付请求。在实践中,Service Mesh 通常以轻量级网络代理的形式实现,这些代理与应用程序代码部署在一起,对应用程序来说无需感知代理的存在。提出目的Service Mesh 目的是 解决系统架构微服务化后的服务间通信和治理问题。服务网格由Sidecar节点组成,这个模式的精髓在于实现了数据面(业务逻辑)和控制面的解耦。具体到微服务架构中,即给每一个微服务实

2022-05-16 20:14:49 369

原创 Go 语言入门:并发编程3(GMP调度原理)

GMP 原理与调度历史的发展(1) 单进程时代不需要调度器我们知道,一切的软件都是跑在操作系统上,真正用来干活 (计算) 的是 CPU。早期的操作系统每个程序就是一个进程,知道一个程序运行完,才能进行下一个进程,就是 “单进程时代”早期的单进程操作系统,面临 2 个问题:单一的执行流程,计算机只能一个任务一个任务处理。进程阻塞所带来的 CPU 时间浪费。(2) 多进程 / 线程时代有了调度器需求在多进程 / 多线程的操作系统中,就解决了阻塞的问题,因为一个进程阻塞 cpu 可以立刻切

2022-05-05 17:48:53 417 1

原创 Go 语言入门:并发编程2(多路复用与加锁)

并发编程(2)多路复用在某些场景下我们需要同时从多个通道接收数据。通道在接收数据时,如果没有数据可以接收将会发生阻塞。你也许会写出如下代码使用遍历的方式来实现:for{ // 尝试从ch1接收值 data, ok := <-ch1 // 尝试从ch2接收值 data, ok := <-ch2 …}这种方式虽然可以实现从多个通道接收值的需求,但是运行性能会差很多。为了应对这种场景,Go内置了select关键字,可以同时响应多个通道的操作

2022-05-05 16:51:21 614

原创 Go 语言入门:并发编程1(Goroutine与Channel的入门)

Goroutinegoroutine的概念类似于线程,但 goroutine是由Go的运行时(runtime)调度和管理的。Go程序会智能地将 goroutine 中的任务合理地分配给每个CPU。使用goroutineGo语言中使用goroutine非常简单,只需要在调用函数的时候在前面加上go关键字,就可以为一个函数创建一个goroutine。一个goroutine必定对应一个函数,可以创建多个goroutine去执行相同的函数。启动单个goroutine启动goroutine的

2022-05-05 16:05:32 780

原创 Go和 websocket 实现聊天室

websocekt 的导入WebSocket是一种在单个TCP连接上进行全双工通信的协议WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输需要安装第三方包:cmd中:go get -u -v github.com/gorilla/websocketwebsocket 聊天室数据结构分析需要有一个客户端 client 的 man

2022-05-04 11:22:07 621

原创 Spring Cloud 入门(6):Spring Cloud Zuul,Filter,路由重试,路由熔断

前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个微服务框架已经完成了。我们还是少考虑了一个问题,外部的应用如何来访问内部各种各样的微服务呢?在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。当添加 API 网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,

2022-01-20 16:41:20 331

原创 Spring Cloud 入门(5):Ribbon的定义,配置策略,超时重置,饥饿加载

Ribbon 是什么Ribbon 是一个客户端负载均衡器,它赋予了应用一些支配HTTP 与 TCP 行为的能力,这里的负载均衡是客户端的负载均衡,也有人称为后端负载均衡是进程内负载均衡的一种。前面分析了 Eureka 的使用,作为服务注册中心,Eureka 分为 Server 端和 Client 端,Client 端作为服务的提供者,将自己注册到 Server 端,Client 端高可用的方式是使用多机部署然后注册到 Server,Server 端为了保证服务的高可用,也可以使用多机部署的方式。前面

2022-01-17 19:19:42 884

原创 SpringCloud 入门(4):Eureka 与 zookeeper 的区别

Eureka 与 Zookeeper 的区别比较项Eurekazookeeper集群结构平级主从集群角色主人Leader、follower observer是否可以及时知道服务状态变化不能及时知道会及时知道一致性协议(CAP)注重可用性(AP)注重一致性(CP)雪崩保护有没有社区是否活跃Eureka2.0 不再维护了持续维护管理端有现成的eureka管理端没有现成的管理端负载均衡策略使用ribbon实现一般可以

2022-01-11 09:56:51 1085

原创 SpringCloud 入门 3:config实现配置中心,自动刷新,讲配置中心注册到Eureka中

简介Spring Cloud Config 是 Spring Cloud 家族中最早的配置中心,虽然后来又发布了 Consul 可以代替配置中心功能,但是 Config 依然适用于 Spring Cloud 项目,通过简单的配置即可实现功能。配置文件是我们再熟悉不过的了,尤其是 Spring Boot 项目,除了引入相应的 maven 包之外,剩下的工作就是完善配置文件了,例如 mysql、redis 、security 相关的配置。除了项目运行的基础配置之外,还有一些配置是与我们业务有关系的,比如

2022-01-08 22:42:58 484

原创 SpringCloud 入门1:Netflix Eureka的架构,自我保护机制,缓存机制·,服务注册中心搭建,负载均衡,双节点搭建

简介Spring Cloud 是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地 简化了分布式系统基础设施 的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot 的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

2022-01-01 16:58:08 696

原创 SpringCloud 入门 2 :Hystrix 的容错机制,线程隔离,熔断器,回退降级、熔断监控

熔断器 Hystrix雪崩效应在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将不可用逐渐放大的过程。如果下图所示:A作为服务提供者,B为A的服务消费者,C和D是B的服务消费者。A不可用引起了B的不可用,并将不可用像滚雪球一样放大到C和D时,雪崩效应就形成了。...

2022-01-01 16:57:13 490

原创 java 基础复习:IO/NIO/AIO

AIO,BIO 与 NIO 的基础概念IO 读写的底层流程用户程序进行IO的读写,基本上会用到系统调用read&writeread 把数据从内核缓冲区复制到进程缓冲区write把 数据从进程缓冲区复制到内核缓冲区,它们不等价于数据在内核缓冲区和磁盘之间的交换。(1)客户端请求:Linux通过网卡,读取客户断的请求数据,将数据读取到内核缓冲区。(2)获取请求数据:服务器从内核缓冲区读取数据到Java进程缓冲区。(3)服务器端业务处理:Java服务端在自己的用户空间中,处理客户端的请求

2021-12-24 14:35:13 594

原创 Dubbo 入门(2):配置管理与高可用

配置管理配置生效优先级JVM 启动 -D 参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。XML 次之,如果在 XML 中有配置,则 dubbo.properties 中的相应配置项无效。Properties 最后,相当于缺省值,只有 XML 没有配置时,dubbo.properties 的相应配置项才会生效,通常用于共享公共配置,比如应用名。重试次数失败自动切换,当出现失败,重试其它服务器,但重试会带来更长延迟。可通过 retries="2"来设置重试次

2021-12-08 20:57:38 137

原创 Dubbo 入门(1):基础知识,环境搭建,helloworld,SpringBoot的整合

分布式基础理论“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”分布式系统(distributed system)是建立在网络之上的软件系统。随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。框架的演变单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的 数据访问框架(ORM) 是关键。适用

2021-12-02 20:49:11 82

原创 Zookeeper 入门(6):图解选举机制,同步机制,服务端与客户端的启动

选举机制第一次选举SID:服务器ID。用来唯一标识一台 ZooKeeper 集群中的机器,每台机器不能重复,和myid一致。ZXID:事务ID。ZXID是一个事务ID,用来标识一次服务器状态的变更。在某一时刻,集群中的每台机器的ZXID值不一定完全一致,这和ZooKeeper服务器对于客户端“更新请求”的处理逻辑有关。Epoch:每个Leader任期的代号。没有 Leader 时同一轮投票过程中的逻辑时钟值是相同的。每投完一次票这个数据就会增加。具体步骤(1)服务器1启 动,发起一次选举

2021-11-27 17:16:10 1471

原创 Zookeeper 入门(5):源码详解,ZK服务端的初始与数据加载

辅助源码持久化源码Leader 和 Follower 中的数据会在内存和磁盘中各保存一份。所以需要将内存中的数据持久化到磁盘中。在 org.apache.zookeeper.server.persistence 包下的相关类都是序列化相关的代码。1. 快照APIpublic interface SnapShot { // 反序列化方法 long deserialize(DataTree dt, Map<Long, Integer> sessions) throws I

2021-11-27 16:36:39 1829

原创 Zookeeper 入门(4):一致性算法,Paxos 算法,

拜占庭将军问题拜占庭将军问题是一个协议问题,拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。叛徒可以任意行动以达到以下目标:欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定,如当将军们不希望进攻时促成进攻行动;或者迷惑某些将军,使他们无法做出决定。如果叛徒达到了这些目的之一,则任何攻击行动的结果都是注定要失败的,只有完全达成一致的努力才能获得胜利。Paxos算法Paxos算法:一种基于消息传递且具有高度

2021-11-25 17:53:20 1553

原创 Zookeeper 入门(3):服务器动态上下线监听案例,Zookeeper 分布式锁案例,Curator 框架实现分布式锁案例

服务器动态上下线监听案例某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。如上图所示,我们希望客户端能够实时监听服务器的节点变化情况。具体实现(1)先在集群上创建 /servers 节点[zk: localhost:2181(CONNECTED) 10] create /servers "servers"Created /servers(2)在 Idea 中创建包名:com.atguigu.zkcase1(3)服务器端向 Zookeep

2021-11-19 20:11:07 906

原创 Zookeeper 入门(2):命令行操作,IDEA操作,节点的增删改查,监控

客户端命令行操作语法概览命令基本语法功能描述help显示所有操作命令ls path使用 ls 命令来查看当前 znode 的子节点 [可监听] -w :监听子节点变化 -s: 附加次级信息create普通创建 -s: 含有序列 -e: 临时(重启或者超时消失)get path获得节点的值 [可监听] -w :监听节点内容变化 -s: 附加次级信息set设置节点的具体值stat查看节点状态delete删除节点de

2021-11-19 09:06:33 564

原创 Zookeeper 入门(1):特点,集群的开启与启动,选举机制

概念zookeeper 的工作机制观察者模式,观察与注册基本特点1)Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所 以Zookeeper适合安装奇数台服务器。3)全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。4)更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行。5)数据更新原子性,一

2021-11-17 10:53:50 374

原创 关于ES字符串类型(Text vs keyword)的选择

关于ES字符串类型的选择ElasticSearch 5.0 以后,string类型有重大变更,移除了string 类型,string字段被拆分成两种新的数据类型:text用于全文搜索的keyword用于关键词搜索。ElasticSearch 字符串将默认被同时映射成 text和keyword类型,将会自动创建下面的动态映射(dynamic mappings):Text vs. keywordText:会分词,然后进行索引支持模糊、精确查询不支持聚合keyword:不进行分词,

2021-11-15 11:02:14 2638

原创 Elasticsearch 入门(8):面试题

1、为什么要使用 Elasticsearch?业务中往往采用模糊查询进行数据的搜索,而模糊查询会导致查询引擎放弃索引,导致系统查询数据时都是全表扫描,在百万级别的数据库中,查询效率是非常低下的,而我们使用 ES 做一个全文索引,将经常查询的系统功能的某些字段,比如说电商系统的商品表中商品名,描述、价格还有 id 这些字段我们放入 ES 索引库里,可以提高查询速度。2、Elasticsearch 的 master 选举流程?Elasticsearch 的选举流程是ZenDiscovery 模块负责

2021-11-14 16:40:09 892

原创 Elasticsearch 入门(7):Elasticsearch 集成,SpringData 框架,ES的优化

Spring Data 框架集成简介Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计算数据服务。Spring Data 可以极大的简化 JPA(Elasticsearch)的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了 CRUD 外,还包括如分页、排序等一些常用的功能。Spring Data 的官网:https://spring.io/pro

2021-11-14 15:45:21 1792

原创 Elasticsearch 入门(6):文档分析器,并发控制,Kibana的安装

文档分析器文档分析主要包括下面几个过程:将一块文本分成适合于倒排索引的独立的 词条将这些词条统一化为标准格式以提高它们的“可搜索性”,或者 recall分析器执行上面的工作。传统分析器的结构分析器实际上是将三个功能封装到了一个包里:字符过滤器:首先,字符串按顺序通过每个 字符过滤器 。他们的任务是在分词前整理字符串。一个字符过滤器可以用来去掉 HTML,或者将 & 转化成 and。分词器其次,字符串被 分词器 分为单个的词条。一个简单的分词器遇到空格和标点的时候,可能会将文

2021-11-12 19:58:42 1064

原创 Elasticsearch 入门(5):路由计算,分片控制,读写流程,更新流程,分段索引,近实时搜索,持久化变更

路由计算当索引一个文档的时候,文档会被存储到一个主分片中。 Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片 1 还是分片 2 中呢?首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道 从何处寻找了。实际上,这个过程是根据下面这个公式决定的:shard=hash(routing)%number_of_promary_shardsshard=hash(routing) \% number\_of\_promary\_sh

2021-11-12 16:23:34 186

原创 Elasticsearch 入门(4):节点、集群、分片、复制、集群配置,故障转移,吞吐量提升,故障应对

Elastic 环境单机与集群单台 Elasticsearch 服务器提供服务,往往都有最大的负载能力,超过这个阈值,服务器性能就会大大降低甚至不可用,所以生产环境中,一般都是运行在指定服务器集群中。除了负载能力,单点服务器也存在其他问题:单台机器存储容量有限单服务器容易出现单点故障,无法实现高可用单服务的并发处理能力有限配置服务器集群时,集群中节点数量没有限制,大于等于 2 个节点就可以看做是集群了。一般出于高性能及高可用方面来考虑集群中节点数量都是 3 个以上。集群 Cluster

2021-11-11 20:59:37 1177

原创 Elasticsearch 入门(3):java API 与 ES

JAVA API创建 Maven 项目在 IDEA 中创建maven项目,再 pom 中引入相关依赖<dependencies> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>7.8.0</version> </depend

2021-11-09 21:15:50 344

原创 Elasticsearch 入门(2):映射操作,高级查询

映射操作有了索引库,等于有了数据库中的 database。接下来就需要建索引库(index)中的映射了,类似于数据库(database)中的表结构(table)。创建数据库表需要设置字段名称,类型,长度,约束等;索引库也一样,需要知道这个类型下有哪些字段,每个字段有哪些约束信息,这就叫做映射(mapping)。创建映射在 Postman 中,向 ES 服务器发 PUT 请求 :http://127.0.0.1:9200/student/_mapping (在创建隐射之前应先保证 student 已经

2021-11-09 17:04:30 1555

Demo字节码的解析.xlsx

Demo字节码的解析.xlsx

2021-07-14

Contrastive Multiview Coding笔记

Contrastive Multiview Coding笔记

2020-12-18

meta-learning:survey.pdf

metalearning:survery:论文笔记

2020-12-12

电子科技大学-有限自动机陈文宇-2020试卷.docx

电子科技大学-有限自动机陈文宇-2020试卷-回忆版

2020-11-11

验证码识别英文论文.zip

《A Survey on Breaking Technique of Text-Based CAPTCHA》 《Selective Learning Confusion Class for Text-Based CAPTCHA Recognition》 。。。。 论文总结请查看作者博客:验证码识别---外文篇

2019-08-21

验证码识别论文.zip

验证码识别论文,共9篇,涉及文本,图像图像,中文汉字等等。 主要使用传统机器学习方法以及人工智能等等

2019-08-21

空空如也

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

TA关注的人

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