自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (9)
  • 收藏
  • 关注

原创 降维技术内涵及使用代码

降维技术本身其实并不晦涩难懂,但是专家总喜欢讲一些平常人听不太懂的,极具专业性的词语把人搞蒙圈,其实个人觉得没必要,实际上,当你接触一个新技术或者新理念的时候,并不是要很完美的理解里面的所有细节,而是知道他的大概,精髓,并知道如何使用。从这点上来说,我还是喜欢用大白话来解释一个所谓的高大上技术。今天focus 在降维技术上,听这名字高大上,其实内涵比较简单,就是聚焦在降维上。

2024-09-24 11:33:28 918

原创 Stable Diffusion 使用详解(13)--- 3D纹理增强

实际上,在stable diffusion 中,你获取发现很多controlnet 其实功能有点类似,你都使用完一遍之后,会发现条条道路通罗马,有的场景需要多个controlnet 一起配合,并配合适当的权重,其中还包括‘入场’,‘出场’的时间等等。在这之前,先别急,我们需要搞懂最常用的controlnet 都是干什么用的,以及实现效果和最基本原理,后面就是根据自己的场景,综合应用了。今天想说的是3D纹理展示这部分,其实这部分,个人觉得你如果不是AR或者游戏制作者,又或者是考古学家,实际应用中可能不是太多。

2024-09-23 15:54:01 1360

原创 项目实战 (16)--- 项目Debug调用问题及思路

项目做到这个位置,总结下前面碰到的一些问题及debug的一些技巧思路是必须的。因为有的问题本身比较诡异,不是马上就定位出来了。这其中不仅与你自己写的code 有关系,也与组件的运作流程及组件间的相互配合有关系。当然有的组件,如果你没有很深入的使用他,不知道其中的坑,但是这并不影响debug 的思路。我们的目标很简单,要的不是这个问题答案是什么,而是遇到这个问题是如何解决的,需要记录的是过程方法,当然结果也是重要的,为你以后的软件职业生涯,说大点其实是一种思维模式奠定一些无形的基础。

2024-09-22 14:29:28 286

原创 Stable Diffusion 使用详解(12)--- 设计师风格变换

他之所以用语义分割来描述,本质上是想通过色块分类来区别一副图片上的实物,哪些是草,哪些是山,哪些是房子,小一点的,哪些是椅子,茶几,桌子,地毯,电视 等等等等。你也不用找设计师了,你就自己做一个可以先看看效果,而且几秒钟搞定,可能你请的设计师也是通过 AI,毫不夸张的说就说通过 stable diffusion,转换了下,因为二次装修嘛,可能你也不会穿墙打洞,做结构特性调整了。选择偏真实系的吧,毕竟是现实装修世界。其实问题不大,在真实系模型训练的时候,除了训练人,物体也要训练吧,比如山川,石头,河流等。

2024-09-22 14:26:43 1441

原创 Stable Diffusion 使用详解(11)--- 场景ICON制作

这段时间不知道为啥小伙伴似乎喜欢制作很符合自己场景的ICON。其实,你如果认真看了本专栏前面几节的内容,应该说这个问题很简单。但是总有小伙伴按照别人的safetensor 或者checkpoint 文件无法做出别人的效果,做出来总是一个很奇怪的图案。如果你也是这种情况,就说明你还没有入门炼丹师行业。Stable Diffusion 作画的机理及使用前面已经讲了很多。AI作画的好处就是天马行空,不管是文生图 还是 图生图,都是一样的。这种灵活性赋予AI作画创造性的同时,也使得AI作画无法被指定的实物约束。

2024-09-20 14:07:30 2519

原创 项目实战 (15)--- 代码区块重构及相关技术落地

对本系统而言,核心就三个:1)有序管理所有video资源,并进行封装 2)有序管理所有连接资源,包括 vector db connection,cache connection,filesystem connection,websocket connection,3)封装核心服务,包括video资源预处理,query service,analysis service等。

2024-09-20 09:30:20 529 1

原创 项目实战 (14)--- 资源并发的一致性处理

