当前位置: 首页 > news >正文

哪个网站服务器比较好php网站开发培训

哪个网站服务器比较好,php网站开发培训,wordpress主题技术网,画册设计说明怎么写文章目录 前言核心结构体定义构造函数文本初始处理组词构建词组索引训练数据编码解码打印状态信息运行效果总结 前言 大模型的tokenizer用于将原始文本输入转化为模型可处理的输入形式。tokenizer将文本分割成单词、子词或字符#xff0c;并将其编码为数字表示。大模型的toke… 文章目录 前言核心结构体定义构造函数文本初始处理组词构建词组索引训练数据编码解码打印状态信息运行效果总结 前言 大模型的tokenizer用于将原始文本输入转化为模型可处理的输入形式。tokenizer将文本分割成单词、子词或字符并将其编码为数字表示。大模型的tokenizer通常基于词表进行编码使用词嵌入将单词映射为向量表示。tokenizer还可以将输入文本进行填充和截断以确保所有输入序列的长度一致以便于模型的批量处理。 这篇博客的tokenizer分析器使用纯粹的Go语言标准库实现不借用任何其它第三方库。用轮子是生活造轮子是信仰。 核心结构体定义 type BytePairEncoder struct {wsToken stringunkToken string// k: word, v: tokenswordToken map[string]*[]string// k: word, v: countwordCount map[string]int// k: token, v: counttokenCount map[string]int// k: id, v: tokenidToken map[int]string// k: token, v: idtokenId map[string]int }构造函数 func DefaultBytePairEncoder() *BytePairEncoder {return NewBytePairEncoder(_, ) }func NewBytePairEncoder(wsToken, unkToken string) *BytePairEncoder {return BytePairEncoder{wsToken: wsToken,unkToken: unkToken,wordToken: make(map[string]*[]string),wordCount: make(map[string]int),tokenCount: make(map[string]int),idToken: make(map[int]string),tokenId: make(map[string]int),} }文本初始处理 func (e *BytePairEncoder) wordToTokens(word string) *[]string {parts : []rune(word)n : len(parts)res : make([]string, n)for i : 0; i n; i {token : string(parts[i])e.tokenCount[token]res[i] token}return res }func (e *BytePairEncoder) preprocess(text string) []string {text strings.TrimSpace(text)return strings.Fields(text) }func (e *BytePairEncoder) processWord(word string) {e.wordToken[word] e.wordToTokens(word)e.wordCount[word] }func (e *BytePairEncoder) initState(text string) {words : e.preprocess(text)for _, word : range words {e.processWord(e.wsToken word)} }组词 func (e *BytePairEncoder) mergePair() {// k: token, v: countm : make(map[string]int)for word, tokens : range e.wordToken {n : len(*tokens) - 1for i : 0; i n; i {m[(*tokens)[i](*tokens)[i1]] e.wordCount[word]}}maxToken : maxCount : 0for k, v : range m {if v maxCount {maxToken kmaxCount v}}if maxCount 2 {return}e.tokenCount[maxToken] maxCountfor _, tokens : range e.wordToken {n : len(*tokens) - 1for i : 0; i n; i {if (*tokens)[i](*tokens)[i1] maxToken {e.tokenCount[(*tokens)[i]]--e.tokenCount[(*tokens)[i1]]--post : (*tokens)[i1:]post[0] maxToken*tokens (*tokens)[:i]*tokens append((*tokens), post...)*tokens (*tokens)[:len(*tokens)]i--n - 2}}} }func (e *BytePairEncoder) merge(steps int) {for i : 0; i steps; i {e.mergePair()} }构建词组索引 func (e *BytePairEncoder) buildIndex() {e.tokenId[e.unkToken] 0e.idToken[0] e.unkTokeni : 1for token : range e.tokenCount {e.tokenId[token] ie.idToken[i] tokeni} }训练数据 func (e *BytePairEncoder) Train(text string, steps int) {e.initState(text)e.merge(steps)e.buildIndex() }编码 func (e *BytePairEncoder) segment(words []string) []int {res : make([]int, 0)for _, word : range words {parts : []rune(word)NEXT:for i : len(parts); i 1; i-- {if code, ok : e.tokenId[string(parts[:i])]; ok {parts parts[i:]res append(res, code)goto NEXT}}if len(parts) 0 {continue}code : e.tokenId[string(parts[0])]res append(res, code)parts parts[1:]if len(parts) ! 0 {goto NEXT}}return res }func (e *BytePairEncoder) Encode(text string) []int {words : e.preprocess(text)return e.segment(words) }解码 func (e *BytePairEncoder) Decode(codes []int) []string {res : make([]string, 0)for _, code : range codes {res append(res, e.idToken[code])}return res }打印状态信息 func (e *BytePairEncoder) Dump() {fmt.Println( dump state )fmt.Println( dump wordToken )for word, tokens : range e.wordToken {fmt.Println(word, , *tokens)}fmt.Println()fmt.Println( dump wordcnt )for word, count : range e.wordCount {fmt.Println(word, , count)}fmt.Println()fmt.Println( dump tokenCount )for token, count : range e.tokenCount {fmt.Println(token, , count)}fmt.Println()fmt.Println( dump idTokens )for code, token : range e.idToken {fmt.Println(code, , token)}fmt.Println()fmt.Println( dump tokenIds )for token, code : range e.tokenId {fmt.Println(token, , code)}fmt.Println() }运行效果 我们的tokenizer已经开发完毕现在可以运行我们的tokenizer看看是否能达到我们想要的效果 package mainimport (fmtostokenizer )func main() {trainData, err : os.ReadFile(./data.txt)if err ! nil {panic(err)}steps : 50enc : tokenizer.DefaultBytePairEncoder()enc.Train(string(trainData), steps)input : 提取数据特征进行预测codes : enc.Encode(input)tokens : enc.Decode(codes)fmt.Println(codes)fmt.Println(tokens) }输入数据集 data.txt 机器学习、深度学习和强化学习是人工智能领域中的三个重要技术方向。以下是它们的区别 机器学习机器学习是一种通过从数据中自动学习模式和规律来进行预测和决策的方法。它涉及到使用算法和统计模型从数据中提取特征并进行模型训练进而对未知数据进行预测或分类。机器学习的重点在于自动学习和泛化能力它不需要明确的指令或规则来执行任务而是通过数据和经验来改善性能。 深度学习深度学习是机器学习的一个分支它使用包含多个神经网络层的深度神经网络进行学习和预测。深度学习模型通过层层堆叠的方式从原始数据中学习到多个抽象层次的特征表示。深度学习的优势在于可以自动提取复杂的特征并通过大规模数据的训练来优化模型性能。它被广泛应用于计算机视觉、自然语言处理和语音识别等领域。 强化学习强化学习是一种机器学习的方法旨在让机器学习从环境中的交互中通过试错来改善性能。它通过不断与环境进行交互观察环境状态并执行动作然后从环境的反馈中学习如何在给定环境中做出最优的决策。强化学习的目标是通过学习最优的策略来最大化累积奖励。强化学习在游戏、机器人控制和优化问题等领域有着广泛应用。 总的来说机器学习是从数据中学习模式和规律深度学习是机器学习的一种方法使用深度神经网络来提取复杂的特征表示强化学习是通过试错学习从环境中改善性能。运行效果 可以根据情况使用Dump函数打印状态信息查看更多细节 总结 恭喜你已经制作了一个属于自己的tokenizer分词器我们实现的相对粗糙一点但是对于初学者是难得的实战项目麻雀虽小五脏俱全。
http://www.yutouwan.com/news/463833/

