[文献阅读] chinese-roberta Pre-Training With Whole Word Masking for Chinese BERT
文献信息:Pre-Training With Whole Word Masking for Chinese BERT | IEEE Journals & Magazine | IEEE Xplore
哈工大和科大讯飞联合发表的用于中文NLP任务的基于BERT的改进模型,在中文NLP任务取得了最先进的性能。
摘要
原本的BERT使用随机掩蔽的方式进行MLM(masked language model)训练,但这并不一定能很好的训练中文语言场景下的模型。
本文提出了适用于中文BERT的全词掩蔽(wwm)策略,并训练了一系列中文预训练模型。
除此之外,还提出了一种新的掩蔽策略,称为 MLM as correction Masking (Mac Masking),引入了MLM as correction任务,这类似于实际的语法或拼写错误修正任务,这种新的预训练任务缓解了预训练和微调阶段的差异。以此从RoBERTa模型中改进而来,提出了MacBERT。
RoBRTa
RoBERTa 模型是BERT 的改进版(A Robustly Optimized BERT,鲁棒优化BERT预训练方法)。
在模型规模、算力和数据上,与BERT相比主要有以下几点改进:
- 更大的模型参数量
- 更大bacth size。RoBERTa 在训练过程中使用了更大的bacth size。尝试过从 256 到 8000 不等的bacth size。
- 更多的训练数据(包括:CC-NEWS 等在内的 160GB 纯文本。而最初的BERT使用16GB BookCorpus数据集和英语维基百科进行训练)
另外,RoBERTa在训练方法上有以下改进:
- 去掉下一句预测(NSP)任务
- 动态掩码。BERT 依赖随机掩码和预测 token。原版的 BERT 实现在数据预处理期间执行一次掩码,得到一个静态掩码。 而 RoBERTa 使用了动态掩码:每次向模型输入一个序列时都会生成新的掩码模式。这样,在大量数据不断输入的过程中,模型会逐渐适应不同的掩码策略,学习不同的语言表征。
- 文本编码。Byte-Pair Encoding(BPE)是字符级和词级别表征的混合,支持处理自然语言语料库中的众多常见词汇。原版的 BERT 实现使用字符级别的 BPE 词汇,大小为 30K,是在利用启发式分词规则对输入进行预处理之后学得的。Facebook 研究者没有采用这种方式,而是考虑用更大的 byte 级别 BPE 词汇表来训练 BERT,这一词汇表包含 50K 的 subword 单元,且没有对输入作任何额外的预处理或分词。
RoBERTa建立在BERT的语言掩蔽策略的基础上,修改BERT中的关键超参数,包括删除BERT的下一个句子训练前目标,以及使用更大的bacth size和学习率进行训练。RoBERTa也接受了比BERT多一个数量级的训练,时间更长。这使得RoBERTa表示能够比BERT更好地推广到下游任务。
全词掩码
在最初的BERT中,使用WordPiece标记器将文本拆分为WordPiece标记,其中一些单词被拆分为几个小片段。全词掩蔽(wwm)减轻了只对整个词的一部分进行掩蔽的缺点,使模型更容易预测。在汉语条件下,WordPiece标记器不再将单词分割成小片段,因为汉字不是由类似字母的符号组成的。
使用传统的中文分词(CWS)工具将文本分割成几个单词。这样,我们就可以采用中文的整词掩码来掩码单词,而不是单个的汉字。在实现上,我们严格遵循原有的整字掩码,不改变其他组成部分,比如字掩码的百分比等。我们使用LTP进行中文分词,识别词的边界。注意,整个词屏蔽只影响预训练阶段屏蔽token的选择。我们仍然使用WordPiece标记器来分割文本,这与原始BERT相同。
WWM全词掩码顾名思义就是,把这一段词隶属的原词,整个都mask掉,那显然模型的预测难度就会增加了英文这样的方法提升可能不够直观或者不够明显,但是对于中文来说,全词遮罩的处理会好很多。
因为中文词语通常由多个单字组成,对于中文全词掩码来说,就是要把整个词语全mask掉,这样预测难度就比mask单字的难度更高,从而逼迫模型学会理解上下文的信息。比如下图中的“语言[M]型”和“语言[M][M]”。
Mac
(mask Language Model, MLM)是BERT及其变体中最重要的预训练任务,它对双向上下文推理能
力进行建模。然而,其中预训练阶段的人工token,如[MASK],从未出现在真正的下游微调任务中。
为了解决这个问题,我们提出了一种新的预训练任务,称为MLM as correction(Mac)。
在这个预训练任务中,我们不采用任何预定义的令牌来进行屏蔽。相反,我们将原始的MLM转换为文本更正任务,模型应该将错误的单词更正为正确的单词,这比MLM要自然得多。具体来说,在
Mac任务中,本文对原来的MLM进行了以下修改。
- 我们使用wwm全词掩蔽以及N-gram masking策略来选择用于掩蔽的候选标记,对于单词级的unigram到4-gram,百分比为40%,30%,20%,10%。
- 使用类似的单词来进行掩码,而不是使用[MASK]标记进行掩码,因为[MASK]标记在微调阶段从未出现过。通过使用Synonyms toolkit3获得相似的单词,该工具基于word2vec相似性计算。在极少数情况下,当没有相似的单词时,我们降级为使用随机单词替换。
- 使用15%的输入单词进行掩蔽,其中80%的标记被相似的单词替换,10%的标记被随机单词替换,其余10%保留原始单词。
Mac Masking将相似词作为[MASK]标记,使得填空任务变成文本更正任务,使得微调时的输入与预训练时的输入一致性更高。
结果
该模型在不同的自然语言处理任务中进行了验证,从句子到文档,包括机器阅读理解(CMRC2018,DRCD,CJRC)、自然语言推理(XNLI)、情感分类(ChnSentiCorp)、句子对匹配(LCQMC, BQ语料库)和文档分类(THUCNews),均取得了更有效的结果。
实验
使用chinese-roberta-wwm-ext预训练模型进行微调,用于中文的情感分析任务。具体模型名称是chinese-roberta-wwm-ext-large。
数据集使用lansinuote/ChnSentiCorp · Datasets at Hugging Face。是一个中文数据集,来自互联网的酒店评价,一共12k条数据,标签为0(negtive)或1(postive)。
加载数据集
from datasets import load_dataset, load_from_diskimport os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'# # 下载并保存数据集
# dataset = load_dataset('lansinuote/ChnSentiCorp')
# dataset.save_to_disk('datasets/ChnSentiCorp')# 加载数据集
dataset = load_from_disk('datasets/ChnSentiCorp')
print(dataset)
将文本向量化
from transformers import BertTokenizertokenizer = BertTokenizer.from_pretrained('hfl/chinese-roberta-wwm-ext')def tokenize_func(data):return tokenizer(data['text'], padding='max_length', max_length=128, truncation=True)dataset_tokenized = dataset.map(tokenize_func, batched=True)
这里我们只取1.2k数据,缩短训练时间
train_dataset_tokenized = dataset_tokenized['train'].shuffle(seed=0).select(range(1000))
print(train_dataset_tokenized)test_dataset_tokenized = dataset_tokenized['test'].shuffle(seed=0).select(range(200))
print(test_dataset_tokenized)
加载模型
from transformers import AutoModelForSequenceClassification# # 下载和保存模型
# model = AutoModelForSequenceClassification.from_pretrained(r'E:\xiao_yu\Program\GPT-SoVITS-20240821v2\GPT_SoVITS\pretrained_models\chinese-roberta-wwm-ext-large', num_labels=2,)
# model.save_pretrained('models/chinese-roberta-wwm-ext')# 加载模型
model = AutoModelForSequenceClassification.from_pretrained('models/chinese-roberta-wwm-ext', num_labels=2)
设置参数,训练模型
from transformers import Trainer, TrainingArgumentstraining_args = TrainingArguments(output_dir='output',eval_strategy="epoch",learning_rate=2e-5,per_device_train_batch_size=8,per_device_eval_batch_size=8,num_train_epochs=3,weight_decay=0.01,
)trainer = Trainer(model=model,args=training_args,train_dataset=train_dataset_tokenized,eval_dataset=test_dataset_tokenized
)trainer.train()
3个epoch要训练15分钟(RTX 4060)。因为使用的模型chinese-roberta-wwm-ext-large参数量比较大。
计算准确率
import numpy as np# 预测结果
prediction_output = trainer.predict(test_dataset_tokenized)pred_labels = np.argmax(prediction_output.predictions, -1)
true_labels = prediction_output.label_ids
acc = (pred_labels == true_labels).mean()
print(f"Accuracy on test_dataset: {acc:.4f}")
虽然训练时间较久但是准确率很高,92%
相关文章:
[文献阅读] chinese-roberta Pre-Training With Whole Word Masking for Chinese BERT
文献信息:Pre-Training With Whole Word Masking for Chinese BERT | IEEE Journals & Magazine | IEEE Xplore 哈工大和科大讯飞联合发表的用于中文NLP任务的基于BERT的改进模型,在中文NLP任务取得了最先进的性能。 摘要 原本的BERT使用随机掩蔽的…...
QML ListView 与 C++ 模型交互
在 Qt 中,QML 的 ListView 可以与 C 模型进行交互,这是实现复杂数据展示和业务逻辑的常见方式。以下是几种主要的交互方法: 1. 使用 QAbstractItemModel 派生类 这是最强大和灵活的方式,适合复杂数据结构。 C 端实现 cpp // …...
使用SSH解决在IDEA中Push出现403的问题
错误截图: 控制台日志: 12:15:34.649: [xxx] git -c core.quotepathfalse -c log.showSignaturefalse push --progress --porcelain master refs/heads/master:master fatal: unable to access https://github.com/xxx.git/: The requested URL return…...
MacOs下解决远程终端内容复制并到本地粘贴板
常常需要在服务器上捣鼓东西,同时需要将内容复制到本地的需求。 1-内容是在远程终端用vim打开,如何用vim的类似指令达到快速复制到本地呢? 假设待复制的内容: #include <iostream> #include <cstring> using names…...
修改idea/android studio等编辑器快捷注释从当前行开头的反人类行为
不知道什么时候开始,idea编辑的快捷注释开始从当前行开头出现了,显得实在是难受,我只想让在当前行代码的部份开始缩进两个字符开始,这样才会显得更舒服。不知道有没有强迫症的猴子和我一样,就像下面的效果:…...
密码加密方式
密码加密方式全面解析 密码安全是系统安全的第一道防线,以下是主流的密码加密技术分类和实现方式: 一、基础加密方式 1. 对称加密 特点:加密解密使用相同密钥 AES (Advanced Encryption Standard) 密钥长度:128/192/256位示例…...
Python10天突击--Day 2: 实现观察者模式
以下是 Python 实现观察者模式的完整方案,包含同步/异步支持、类型注解、线程安全等特性: 1. 经典观察者模式实现 from abc import ABC, abstractmethod from typing import List, Anyclass Observer(ABC):"""观察者抽象基类""…...
【C#】.NET 8适配器模式实战:用C#实现高可用系统集成与接口桥接艺术
系统集成挑战与适配器模式的价值 当需要整合不同架构或API的系统时,接口兼容性问题往往成为拦路虎。**适配器设计模式(Adapter Pattern)**通过转换接口形态,完美解决这种不兼容性问题。本文将通过C# .NET 8实战演示适配器模式的基…...
方案精读:51页 财政数据信息资源目录数据标准存储及大数据资产化规划方案【附全文阅读】
该方案聚焦财政数据信息资源管理,适用于财政部门工作人员、数据管理与分析人员以及关注财政大数据应用的相关人士。 方案旨在构建财政数据资源目录,推动大数据在财政领域的应用与落地。整体规划上,以 “金财工程” 应用支撑平台为基础,建立省、市、县三级目录体系,遵循相关…...
【CVE-2024-7881】ARM CPU漏洞安全通告
安全之安全(security)博客目录导读 目录 一、概述 二、CVE详情 三、受影响产品 四、修复建议 五、致谢 六、版本历史 一、概述 基于Arm架构的部分CPU中发现一个安全问题:非特权上下文可能触发数据内存依赖型预取引擎(data memory-dependent pref…...
idea中提高编译速度研究
探索过程: 有三种情况: 第一种: idea中用eclipse编译器编译springboot项目,然后debug启动Application报错找不到类。 有待继续研究。 第二种: idea中用javac编译器编译springboot项目,重新构建用时&a…...
基于Yocto构建Ubuntu 24.04 ARM64 Qt工具链
以下是基于Yocto构建Ubuntu 24.04 ARM64 Qt工具链的完整方案,综合多篇技术文档整理而成: 一、系统环境准备 Ubuntu基础系统 建议选择Ubuntu 24.04 LTS服务器版或桌面版,需满足至少300GB磁盘空间和16GB内存 若使用ARM64架构主机可直接运…...
如何使用阿里云邮件推送免费群发邮件
最近一直想利用自己的阿里云账号开一个邮件推送服务,同时还可以用python来实现邮件群发,之前没有成功,今天又尝试了一次终于成功了,现将过程记录如下,也便于网友们少走弯路。 一、申请阿里云账号 阿里云注册可以用淘…...
利用 Genspark 和 AI IDE 一键配置 Java 开发环境
以下是以 CSDN 博客风格撰写的文章,基于你提到的“利用 Genspark 和 AI IDE 实现 Java 环境一键配置”的流程。文章结构清晰,内容详实,符合 CSDN 技术博客的常见风格,包含标题、简介、目录、正文、代码示例和总结。 利用 Genspark…...
【软考系统架构设计师】计算机网络知识点
1、 TCP/IP协议族 2、 数据链路层 解决三个基本问题: 封装成帧(在⼀段数据的前后分别添加首部和尾部) 透明传输(发送⽅:若数据部分出现帧开始符或者帧结束符,会在其前面加转义字符;接收⽅&…...
RFID技术概览
一、RFID技术定义 RFID(Radio Frequency Identification,射频识别) 是一种通过无线电信号识别目标对象并获取相关数据的非接触式自动识别技术。它利用射频信号的空间耦合(电感或电磁耦合)实现无物理接触的信息传递与目…...
中间件--ClickHouse-2--OLAP和OLTP
OLAP(Online Analytical Processing,联机分析处理)和OLTP(Online Transaction Processing,联机事务处理)是两种不同类型的数据处理系统,它们分别针对不同的应用场景和需求。 1、OLTP࿰…...
使用ADB工具分析Android应用崩溃原因:以闪动校园为例
使用adb工具分析模拟器或手机里app出错原因以闪动校园为例 使用ADB工具分析Android应用崩溃原因:以闪动校园为例 前言 应用崩溃是移动开发中常见的问题,尤其在复杂的Android生态系统中,找出崩溃原因可能十分棘手。本文将以流行的校园应用&q…...
C++双链表介绍及实现
双链表详解 1. 基本概念 双链表(双向链表) 是一种链式数据结构,每个节点包含两个指针: 前驱指针(pre):指向直接前驱节点后继指针(next):指向直接…...
推流265视频,网页如何支持显示265的webrtc
科技发展真快,以前在网页上(一般指谷歌浏览器),要显示265的视频流,都是很鸡肋的办法,要么转码,要么用很慢的hls,体验非常不好,而今谷歌官方最新的浏览器已经支持265的web…...
linux多线(进)程编程——(6)共享内存
前言 话说进程君的儿子经过父亲点播后就开始闭关,它想要开发出一种全新的传音神通。他想,如果两个人的大脑生长到了一起,那不是就可以直接知道对方在想什么了吗,这样不是可以避免通过语言传递照成的浪费吗? 下面就是它…...
Allpairs工具下载及操作流程(联动Deepseek)
目录 一、Allpairs工具下载及操作流程二、Allpairs工具使用易错问题 Allpairs工具产生的原因 Allpairs工具的产生源于软件测试领域对高效组合测试方法的迫切需求,其核心目标是解决传统测试方法在多因素组合场景下用例数量爆炸和测试效率低下的问题。 一、Allpairs工…...
wkhtmltopdf 实现批量对网页转为图片的好工具,快速实现大量卡片制作
欢迎来到涛涛聊AI 1、需求痛点 在学习当中经常遇到一些知识点,想和大家分享。但只有文本形式,很多人不愿意去阅读,也看不到重点。 如果自己去单独设计页面版式,又太浪费时间。那就想着有没有一种方法,可以把一个知识…...
case客户续保预测中用到的特征工程、回归分析和决策树分析的总结
文章目录 [toc]1. 回归分析概述1.1 基本概念1.2 与分类的区别 2. 常见回归算法2.1 线性回归2.2 决策树回归2.3 逻辑回归(Logistic Regression)2.3 其他算法补充:通俗版:决策树 vs 随机森林🌳 决策树:像玩「…...
最新如何在服务器中解决FFmpeg下载、安装和配置问题教程(Linux|Windows|Mac|Ubuntu)
最新如何在服务器中解决FFmpeg下载、安装和配置问题教程(Linux|Windows|Mac|Ubuntu) 摘要: FFmpeg是一个强大的开源工具,广泛应用于音视频处理,支持格式转换、视频剪辑、流媒体推送…...
vue webSocket
vue webSocket 一、vue2 webSocketwebSocket.jsvue2 二、vue3 webSocket tswebSocket.tsvue3 一、vue2 webSocket webSocket.js export default {data() {return {websock: null, // 建立的连接,存websocket实例化的lockReconnect: false, // 是否真正建立连接…...
Flask+Influxdb+grafna构建电脑性能实时监控系统
Influx下载地址,这里下载了以下版本influxdb-1.8.5_windows_amd64.zip 运行前需要先启动Influx数据库: 管理员方式运行cmd->F:->cd F:\influxdb\influxdb-1.8.5-1->influxd -config influxdb.conf,以influxdb.conf配置文件启动数…...
【golang/jsonrpc】go-ethereum中json rpc初步使用(websocket版本)
说在前面 操作系统:win11 wsl2go-ethereum版本:1.15.8 关于json-rpc 官网 server 定义方法type CalculatorService struct{}func (s *CalculatorService) Add(a, b int) int {return a b }func (s *CalculatorService) Div(a, b int) (int, error) {…...
【C++】 —— 笔试刷题day_15
刷题day_15,继续加油!!! 一、平方数 题目解析 题目给出一个数,让我们找到离它最近的一个平方数,然后输出即可。 算法思路 这道题总体来说还是非常简单的。 这里先来看一种思路,就是从1开始找…...
网站备案详解
当小型网站开发完毕具备上线条件后,需要完成域名映射与相关备案,才能合法运维。就像婴儿出生后,要开出生证明并去派出所上户口一样,备案后就是有“户口”的网站啦。具体效果见:CodingLife 一:服务器部署 …...
IPV6应用最后的钥匙:DDNS-GO 动态域名解析工具上手指南--家庭云计算专家
DDNS-GO作为一款轻量级开源工具,其IPv6功能通过自动化动态域名解析,有效解决了家庭网络因运营商动态分配IPv6地址导致的访问难题。用户无需复杂配置,即可将冗长的IPv6地址绑定至易记域名,并实时同步IP变化,显著提升了N…...
ubuntu 系统安装Mysql
安装 mysql sudo apt update sudo apt install mysql-server 启动服务 sudo systemctl start mysql 设置为开机自启 sudo systemctl enable mysql 查看服务状态 (看到类似“active (running)”的状态信息代表成功) sudo systemctl status mysql …...
Go:方法
方法声明 type point struct { X, Y float64 }// 普通函数 func Distance(p, q Point) float64 {return math.Hypot(q.x - p.x, q.y - p.Y) }// Point类型的方法 func (p Point) Distance(q Point) float64 {return math.Hypot(q.x - p.x, q.y - p.Y) }方法声明与普通函数声…...
十四种逻辑器件综合对比——《器件手册--逻辑器件》
目录 逻辑器件 简述 按功能分类 按工艺分类 按电平分类 特殊功能逻辑器件 应用领域 详尽阐述 1 逻辑门 一、基本概念 二、主要类型 三、实现方式 四、应用领域 2 反相器 工作原理 基本功能 主要应用 常见类型 特点 未来发展趋势 3 锁存器 基本概念 工作原理 主要类型…...
[网鼎杯 2022 青龙组]fakeshell
这个题,我们查壳之后是upx壳。 但是当我们用upxunpack解包的时候我们解不出来。 说明有人动过这个包。 然后我们打开010eider,修改他的魔改 将此处,我们改成UPX我们在解包就可以了。然后我重新使用upxunpack 之后我们成功得到未加密的文件…...
vivado + modelsim 仿真:Post-Synthesis Timing Simulation
Vivado 结合Modelsim 实现综合后仿真的一种方法 Post-Synthesis Timing Simulation 使用Vivado 生成仿真所需文件创建Modelsim工程参考文档 使用Vivado 生成仿真所需文件 Vivado simulation 中可勾选Generate simulation scripts only;勾选-sdf_anno; 在testbanch文件中例化gl…...
可能存在特殊情况,比如控制台显示有延迟、缓冲问题等影响了显示顺序。
从控制台输出看,正常逻辑应是先执行 System.out.println(" 未处理异常演示 "); 输出对应文本,再因 arr 为 null 访问 length 触发 NullPointerException 输出异常信息。可能存在特殊情况,比如控制台显示有延迟、缓冲问题等影响…...
使用Python建模量子隧穿
引言 量子隧穿是量子力学中的一个非常有趣且令人神往的现象。在经典物理学中,我们通常认为粒子必须克服一个势垒才能通过它。但是,在量子力学中,粒子有时可以“穿越”一个势垒,即使它的能量不足以克服这个势垒。这种现象被称为“量子隧穿”。今天,我们将通过 Python 来建…...
Python-控制语句
控制语句 控制语句和逻辑思维 控制语句:把语句组合成能完成一定功能的小逻辑模块分类:顺序、选择、循环“顺序结构”:代表“先执行a,再执行b”的逻辑“条件判断结构”:代表“如果…,则…”的逻辑“循环结构”:代表“如果…则重复执行…”的逻辑条件判断结构 选择结构通…...
库学习04——numpy
一、基本属性 二、 创建数组 (一)arange a np.arange(10,20,2) # [10,12,14,16,18] 只有一个参数n的话,默认是从0到n-1的一维数组。 (二)自定义reshape a np.arange(12).reshape((3,4)) [[ 0 1 2 3][ 4 5 …...
DeepSeek在应急救援领域的应用解决方案
DeepSeek在应急救援领域的应用解决方案 一、引言 1.1 应急救援领域现状 近年来,我国应急管理工作全面加强,取得了显著成效。然而,一系列重特大灾害事故暴露出我国应急管理体系存在诸多问题短板。例如,在责任落实、应急处突、法…...
【HCIP】GRE VPN实验笔记
一、实验拓扑 二、实验要求 1、按照图示配置IP地址 2、在R1和R3上配置默认路由使公网区域互通 3、在R1和R3上配置GRE VPN,使两端私网能够互相访问,Tunnel口IP地址如图 4、在R1和R3上配置RIPv2或者ospf或者静态,来传递两端私网路由 三、实…...
ChatRex: Taming Multimodal LLM for Joint Perception and Understanding 论文理解和翻译
一、TL;DR MLLM在感知方面存在不足(远远比不上专家模型),比如Qwen2-VL在coco上recall只有43.9%提出了ChatRex,旨在从模型设计和数据开发两个角度来填补这一感知能力的缺口ChatRex通过proposal边界框输入到LLM中将其转…...
10min速通Linux文件传输
实验环境 在Linux中传输文件需要借助网络以及sshd,我们可通过systemctl status sshd来查看sshd状态 若服务未开启我们可通过systemctl enable --now sshd来开启sshd服务 将/etc/ssh/sshd_config中的PermitRootLogin 状态修改为yes 传输文件 scp scp (Sec…...
CE、NCE、InfoNCE的演变过程
CE、NCE、InfoNCE的演变过程及数学推导和关系 在机器学习和深度学习中,交叉熵( C E CE CE)、噪声对比估计( N C E NCE NCE)和信息噪声对比估计( I n f o N C E InfoNCE InfoNCE)是三个紧密相关…...
在Vue项目的引入meting-js音乐播放器插件
开源项目:https://github.com/swzaaaaaaa/NBlog 1、开源项目中音乐播放插件的使用流程 步骤1:下载meting-js相关文件 在MetingJS官方仓库或其他可靠的CDN获取meting-js的JavaScript文件以及相关依赖(如APlayer的文件)。将它们下…...
rapidocr 2.0 在线demo来了
引言 今日北京大风,大家都窝在家里,自己也趁着周末更新了RapidOCR在线demo,适配rapidocr2.0系列。 rapidocr2.0支持4个推理引擎(ONNRuntime、OpenVino、PaddlePaddle和PyTorch),且整理了文本检测和文本识…...
Compose笔记(十五)--进度条
这一节了解一下Compose中的进度条,有两种类型的进度条可供使用,分别是线性进度条(LinearProgressIndicator)和圆形进度条(CircularProgressIndicator),每种进度条又可分为确定模式和不确定模式。…...
图谱可视化的海洋生物信息查询网站的设计与实现(springboot+ssm+vue)含文档
图谱可视化的海洋生物信息查询网站的设计与实现(springbootssmvue)含文档 该系统是一个图谱可视化的海洋生物信息查询网站,主要功能包括海洋动物、海洋植物、生物图鉴、保护生物和海洋生物分布等模块;用户可以通过系统首页访问这些模块;在海…...
目标追踪Hyperspectral Adapter for Object Tracking based on Hyperspectral Video
论文作者:Long Gao,Yunhe Zhang,Langkun Chen,Yan Jiang,Weiying Xie,Yunsong Li 作者单位:Xidian University;the University of Sheffield 论文链接:http://arxiv.org/abs/2503.22199v1 内容简介: 1)方向&#x…...