一方面,你不能保证不同用户上传的相同video,他们的video name 具有一致性。但这个唯一性时假的,我们只能从video 内容上来保证video 的唯一性,并通过 uuid 等手段来对上传的video name 进行二次转换,保证video name 的唯一性。但是这里有个问题,为了效率,你不可能将一个长达几十分钟或几小时的video用MD5进行计算,因为这本身就是耗时的,如果你这样做了,等于缓存的时间也没节约多少,相当于你变相需要打开video 本身,虽然解析过程可能不需要那么繁琐。

2024-09-19 10:18:16 200

原创 项目实战 (13)--- 内部并发多线程一致性处理

中我们处理了外部并发的一致性问题,主要是反馈在多用户搜索的过程中,解决出现的查询混乱问题,从本质上来说,如果你只是想想,问题可能就不应该出现,因为web socket 在进行 b/s 交互时,你稍微懂点原理,都应该明白通道是独立的,数据不应该发生混乱的现象。但是发生前,如果query 比较多,将会使得 remove cache 的动作滞后,时间一长,造成系统资源在某时刻的飙升,这是你无法接受的。当cache 在此过程中发生删除时,query 单例,如果存在,稳住acquire ,不删除。

2024-09-18 11:09:47 288

原创 项目实战 (12)---外部并发一致性处理

但是这里注意,一旦搜索完成,你应该释放这个数组中的这个state数据,因为它已经没有用了,你如果一直不放,就会有问题,越存越多,造成memory浪费。作为一个剖析与完整实现商用视频搜索的系统,为了讲清楚里面所有的实现细节及蕴含的编程思想,及发现的问题与如何解决,每一节都只会有一个重点,我不太喜欢贪多,一篇文章彻底讲清楚一个问题就好,关键是要能完全明白其中的运作及处理原理,方法及如何落地实现。

2024-09-14 11:25:39 471

原创 项目实战 (11)---搜索进度

所以在前端显示搜索进度是有必要的,特别是在server硬件资源相对不足,又或者视频存储量很大的时候,让用户了解到此时搜索的进度,告诉他系统并不是没结果返回,而是正在处理事非常有必要的。除了告诉他总进度,最好还能告诉他此时系统为他的查询在做什么事情,让他清楚的知道:1)哪怕结果没有立即返回,但是系统不是无响应。2)系统正在做的事情 3)根据进度条看到可能还要多少时间完成query。今天我们聚焦这个问题,看看如何一步一步落地

2024-09-14 11:18:10 580

原创 项目实战 (10)---后台搜索Cache优化

搜索阶段的cache技术,其实本质上vector db 外围来做已经不太合适,原因细想下,也比较简单,在视频搜索中,搜索的内容是以 向量化 内容为主,说直白点就是高维数组。这种方法可以显著减少加载完成后首次查询/搜索的延迟,但会增加数据加载过程中的磁盘I/O和CPU使用率,因为需要同时处理数据的加载和缓存的更新。不同索引类型占用的空间大小不同,例如 IVFLAT 索引的数据量基本等同于原始向量的总数据量,而 SQ8 索引的数据量大约是原始向量总数据量的 30% 左右。去详细理解,里面我说的比较清楚了。

2024-09-13 14:04:26 531

原创 RAG与LLM原理及实践(17)---Docker Redis & Python Usage

在实际应用中,Redis 用户可以根据具体的需求和场景选择适合的持久化方式,或者同时使用 RDB 和 AOF 两种方式来确保数据的安全性和可靠性。例如,可以使用 RDB 作为数据恢复的备份手段,同时开启 AOF 来保证数据的实时性和可靠性。

2024-09-10 14:16:55 601

原创 RAG与LLM原理及实践(16)---RAG 前端技术Flask-socketIO

今天主要说的是与Flask 粘和度较高的另一个处理组件 Flask-socketIO。下面会说到他与RAG结合的地方,其实蛮有用的。用户在使用基于 RAG 系统的应用时,可能会产生实时的交互反馈(如点击、评论、评分等)。Flask-SocketIO 可以实时捕获这些反馈,并将其传递给后端进行处理,进而调整 RAG 系统的生成策略或优化生成结果。好了,通过上面的介绍,你对flask-socketIO的使用,应该有了比较全面的认识和理解。还是那句话,看完不顶用,只是第一步,要自己尝试下才是你的。