相关文章:

  • 建站之星后台地址中学网站系统源码
  • 个体户做盈利网站怎么给网站加外链
  • 营销型 展示类网站html网站开发开题报告范文
  • 公司网站建设需要哪些设备中英文自助网站建设
  • 工程在哪个网站做推广比较合适渑池县建设局网站
  • 需要品牌网站建设手机前端开发软件工具
  • 装饰网站卧室做炕百度广东东莞工厂
  • 全国物流网站有哪些平台慈溪做网站
  • 建设网站专业天津网站怎么做seo
  • xx市院门户网站建设方案苏州商城网站建设电话
  • 怎么入侵网站后台山西集团网站建设
  • 专业做相册书的网站高端网站设计 新鸿儒
  • 网站服务器租赁需要什么手续南昌网站建设搜q.479185700
  • seo对网站的作用wordpress首页新窗口打开
  • 培训学校地址网站建设做物流网站电话
  • 重庆网站建设优化排名山西建站管理系统开发
  • 做侵权网站用哪里的服务器建设银行网站官网登录入口
  • 网页制作与网站建设知识框架图手机触屏网站幻灯片
  • 做亚马逊网站费用网络工程师做什么的
  • 西安网站公司哪家好网站建设订流量什么意思
  • 郑州网站制作计划深圳哪家网站建设的公司好
  • 网站推广策略与问题分析商务网站管理的主要内容数据管理
  • 徐州网站建设网络推广几何印花图案设计网站
  • 郑州网站建设开发网站毕业设计任务书
  • 网站建设义乌wap网站预览
  • 家具网站开发报告王烨乐清
  • 广州seo网站公司dw中网站建设的基本流程
  • 达州大亚网站建设校园网站集群建设
  • 无锡市建设招标网站做网站没什么用啊老师别人强
  • 网站详情页用什么软件做哪个网站上做ppt比较好看的