网站建设到本地浙江省湖州艺术与设计学校官网

pingmian/2025/10/14 7:49:55/文章来源:
网站建设到本地,浙江省湖州艺术与设计学校官网,官网seo怎么做,邯郸市教育考试院网站bark_tokenize_input函数 bark是没有语言控制选项的#xff0c;但是官方的版本无法运行中文bark_tokenize_input会调用bert_tokenize函数#xff0c;bark_tokenize_input函数对中文分词失效#xff0c;也就是导致不支持中文的原因。 void bark_tokenize_input(struct bark_…bark_tokenize_input函数 bark是没有语言控制选项的但是官方的版本无法运行中文bark_tokenize_input会调用bert_tokenize函数bark_tokenize_input函数对中文分词失效也就是导致不支持中文的原因。 void bark_tokenize_input(struct bark_context * ctx, const char * text) {auto model ctx-model.text_model;bark_vocab * vocab ctx-model.vocab;int32_t block_size model.hparams.block_size;int32_t max_ctx_size std::min(block_size, 256);int32_t n_tokens;bark_sequence tokens(max_ctx_size);bert_tokenize(vocab, text, tokens.data(), n_tokens, max_ctx_size);for (int i 0; i (int) tokens.size(); i)tokens[i] TEXT_ENCODING_OFFSET;if (n_tokens max_ctx_size) {for (int i n_tokens; i max_ctx_size; i)tokens[i] TEXT_PAD_TOKEN;} else if (n_tokens max_ctx_size) {fprintf(stderr, %s: input sequence is too long (%d 256), truncating sequence, __func__, n_tokens);}tokens.resize(max_ctx_size);// semantic historyfor (int i 0; i 256; i)tokens.push_back(SEMANTIC_PAD_TOKEN);tokens.push_back(SEMANTIC_INFER_TOKEN);assert(tokens.size() 256 256 1);ctx-tokens tokens;printf(%s: prompt: %s\n, __func__, text);printf(%s: number of tokens in prompt %zu, first 8 tokens: , __func__, ctx-tokens.size());for (int i 0; i std::min(8, (int) ctx-tokens.size()); i) {printf(%d , ctx-tokens[i]);}printf(\n); }单词表对象 对象创建自vocab.txt 上一步完成后还会进行wordpiece处理 // apply wordpiece for (const auto word : words) {// 如果单词长度为0跳过if (word.size() 0)continue;std::string prefix ; // 初始化前缀为空字符串int i 0; // 初始化索引 i 为0int n word.size(); // 获取单词长度loop:while (i n) {// 如果 tokens 数组中的元素达到了最大允许值跳出循环if (t n_max_tokens - 1)break;int j n; // 初始化 j 为单词长度while (j i) {// 尝试找到前缀加上从 i 到 j 的子串在 token_map 中的映射auto it token_map-find(prefix word.substr(i, j - i));if (it ! token_map-end()) {// 找到映射将映射的值添加到 tokens 数组中tokens[t] it-second;i j; // 更新索引 iprefix ##; // 更新前缀为 ##goto loop; // 跳转到 loop 标签处}--j; // 递减 j}// 如果 j 等于 i说明无法找到合适的子串if (j i) {fprintf(stderr, %s: unknown token %s\n, __func__, word.substr(i, 1).data());prefix ##; // 更新前缀为 ##i; // 更新索引 i}}} }bert_tokenize函数 bert_tokenize函数会将句子tockenlize到ctx中的tokens对象。 代码实现如下 void bert_tokenize(const bark_vocab * vocab,const char * text,int32_t * tokens,int32_t * n_tokens,int32_t n_max_tokens) {std::string str text;std::vectorstd::string words;int32_t t 0;auto * token_map vocab-token_to_id;// split the text into words{str strip_accents(text);std::string pat R([[:punct:]]|[[:alpha:]]|[[:digit:]]);std::regex re(pat);std::smatch m;while (std::regex_search(str, m, re)) {for (std::string x : m)words.push_back(x);str m.suffix();}}// apply wordpiecefor (const auto word : words) {if (word.size() 0)continue;std::string prefix ;int i 0;int n word.size();loop:while (i n) {if (t n_max_tokens - 1)break;int j n;while (j i) {auto it token_map-find(prefix word.substr(i, j - i));if (it ! token_map-end()) {tokens[t] it-second;i j;prefix ##;goto loop;}--j;}if (j i) {fprintf(stderr, %s: unknown token %s\n, __func__, word.substr(i, 1).data());prefix ##;i;}}}*n_tokens t; }将文本分割成单词 将文本分割成单词的部分使用了如下的正则表达式其无法支持中文句子的分割这也导致了无法正确推理运行。 // split the text into words 将文本分割成单词{// 对文本进行去重音符处理str strip_accents(text);// 定义正则表达式模式匹配标点符号、字母和数字std::string pat R([[:punct:]]|[[:alpha:]]|[[:digit:]]);// 创建正则表达式对象std::regex re(pat);std::smatch m;// 使用正则表达式匹配文本中的单词while (std::regex_search(str, m, re)) {// 将匹配到的单词添加到单词列表for (std::string x : m)words.push_back(x);// 更新文本排除已匹配的部分str m.suffix();}} 简单修改与运行 // examples/main.cpp struct bark_params {int32_t n_threads std::min(4, (int32_t) std::thread::hardware_concurrency());// user promptstd::string prompt 你 好; // this is an audio;//std::string prompt this is an audio; // this is an audio;// pathsstd::string model_path ./bark.cpp/ggml_weights;std::string dest_wav_path output.wav;int32_t seed 0; };// bark.cpp// split the text into words{str strip_accents(text);// std::string pat R([[:punct:]]|[[:alpha:]]|[[:digit:]]); // // std::regex re(pat); // std::smatch m; // // while (std::regex_search(str, m, re)) { // for (std::string x : m) // words.push_back(x); // str m.suffix(); // }// 用空格分割字符串std::istringstream iss(str);std::vectorstd::string words;// 从输入流中读取每个分词并添加到 vector 中do {std::string word;iss word;words.push_back(word);} while (iss);// 输出分词结果std::cout 分词结果 std::endl;for (const auto word : words) {std::cout word std::endl;}}ps:这样就能成功运行了但是不知道为什么中文推理用的内存比英文多,还有这个分不能通过手动空格实现即使空格也无法运行因为许多词没在词表中还需要参考一下bert的分词过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做网站 简单外包wordpress系统