2024-09-09 19:23:37 553 1

原创 项目实战 (9)---UI与上层service的交互优化

实际上任何系统UI的优化分为两部分,一部分是与后端上层service无关的部分,即仅仅是UI的优化,另一部分是使用的优化,实际上又分为两部分,一部分是根据户习惯的改进优化,这部分可能和后台service有关系,也可能与后台没有关系,我们假定与后台service相关的部分,放在这一部分描述,而与后台无关的纯UI改进放在前一部分。另外一部分就是UI 结构功能的优化,往往会讲操作化繁为简,毕竟大家都是追求 ‘Simple is beauty’ 准则哪里都适用。

2024-09-09 16:26:28 447

原创 RAG与LLM原理及实践(15)---RAG Python 前端构建技术Flask

Flask 是一个使用 Python 编写的轻量级 Web 应用框架。它基于 Werkzeug WSGI 工具箱和 Jinja2 模板引擎。Flask 被设计用来快速开发 Web 应用,并且具有可扩展性和灵活性。它允许你使用 Python 编写 Web 应用,而不需要编写大量的样板代码。Flask 特点很多,我提取几个比较有代表性的特点,使你从功能层面对他有一定的大概了解。这种语法应该是比较简单,你只要写过代码,都是大同小异。

2024-09-06 20:46:47 867

原创 项目实战 (8)--- 查询逻辑层优化

已经设计并实现了基于视频的查询,这种前期较完善的设计机制结合了向量数据库本身的特点与系统的并发性,同时兼顾了并在向量collection设计阶段尽量减少冗余,达到标准的范式设计的目标。但作为一款完整商用落地的视频搜索系统,可能还需要借助语义文本一起辅助完成最终的搜索。在视频内容搜索的基础上加入视频描述的搜索,并实现最终的排序输出才能是一个完美的视频搜索。

2024-09-05 12:00:05 623

原创 项目实战(7) --- 预处理二次优化

作为商用落地系统,我们当然希望搜索视频的关联度或者说准确性与我们希望查询的视频相关度越高越好。为此,除了在query 层面上优化,我们还需要注重我们的输入。那么如何才能更好的对视频进行预处理以及为更好的查询奠定基础,是我们需要优化的一个重要方向。这里涉及到视频特征的提取以及视频比对的算法。本节主要聚焦在优化视频的特征提取上,分析下这部分的内容。

2024-09-04 14:30:27 760

原创 项目实战 (4)--- video高效存储

在设计的时候,这一点也是不可忽视的,我们好不容易构造了一个商用搜索视频系统,不能在根据path 寻找加载视频上出问题,当然视频的备份与容灾也是一个健壮的商用系统必须要考虑的范畴。还有一点就是数据的分权分域问题,也还是商用系统必须考虑的,不同权限的人能访问到的数据权限是不一样的。另外,我们可以设置 video bucket 的权限,以及bucket 的大小,这为以后视频数据的分权分域奠定了较好的基础,这也是 一般 os 的文件体系架构难以企及的地方。上面一个千万不要删除,那是milvus 的log数据。

2024-09-04 14:27:24 238

原创 项目实战 (3) --- vector数据综合查询设计与实现

比如在定义视频相似度时,如何衡量多个视频之间的相似度?如何能通过语义拆分及内容,对视频进行综合排序?如何找到相似视频的关键位置等都是search,query 需要解决的问题,同时随着视频的长度不一样等问题,如何更好的找到满足要求的视频,这是商用视频系统必须要解决的问题

2024-09-04 14:16:26 553

原创 项目实战 (2) --- 向量数据库设计

在商用时,你需要考虑数据在预处理阶段的可持续性,以及为后续录入数据系统,包括query可能涉及的一些效能问题都不得不提前考虑一部分,毕竟对video数据的预处理会在很大程度上左右数据结构的设计,同时数据结构的设计更会影响之后的query 等上层使用逻辑。video的基本信息包括了 video的id ,path,filename,description。前面提了,两个collection,一个存储video 的基本信息,包括 video的id ,path,filename,description。

2024-09-04 14:12:30 372

原创 项目实战 (1)---video数据预处理

网上也给出了一些解决方案,在我看来只能是一个示意吧,离商业落地还有很长的路要走,不够robust,如果你认真思考了之后,其实在真正落地的时,会有诸多问题,包括整体结构设计不strong带来的录入,搜索效率问题,数据量大了之后的管理问题,以及搜索精度,准确度问题等。如果你选择milvus作为向量数据库进行存储,有的问题是可以在milvus 提供的内部特性框架下解决的,有的是向量数据库本身无法解决的,需要在顶层设计时,就需要考虑清楚的,毕竟还是那句话,应用场景决定了你要有怎样的顶层设计与架构。

2024-09-04 14:08:26 493

原创 项目实战 (6) --- UI 结构及与service互动

通过1-5 我们已经搭建好完整的后台功能,service,及准备与UI 交互的路由及接口。下面就是UI 部分的搭建。直接采用jinja2的语法将数组传给前端即可。注意jinja2在前端不适合非常复杂的逻辑运算,因为理论上复杂的逻辑运算应该已经在后端完成,前端只是做一些非常简单的展示,循环遍历 输出等工作。

2024-09-03 20:47:45 637

原创 项目实战 (5) --- service层核心

之前的 1-5 重点在介绍系统的实现架构,录入数据的组织形式,存储模式,search 方式,以及后期算法等。现在来看,基本的后端实现我们都具备了,当然后期还会带着各位进一步优化,但从数据结构及录入与query的体现架构来看,系统运作经过前期纯后台测试,还是很不错的。这里的设计核心思想与MVC很类似,现在的软件设计概念层出不穷,后来又搞了一个mvvc,其实最基本的核心思想都大同小异,model,view ,controler。而上面还有UI部分的 controler,那是与页面接壤的service 部分。

2024-09-03 20:21:00 651

原创 Stable Diffusion 使用详解(10)--- 场景立体字

虽然都是字,带场景的立体字和上一节讲的做法不太一样。一般来说,一般这种带字体的场景字现阶段都是Lora模型居多,Lora 属于轻量级模型,相较那种完成的data model 而言 data 量是比较小的,更像是书签。所以对应于不同场景,一般是需要不同的Lora,还好,现在gtihub 或者开源社区上有很多针对不同场景的Lora模型,但因为领域场景的细分,可能你需要下载适合你需要场景的模型。因为你可以想象下,字要和场景结合,那必然是三维空间的产物,如果是二维,很难真正描绘所谓的场景。这个模型还行,就用他了。

2024-08-26 16:01:48 774 1

原创 Stable Diffusion 使用详解(9)--- 字体及背景融入

如果看过上一期你应该知道如何利用layer diffusion 制作场景动漫海报,其实掌握这个方法后,任何海报或者其他场景都可以做。我之所以提这个问题,是因为 在AI 作画中,基于Stable Diffusion 的扩散模型,要在局部范围内绘制出艺术效果字,且不改变其他部分,似乎比较困难。首先用一张PS,或者再简单点,直接用 mspaint,create一张与原图大小一样的canvas,在你需要的位置写上 机甲战士。但是说实话,在人物身上的效果要好很多,如果你不理解其中的过程,可以看看。

2024-08-24 12:30:06 730 1

原创 Milvus实践(5) ---- 从attu2.4x窥探Milvus数据结构变化及原理

通过专栏前面文章的学习,你对milvus的设计理念,思路,运作流程及落地使用应该有比较深刻的领悟。当然这前提是前面的内容你都有自己step by step 做过,不经历亲身实践永远无法到达很高的层次。attu2.4x的理念及安装过程在已经详细叙述过,今天我们看下milvus2.4x 配套的 attu UI 如何使用。在使用过程中,你也能体会到milvus 从功能上做出的调整与改变,且能从中窥探到为适应这种改变Milvus 进行的数据结构调整。并结合之前的milvus设计理念再次系统的做下系统层面的讲解。