分类 名称 类比 说明压缩工具 RAR for Linux WinRAR Linux中压缩解压RAR格式文件的工具联络聊天 EVA QQ 一个界面、使用 类似QQ的聊天工具。MP3 播放 XMMS WinAmp Linux中MP3播放器下载工具 Downloader4X FlashGet Linux中的多线程下载利器流媒体播放 RealPlayer 10 RealPlaye…

做家装的网站有什么不同苏州餐饮 网站建设

任务 设计8路节日彩灯控制器,要求在Protues中设计接口电路图,并编程实现节日彩灯闪烁方式的控制: 通过P1.0到P1.2来控制3个按键。3个按键分别对应3种彩灯闪烁方式。彩灯闪烁方式分别为:从上往下的循环、从下往上以及从中间向两边…

湖北建设执业资格注册中心网站网站的通知栏一般用什么控件做

【QT5-程序控制电源-RS232-SCPI协议-上位机-基础样例【1】】 1、前言2、实验环境3、自我总结1、基础了解仪器控制-熟悉仪器2、连接SCPI协议3、选择控制方式-程控方式-RS2324、代码编写 4、熟悉协议-SCPI协议5、测试实验-测试指令(1)硬件连接(…

潞城网站建设公司seo网络优化师招聘

Google身份验证器Google Authenticator是谷歌推出的一款基于时间与哈希的一次性密码算法的两步验证软件令牌,此软件用于Google的认证服务。此项服务所使用的算法已列于RFC 6238和RFC 4226中。谷歌验证器上的动态密码按照时间或使用次数不断动态变化(默认…

北京朝阳做网站wordpress 中文插件下载

需求描述对于数据分析人员来说,工作的基础是数据,没有数据分析就无从谈起,即巧妇难为无米之炊。#数据库# #数据迁移# #Oracle# 然而,数据分析往往在实验环境或者准生产环境中开展,而数据分布在生产环境,因此…

seo网站优化知识安阳做一个网站多少钱

深度学习包含深度迁移学习,它们都利用了深层神经网络(Deep Neural Network,DNN)来处理数据,并从中学习特征。但是,它们也有一些区别。 深度学习是一种机器学习方法,它通过多层神经网络来自动学…

制作网站制作网站建设的如何把网站能搜到

键盘和鼠标是与计算机交互的重要外围设备。有些人可能会争辩说,你只需要这些设备中的一个,但事实上,只使用其中一个设备的电脑可能非常困难。但是,如果你的鼠标或笔记本电脑的触控板突然停止工作,而你无法修复它或无法使用备用鼠标,该怎么办? 在这种情况下,你可以使用…

隆昌市住房和城乡建设厅网站网站设计是用ps做图吗

原文链接: go-zero 的自适应熔断器 上篇文章我们介绍了微服务的限流,详细分析了计数器限流和令牌桶限流算法,这篇文章来说说熔断。 熔断和限流还不太一样,限流是控制请求速率,只要还能承受,那么都会处理&…

dw怎么做网站珠海网站建设方案开发

(请先看置顶博文)本博打开方式,请详读_liO_Oil的博客-CSDN博客_怎么把androidstudio卸载干净 题目大意:王老师爬楼梯,他可以每次走1级或者2级,输入楼梯的级数,求不同的走法数。例如:…

北京最大做网站的公司万全孔家庄做网站

深度剖析:六大虚拟DOM库的奥秘与应用场景 前言 虚拟DOM(Document Object Model)是用于表示和操作HTML文档的抽象数据结构。虚拟DOM库是构建用户界面的重要工具,它们提供了高效的更新机制、组件化开发等功能,使开发者…

福田设计网站华为手机软文范文300

大家好,我是等天黑。相信很多朋友应该注意到了,我最近发了很多系统设计的文章。是的,到目前为止,已经发了有 7 篇文章。这些内容主要翻译自 Alex Xu 的 《System Design Interview》,有卷一和卷二两本。System Design …

群晖nas做网站网站空间是先备案后买

智能优化算法应用:基于人工蜂群算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于人工蜂群算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.人工蜂群算法4.实验参数设定5.算法结果6.…

网站建设实验心得用.net做网站好 还是用php

匹配模式 每个目标都有个叫<Target_Name>DAGToDAGISel的SelectionDAGISel子类.它通过实现子类的Select方法来选指. 如SPARC中的SparcDAGToDAGISel::Select()(见lib/Target/Sparc/SparcISelDAGToDAG.cpp文件).接收要匹配的SDNode参数,返回代表物理指令的SDNode值;否则出…

临河网站建设视觉设计和ui设计有什么区别

在VBA编辑器中&#xff0c;你可以创建、编辑和运行VBA宏代码&#xff0c;以实现自动化任务和自定义Word 功能。如果你是VBA编程初学者&#xff0c;可以在VBA编辑器中查看Word VBA宏代码示例&#xff0c;以便更好地了解如何使用VBA编写代码。 要打开VBA编辑器&#xff0c;你可以…

宽屏大气企业网站源码嘉兴网站建设seo

2024最新同城上门预约家政按摩源码简介&#xff1a; 开源无需授权2024最新同城上门预约家政按摩小程序&#xff0b;公众号H5&#xff0b;APP源码系统下载&#xff0c;前端采用uni-app开发&#xff0c; 后端thinkphp框架开发。适配多端&#xff08;小程序&#xff0b;公众号H5&…

phython 做的网站济南网站建设哪家便宜

在现在这个繁荣的游戏开发行业中&#xff0c;选择合适的游戏引擎是非常重要的。其中&#xff0c;Unreal Engine作为一款功能强大的游戏引擎&#xff0c;在业界广受赞誉。那Unreal Engine游戏引擎究竟有哪些优势&#xff0c;带大家简单的了解一下。 图形渲染技术 Unreal Engin…

教育考试类网站建设电子商务及网站建设

1,使用数组方法: 1) 数字转字符串,字符串按照小数点.分割 2) 整数部分拆分成字符串数组,并倒叙 3) 遍历, 按照每三位添加逗号,号 4) 拼接整数部分小数部分 function format_width_array(number) { // 将数字转换为千分位字符串const arr String(number).split(.);// 整数…

建网站什么样的域名最好外包网站建设价格

Class/Interface增强允许增加&#xff0c; 对已有的方法增加可选参数 添加方法&#xff0c;事件&#xff0c;事件处理 参考接口 对存在的方法添加出口&#xff0c;其中包括方法开始前的出口&#xff08;Pre-Exit&#xff09;&#xff0c;方法结束快结束的出口(Post-Exit)&#…

新建免费网站万能应用商店下载安装

浅谈爬虫 《一》 python ‘’正文之前先啰嗦一下&#xff0c;准确来说&#xff0c;在下还只是一个刚入门IT世界的菜鸟&#xff0c;工作近两年了&#xff0c;之前做前端的时候就想写博客来着&#xff0c;现在都转做python了&#xff0c;如果还不开始写点什么&#xff0c;估计时间…