2024-08-23 17:46:02 426

原创 Stable Diffusion 使用详解(8)--- layer diffsuion

layer diffusion 重点在 layer,顾名思义,就是分图层的概念,用过ps 的朋友再熟悉不过了。没使用过的,也没关系,其实很简单,本质就是各图层自身的编辑不会影响其他图层,这好比OS中运行了很多process,一个process 宕机或者修改,不会影响其他process 是一个道理。他的好处很多,可以帮我们生成一个背景透明的任何图片,你可以借助 ps 等工具进行融合。当然高阶一点的玩法,可能是借助背景生成前景,或者借助前景生成背景。

2024-08-22 21:20:00 1124

原创 Milvus实践(4) ---- attu2.4x及以下版本可视化工具搭建(不stop milvus服务)

但是当数据量到大一定程度,可视化的统计工具就会有些帮助了。今天主要是从下载,安装,使用及注意点来详细阐述下Milvus 可视化工具 attu 的使用。网上有有些解决方案,但是其实都不是很完美,因为你总要付出一些额外的‘代价’,无论是时间,还是维护数据本身。本质上其实他不只是一种 UI 配置问题,其中也蕴含了软件的设计模式思想,以及对docker 网络模型的认知和理解。我一步一步用图解,根因分析,解决办法,带你透彻分析解决,用最小的代码换取最好的配置效果。

2024-08-22 11:00:16 1197

原创 RAG与LLM原理及实践(14)---- Python + MinIO + Kafka进阶

之后,kafka 会告诉你一个用于连接meta data 的 ip 与 port,其实就是告诉你,你想和我通信要数据,我已经把ip port 发给你了,你后面就用它和我联系吧。理论上是可行的,但是很不幸,因为可能没有做地址映射,虽然在同一网络中,我实践的结果还是不行。因为我没有使用 coker host 的模式创建网络,虽然理论上应该可以,但是实际测试我发现有问题,因为 host后,子网掩码与主机子网掩码 位数不统一,一个是 24,一个是16,导致最后肯定会失败。结合我上面讲的,你应该很清楚是为什么了。

2024-08-20 17:31:56 959

原创 Milvus核心组件(4)---- MinIO 结合 Kafka 的配置,使用及原理(超详细版)

你需要先下载 zookeeper,已支持Kafka 的集群功能,虽然你可能不会用到集群,但是Kafka 要能正常运作,离不开zookeeper的支撑。--link zookeeper:zookeeper: 连接到名为“zookeeper”的另一个Docker容器,并且在当前的容器中可以通过zookeeper这个别名来访问它。这个地方注意下,我们首先要保证 一个 zookeeper 名字的docker 是启动的,在上面,我已经启动了。其实最重要的也就是 broker kafka 的ip ,por,topic

2024-08-15 17:35:10 783

原创 RAG与LLM原理及实践(13)--- hybrid async search 使用及源码分析

milvus hybrid search 确实效果还不错,但是有的场景,比如我们在分布式系统中由于需要较高的query 准确率,我们将TSO 相关的参数包括 guarantee_time, graceful_time 等设置比较长,而且 data consistency 有可能不是 Strong,nprobs 有可能也比较大,又比如说 ef 设置比较大,HNSW或者说是 ANN search 算法本身可能也比较耗时,整体来说,search 整体可能较慢。弄懂了这几个地方的处理,理论上源码精髓你就理解了。

2024-08-14 15:50:00 499

原创 RAG与LLM原理及实践(12)--- Milvus RRFRanker的使用场景及源码分析

RRF(Ranked Retrieval Fusion,排序检索融合),他实际上侧重的是最后搜索结果的排名。他的计算公式为:𝑁 代表不同召回路的数量,rank𝑖(𝑑) 是第 𝑖 个检索器对文档 𝑑 的排名位置,𝑘 是一个平滑参数,通常取 60。这里这个公式看不懂没关系,带入这个例子你就明白了。

2024-08-13 18:07:38 821

原创 RAG与LLM原理及实践(11)--- Milvus hybrid search 源码分析及思想

这种漂移本质上和改动权重的效果是类似的,换句话说,因为相似度可能的不统一计算,会使得即使权重weights 分配准确,但最后得到的结果可能不符合预期。如果你能指明你要query 的是哪个partition当然是最好的,因为那样会使得search的scope 比较小,但是不知道也没关系,这个是optional的。output_fileds 就是查询后需要返回的哪几个字段,比如在上一篇文章实现的代码中,我们最终是需要返回 image 的path,供显示。通常这是在对返回query 效率有严格限制的条件下使用。

2024-08-12 19:45:05 425

原创 Milvus 实践(3) --- hybrid search 实现文本-图片搜索思路及代码

图片-文字交互式搜索应用非常广泛,实际上在本专栏前面的一篇文章中已经给出了一个代码的实现及思路。这种方式在文本图片搜索中有着广泛应用,它的本意是将图片与文本通过不同模型训练后,投射到相同维度的向量空间,然后将已配对的图片文本描述与图片二进制数据所形成的相同维度的向量,计算二者的相似度,使其他们的相似度尽可能的高。同时那些没有配对的图片文本描述与图片数据,其计算出的相似度尽可能偏低。这也是CLIP的根本逻辑所在。你如果还不是很明白,可以参看本专栏上一篇文章。

2024-08-11 14:32:45 750

原创 Stable Diffusion 使用详解(7)---AI 摄影

魔法师使用魔法作的画有时候太过完美,以至于有点脱离真实摄影的感觉,我们看看怎么尽量做好AI摄影。其实你看了几期这个专栏写的文章,AI 绘画操作对于魔法师来讲,是有套路可寻的。对于真实系的任务或风景来讲,太完美往往不是上上之选。有时候可能需要‘接地气’。唯美而不失真,恰到好处比较好。

2024-08-07 17:30:47 739

原创 Milvus 实践(2) --- 2.4.x 安装,脚本分析,数据存储解析

MinIO主要用于存储Milvus中的实际数据,特别是向量数据和索引文件。MinIO提供了可扩展的分布式对象存储解决方案,能够高效地处理大规模数据存储需求,确保数据的安全性和可靠性。看下面示例你会更加清楚。而rdb_data 更侧重于与milvus 内部之间的整合,这种整合是milvus 与 minio 之间的纽带,他更偏重milvus 的内部逻辑处理。看下示例你会更清楚。

2024-08-07 12:09:00 892

原创 RAG与LLM原理及实践(10)--- 完整自实现Local RAG

通过这节加上前面的 local RAG 搭建,你完全可以自己实现一个local RAG 模型,而不借助任何外围组件,这样的实现对你加深RAG实现的全过程有直观重要的作用。还是那句话,真正的强者不能只是浮于表面,要知其然更要知其所以然。如果想要实现分布式的vector db 存储与query,那又回到了那个问题,你需要在query 正确率,效率,数据一致性之间做权衡。并且使用类似分布式数据,元数据管理工具,cache 策略等诸多手段进行维护。

2024-08-06 13:50:45 598

原创 Stable Diffusion 使用详解(6)---人物风格及背景变换

很多场景下,需要完成人物风格变换,比如现在是写真集,想转换为动漫集。但我们需要人物原始特征保持不变,再者加上一些新的动漫背景,生成三次元图像,或生成3D画风图像,我们看看怎么处理。

2024-08-06 13:40:21 1281

原创 Stable Diffusion 使用详解(5)---- 光影效果与场景融入

绘制一款模特穿着某个英文LOG的漂亮服装,这是一种很常见UI作画需求,这类需求实际上可以透过选取正确的底模 + controlNet 进行完美的实现,懂的人觉得比较简单。下面来实操下。任何新技术,只有懂得了如何使用,你才能从原理上更深层的了解把握它。

2024-08-01 16:18:29 1023

原创 Stable Diffusion 使用详解(4)---- 制作情景文本

需要说明的是,底模的选择很重要,底模的选择直接个你需要的情景相关。如果底模不符合你需要的情景,AI 绘制出来可能不是你想要的,尽管你的提示词可能描述的非常准确。如果你觉得偏真实感的不适合你的场景,你想换个偏科技感的,没问题,换个底模。需要注意下,有的底模是在已有底模上的二次改良,选择时候注意加载。选择权重为 0.9, 比对第一个边缘检测,稍微弱一点,我没有勾选完美像素,当然你也可以勾选。绘制底图很简单,mspaint,word,txt, ppt 都可以。最后加入一点金属风格的背景,你可以加入多模型来支撑。

2024-07-31 14:25:24 943

AI+神经网络+数字训练与识别

从数字原始文件中,使用神经网络梯度下降去训练数字样本,得到最终迭代后的权重。 使用训练后的权重带入模型去预测数字图片中的数字。 里面有代码注释,并且附上我训练的一轮weights。 你可以完整看到AI训练的全过程及预测过程,通过注释,让你深刻意识到AI的神经网络是如何工作的。

2024-09-14

中文句子下一个词语预测 代码采用tensorflow实现,基于skip-gram思想,可以直接运行,预测下一个词语词输出是什么

skip-gram思想的完整实现,代码采用tensorflow实现,可以直接运行,预测下一个词语词输出是什么。只是输入资源不够多,你可以多找些输入文本,或者读几个网页来对模型进行训练。 该模型完整实现了skip-gram,你可以通过这个代码,学习到 skip-gram的精髓。并为转向更复杂的attention实现机制做准备。代码结构非常清新,网络采用embedding 与 Dense,softmax混合的方式实现。欢迎下载

2024-06-26

AI 神经网络(神经网络+激活函数+梯度下降)模型训练识别cat图片,并对目标图片进行预测 资源齐备,直接运行

AI 神经网络(一层神经网络+激活函数+梯度下降)模型训练识别cat图片,并目标表图片进行预测。训练资源和验证资源齐备。 为了方便执行,我写了函数,将h5资源直接还原为训练与验证集图片。 代码富有详细注释,适合对Pyhton AI有兴趣,且需要一个难度不是很大的AI 模型上手的人。 资源结构包括:完成运行代码(附详细注释) + 资源文件(h5资源 电脑看) + 还原后的资源文件(人看) 代码结构清晰,再此基础上,你可以进行二次改造为多层神经网络。具有一定的普适性。 麻雀虽小,五脏俱全。 并将learning rate 附上不同值,通过 plot 直观打印出不同learning rate 下,相同迭代次数的收敛情况。 如果你有兴趣,可以直接修改迭代次数,代码有详细注释。欢迎下载。

2024-06-26

js最短路径算法

通过网页展示最短路劲算法的过程,js完成

2013-04-04

百度之星 程序设计大赛解答

百度之星 解答 有详细的设计思路与答案 包含搜索算法思路

2013-04-04

QT 下 信号量使用

QT 下 信号量使用,描述多个信号量同步机制

2010-01-15

QT4 时钟服务器端

QT4 时钟服务器端 采用多线程技术,代码简洁,实现清晰,一个线程负责获取时间

2010-01-15

QT4 时钟客户端软件

QT4 时钟服务器客户端 采用多线程技术,代码简洁,实现清晰,一个线程负责获取时间

2010-01-15

QT4线程临界区的应用

QT4 线程 临界区的使用 代码简洁 能说明QT下线程的使用 方法,代码有注释,易扩展

2010-01-15

数字识别系统源代码VC

数字识别系统,采用神经网络的分析方案实现,杨蓓训练越多,效果越好

2009-12-26

车牌定位系统VC实现

完成图像中车牌的定位,采用小波分析的算法,能识别出绝大多数车牌

2009-12-26

运动识别系统VC实现

运动中的图像识别,采用图像识别算法,效果较好,可以进一步完善图像的识别算法

2009-12-26

空空如也

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

TA关注的人

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