数据结构——A/复杂度

🌈个人主页:慢了半拍 🔥 创作专栏:《史上最强算法分析》 | 《无味生》 |《史上最强C语言讲解》 | 《史上最强C练习解析》|《史上最强数据结构》 | 🏆我的格言:一切只是时间问题。 ​ 目录 基础铺垫 一、算法效率 算法的复杂度 二、时间复杂度 2.1 概念 2.2 大O的渐进表示法 2.3 常见时间复杂度计算举例 实例1:O(N) 实例2:O(N+M) 实例3:O(N) 实例4:O(N^2) 实例5:O(logN) 实例6:O(N) 实例7:O(2^N) 三、空间复杂度 四、常见复杂度对比 五、复杂度的oj练习 基础铺垫 1. 什么是数据结构? 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的 数据元素的集合。 2.什么是算法? 算法(Algorithm):就是一系列的计算步骤,用来将输入数据转化成输出结果。 3.怎么学好算法 a.死磕代码; b.注意画图和思考。 4.数据结构和算法书籍及资料推荐 a.刷题《剑指offer》和《程序员代码面试指南》; b.做补充C语言版本严蔚敏、CPP殷人昆、看图《大话数据结构》; c.刷完上面的内容,我们童鞋还可以去刷刷 Leetcode。 5.数据结构三要素 a. 逻辑结构:集合、线性结构(一对一)、树形结构(一对多)、图结构或网状结构(多对多); b. 数据运算; c. 物理结构(存储结构):顺序储存,非顺序储存(链式、索引、数列储存)。 一、算法效率 如何衡量一个算法的好坏呢?答:算法的复杂度 时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。 二、时间复杂度 2.1 概念 定义:在计算机科学中,算法的时间复杂度是一个函数,算法中的基本操作的执行次数,为算法的时间复杂度。 即:找到某条基本语句与问题规模N之间的数学表达式,就是算出了该算法的时间复杂度。 实际中我们计算时间复杂度时,我们其实并不一定要计算精确的执行次数,而只需要大概执行次数,那么这里我们使用大O的渐进表示法。 2.2 大O的渐进表示法 大O符号(Big O notation):是用于描述函数渐进行为的数学符号。

1panel+MaxKB+Ollama+Llama Linux部署指南

目录 1.1panel安装 2.MaxKB 1.MaxKB登录 3.Ollama(gpu)安装 1.安装英伟达容器安装包 1.配置apt源 2.更新源 3.安装工具包 2.使用GPU运行Ollama 3.使用Ollama下载模型 1.修改Ollama下载路径 2.设置使用的显卡(如果想单张使用) 4.MaxKB应用配置 5.模型运行情况 6.本地环境版本 1.1panel安装 输入指令: ubuntu:curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh RedHat/Centos:curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh Debian:curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh openEuler/其他: 第一步:安装 docker bash <(curl -sSL https://linuxmirrors.cn/docker.sh) 第二步:安装 1Panel curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh 安装成功后,控制台会打印面板访问信息,可通过浏览器访问 1Panel: http://目标服务器 IP 地址:目标端口/安全入口 2.MaxKB 打开上面1panel地址,打开应用商城,点击MaxKB就可以安装了。这是docker方式安装的,安装前需要配置好docker。 如果出现docker安装失败,出现408,即配置docker源: http://prod-reg.hydevops.com

【Python】Python中的除法运算

在 Python 中,除法运算可以通过几种不同的运算符来执行,主要包括普通除法 (/) 和整除 (//),还有取余运算 (%),这些运算符有各自的特定用途和行为。 1. 普通除法 (/) 普通除法运算符 / 用于执行标准的除法运算,结果总是返回一个浮点数,即使两个操作数都是整数。这在 Python 3 中是一致的行为;在 Python 2 中,两个整数相除会返回整数(即整除的结果),这一点在 Python 3 中已被修改。 示例: result = 10 / 3 print(result) # 输出: 3.3333333333333335 2. 整除 (//) 整除运算符 // 用于得到两数相除的整数部分,即结果向下取整到最接近的整数。这适用于需要忽略余数部分的情况。 示例: result = 10 // 3 print(result) # 输出: 3 3. 取余运算 (%) 取余运算符 % 用于得到两数相除的余数部分。这在很多算法中非常有用,如检查一个数是否为另一个数的倍数,或者在处理循环数组时确定位置。 示例: remainder = 10 % 3 print(remainder) # 输出: 1 特别注意 浮点数除法:当操作数包含浮点数时,即使使用整除运算符 //,结果也会受到浮点数精度的影响。负数除法:当操作数为负数时,整除和取余运算的结果可能与你的直觉不同。整除向下取整到最接近的负无穷大方向。 负数示例: print(-10 // 3) # 输出: -4 print(-10 % 3) # 输出: 2 在这个例子中,-10 // 3 返回 -4 而不是 -3,因为 -4 是比 -3.

如何看待AIGC技术?(二)

简介:探讨AIGC技术的发展现状和未来趋势。 AIGC技术:人工智能的创意革命正在加速! 从简单的文本生成,如我们熟知的ChatGPT,到现今的多模态艺术创作,AIGC的技术边界不断扩展。这些系统不仅能够模拟人类的语言交互,还能创造视觉、音频和视频内容,让与机器的交流更加自然、深入。现在,无论是合成高质量图像,还是制作动听的音乐片段,AIGC都能够通过综合不同类型的输入——如文字、声音和图像——来创作出质量堪比原创,甚至超越人类艺术家的作品。ChatGPT的最新进展更是令人惊叹,它已跨越了文本的界限,进入图像识别和音频处理等领域,提供一种全新的多模态交互体验,开启了与AI的对话新纪元。 方向一:技术应用 1. 法律咨询: ChatGPT能够处理一些基础的法律咨询需求,但法律工作的复杂性要求律师不仅要有法律知识,还要有判断力和战略思维,这是AI短时间内难以具备的。 2. 出版与翻译: AIGC技术的翻译功能正在使得跨语言的知识传播变得更加容易和无障碍。读者可以轻松阅读到由AI翻译的外文文献,这对图书编译行业来说是一个重大的突破,但翻译文学作品和专业材料时,人类翻译者对文化细节和语境的理解仍然不可或缺。 3. 广告与市场营销: 广告人可以利用ChatGPT来创作引人入胜的文案和预算投放成本。AI的数据分析能力有助于广告投放的精确性,但创意和策略的制定仍然需要人类的直觉和经验。 4. 金融交易: 在金融交易领域,AI的预测能力可以基于历史数据和现实世界事件分析可能的市场走势。然而,对于复杂的市场分析和决策制定,交易员的专业知识和风险管理能力是AI难以替代的。 5. 行政与办公支持: 以色列总统开始用ChatGPT写演讲稿,这表明AI能够帮助文秘工作变得更加高效。尽管AI可以处理许多日常的行政任务,但战略规划和人际沟通等高阶任务仍需人类专业技能。 想要掌握AI的前沿技术吗?来看看知乎的大模型技术课程吧!无论你是AI的初学者,还是寻求进阶的专业人士,这个课程都为你量身定制。课程涵盖了从基础理论到实际应用的全方位知识,用实际项目确保你的学习成果能够立竿见影。别再犹豫了!直接扫描下面二维码,如果不能扫描,请下载图片用微信扫一扫功能加入我们! 方向二:伦理与风险 1. 误信息传播: AI生成的内容可能被用来制造和传播误信息,对社会稳定和公共安全构成威胁。特别是在新闻报道、社交媒体和政治宣传等领域,AIGC的不当使用可能会对公众认知和决策产生误导。 2. 职业伦理: AIGC技术在特定职业中的应用可能导致道德困境,比如法律顾问或医疗诊断。AI提供的建议可能会影响重要的生活决策,但它们缺乏人类专业人士的道德判断和责任感。 方向三:未来展望 1、激发创意的智能伙伴:未来的AIGC系统将不仅理解人类的创造过程,而且成为艺术家和设计师的创意伙伴。这些系统将推动艺术和设计的革新,带来前所未见的新艺术形式和设计语言。 2、定制化服务的新纪元:在教育、健康保健和客户服务等领域,AIGC技术将提供极致个性化的体验。它不仅能洞察个人需求,还能预测并自动调整服务,以满足用户的独特偏好和期望。 3、智能决策的强大后盾:在企业管理和政策制定领域,AIGC将变革传统的决策支持系统。通过深度分析和预测复杂数据,这些系统能提供精准的数据驱动决策建议,帮助领导者在不确定性中找到明智之选。 方向四:总结: 随着AIGC技术的快速发展,我们站在一个新的时代门槛上,期待着它所能带来的深刻变革。这项技术的未来充满了潜力,同时也伴随着诸多挑战,在这样一个变革的时代,我们每个人都是参与者,也是见证者。我们期待着AIGC技术带来的明天,但也必须准备好面对伴随而来的挑战。在探索未来的同时,我们必须始终保持警惕,确保技术的发展能够惠及每一个人,并为我们共同的未来添砖加瓦。 开源作品 我们目前专注于AI技术在编程行业的应用,主要目标是通过自然语言操作数据库,以替代传统的企业管理后台Web界面。我们欢迎对此感兴趣的朋友加入我们的开源项目,如果你觉得这个项目有价值,欢迎给我们点赞⭐⭐。我们非常感谢你的支持和参与! 项目地址如下: https://github.com/sql-agi/DB-GPT 作者简介 家源:卷过大厂、贡献过开源、曾多次参与大模型比赛并🏆 多次参加AIGC交流会(微软AIGC等)、一直走在AIGC最前沿! 如果你对AIGC|AI大模型技术感兴趣,咱们一块进群交流吧~

2024年前端最新Nginx入门知识【Nginx介绍,下载安装,基础命令,配置,具体应用,2024年最新大数据高频面试题

最后 为了帮助大家更好的了解前端,特别整理了《前端工程师面试手册》电子稿文件。 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】 Nginx入门知识 1、Nginx介绍 2、Nginx下载和安装3、Nginx概述4、Nginx命令5、Nginx配置文件结构6、Nginx具体应用 1、Nginx介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。 Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。 官网:https://nginx.org/ 2、Nginx下载和安装 可以到Nginx官方网站下载Nginx的安装包,地址为:https://nginx.org/en/download.html 安装过程: 1、安装依赖包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel 2、下载Nginx安装包wget https://nginx.org/download/nginx-1.16.1.tar.gz 需先安装wget------- yum install wget 3、解压 tar -zxvf nginx-1.16.1.tar.gz 4、cd nginx-1.16.1 5、./configure --prefix=/usr/local/nginx 安装之前做一些检查性的工作 6、make && make install 3、Nginx概述 Nginx目录结构 安装完Nginx后,我们先来熟悉一下Nginx的目录结构,如下图: 重点目录/文件: conf/nginx.conf nginx配置文件 html 存放静态文件(html、CSS、Js等) logs 日志目录,存放日志文件 sbin/nginx 二进制文件,用于启动、停止Nginx服务 4、Nginx命令 查看版本 查看Nginx版本可以使用命令: ./nginx -v 检查配置文件正确性 在启动Nginx服务之前,可以先检查一下conf/nginx.conf文件配置的是否有错误,命令如下: ./nginx -t 启动和停止 启动Nginx服务使用如下命令: ./nginx 停止Nginx服务使用如下命令: ./nginx -s stop

初识指针(5)<C语言>

前言 在前几篇文章中,已经介绍了指针一些基本概念、用途和一些不同类型的指针,下文将介绍某些指针类型的运用。本文主要介绍函数指针数组、转移表(函数指针的用途)、回调函数、qsort使用举例等。 函数指针数组 函数指针数组即每个元素都是函数地址的数组。 //函数指针数组 int jia(int x, int y) {//加法函数 return x + y; } int jian(int x, int y) {//减法函数 return x - y; } int cheng(int x, int y) {//乘法函数 return x * y; } int chu(int x, int y) {//除法函数 return x / y; } int main() { int (*p[4]) (int, int) = {jia,jian,cheng,chu}; //保证p与[]先结合成数组,之后再与*结合,构成指针数组,最后再和函数结合 return 0; } 转移表(函数指针的用途) 假如我们写个程序完成对两个数之间的简单数学运算(加减乘除),按照正常的写法,选择一种计算后进入判断环节,之后再输入数字,这样写每一种运算下都会有代码重复,有没有办法简化代码呢? 回调函数 即一个通过函数指针调用的函数。 通过回调函数,可以消除特定场景中因为多分支造成的重复代码,例如:一个实现加减乘除的程序中,每个分支下都有一种运算,每个运算可写成一个函数,我们可以再写一个函数将每种分支下的重复代码包含进去,通过传入函数指针来调用运算函数,从而完成运算。 //回调函数 int jia(int x, int y) { return x + y; } int jian(int x, int y) { return x - y; } int cheng(int x, int y) { return x * y; } int chu(int x, int y) { return x / y; } void menu() { printf("

iOS 面试题总结(可能是最全的!!!)

如有错误 请及时在评论中指出 文章将不定期更新 1. objc_msgForward是干什么的,如果直接调用会发生什么? 作用:这个函数是IMP类型(方法实现的内存地址也就是函数指针),用于消息转发,当向一个对象发送一条消息,但它并没有实现时,这个函数会尝试进行消息转发。 直接调用现象:可能导致程序crash,因为很可能查不到函数的实现(jspatch热更新就是使用的这个来调用或者替换oc的方法,让app具备热更新的功能) 2. runtime如何实现weak变量的自动置nil? runtime对注册的类会进行布局,对于weak对象会放到一个hash表(字典)中,用weak指向的内存地址作为key(weak对象的内存地址),用指向weak对象的所有weak指针地址组成的数组作为value,当此对象的引用计数为0时dealloc,假如weak指向的对象内存地址为a(即key),然后就会以a为键在这个weak表中进行搜索,找到所有以a为key的weak对象(即对象的那块内存),从而置为nil。 3. 能否向编译后的类中添加实例变量,能否向运行时创建的类中添加实例变量,为什么? 不能向编译后的类中增加实例变量,因为编译后的类已经注册在runtime中,类结构体中的objc_ivar_list实例变量的链表和instance_size实例变量的内存大小已经确定,同时runtime会调用class_setIvarLayout或class_setWeakvarLayout 来处理strong weak 引用。所以不能向编译后的类中添加实例变量。 可以向运行时创建的类中添加实例变量,需要调用class_addIvar来添加,并且需要在objc_allocateClassPair之后和objc_registreClassPair之前调用class_addIvar进行实例变量的添加,原因此时实例变量的链表和所占内存都未确定。 4. runloop和线程之间的关系? runloop是为了线程而生,是线程的基础架构部分,每个线程都有与之对应的runloop对象。 其他知识: (1)主线程中的runloop是默认启动的,其他线程默认不启动。 (2)获取runloop的代码:NSRunLoop *runloop = [NSRunLoop currentRunLoop]; (3)runloop的作用:让线程在没有执行任务时休息,有任务时执行任务。 (4)让线程一直存在着 5. runloop中的mode的作用? 制定事件在运行循环中的优先级。 该优先级分为: 空闲状态(NSDefaultRunLoopMode(kCFRunLoopDefaultMode)(系统默认提供这个状态)) UITrackingRunLoopMode(scrollview滑动时的状态) UIInitializationRunLoopMode;(启东时的状态) NSRunLoopCommonModes;(model集合状态(kCFRunLoopCommonModes)) 6. timer在scrollview滑动时会停止计时,为什么?怎么解决? 原因:当scrollview滑动时,runloop的mode会切换到UITrackingRunLoopMode模式来保证scrollview的滑动流畅度,而此时以NSDefaultRunLoopMode模式加入runloop的timer就会不在被调度。 解决方案:通过将timer添加到NSRunLoopCommonModes模式中可以解决这个问题。 代码演示: //tempTimer你的timer的名字 [[NSRunLoop currentRunLoop] addTimer:tempTimer forMode:NSRunLoopCommonModes]; 7. runloop是如何实现的? 内部应该是一个do while 当while收到退出通知时,就结束这个循环,do里面应该是接收消息->等待->处理的逻辑 8. ARC用什么方式帮助开发者管理内存 在编译和运行时通过分析代码上下文帮助开发者添加retain和release的代码来控制对象的retainCount来是实现的。 9. oc使用什么机制来管理对象内存? 使用retainCount的机制来管理对象内存。 每次runloop时,都会检查对象的retainCount,如果为0,就认为该对象已经不会再被使用了,就把该对象释放掉。 10. 不手动指定autoreleasepool的情况下,一个autorelease对象在什么时候释放(比如在vc的viewdidload中创建的一个局部对象会在什么时候释放)? 分两种情况进行释放: 1、手动干预释放:指定autoreleasepool,这样在大括号结束时就会被释放。 2.系统自动去释放:(不手动指定autoreleasepool)autorelease对象出了作用域之后,会被添加到最近一次创建的自动释放池中,并在当前的runloop迭代结束时释放。如果一个autorelease对象在vc的viewdidload中被创建,那么该对象在viewdidappear执行前就会被销毁。 11. BAD_ACCESS在什么时候出现 1.访问了野指针 2.死循环 3.向一个已经释放的对象发送消息或者访问其成员变量 12.

什么是RabbitMQ?为什么使用RabbitMQ?RabbitMQ的原理 以及使用场景有哪些?

RabbitMQ是一个开源的消息队列软件,它实现了高级消息队列协议(AMQP)并提供可靠的消息传递机制。RabbitMQ允许不同的应用程序和服务之间进行异步通信,通过消息队列传递和接收消息,实现解耦和提高系统的可伸缩性。以下是关于RabbitMQ的介绍、原理和使用场景的详细回答: 1. **什么是RabbitMQ**: - RabbitMQ是一个开源的消息队列软件,用于在应用程序和服务之间传递消息。它实现了高级消息队列协议(AMQP),提供了可靠的消息传递机制。 2. **为什么使用RabbitMQ**: - **解耦应用**: 通过消息队列,不同的应用程序和服务可以实现解耦,降低耦合度。 - **异步通信**: RabbitMQ支持异步通信,提高系统的响应性能和并发能力。 - **消息持久化**: RabbitMQ可以将消息持久化到磁盘,确保消息不会丢失。 - **可靠性**: RabbitMQ提供了可靠的消息传递机制,保证消息的顺序和一次性传递。 3. **RabbitMQ的原理**: - RabbitMQ基于生产者-消费者模型,消息生产者将消息发送到交换机,交换机根据路由规则将消息发送到队列,消费者从队列中获取消息进行处理。 - RabbitMQ支持不同类型的交换机(Direct、Fanout、Topic、Headers)和队列,通过绑定关系来实现消息的路由和分发。 4. **RabbitMQ的使用场景**: - **异步任务处理**: 将耗时的任务放入消息队列,异步处理,提高系统的性能和响应速度。 - **解耦系统**: 不同的服务之间通过消息队列实现解耦,减少依赖和提高系统的灵活性。 - **事件驱动架构**: 通过消息队列实现事件驱动架构,实现松耦合的系统设计。 - **日志收集**: 将日志消息发送到消息队列,集中管理和分析日志信息。 通过合理使用RabbitMQ,可以实现系统之间的异步通信、解耦和提高系统的可靠性和可扩展性。希望这些信息对您有所帮助。如果您有任何其他问题或需要进一步的解释,请随时私信我。

如何查看MySQL binlog日志

1、查看MySQL是否开启binlog日志 SQL:show variables like ‘%log_bin%’; log_bin:on 是开启状态 若是OFF,则需要开启binlog日志。 开启方式:打开mysql配置文件my.cnf,在[mysqlId]下面增加 log-bin=mysql-bin 查看binlog日志 mysql> show binlog events ``in 'mysql-bin.000002'``;#查看指定binlog文件的内容 mysql> show binary logs; #获取binlog文件列表 mysql> show master status; #查看当前正在写入的binlog文件 mysql> show binary logs; #获取binlog文件列表 mysql> flush logs;#刷新日志时,会生成新的binlog文件 若是执行SQL报错如下,则是权限不够。需要进行添加权限。 SQL 错误 [1227] [42000]: Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation

怎么看AI大模型(LLM)、智能体(Agent)、知识库、向量数据库、知识图谱,RAG,AGI 的不同形态?

前言 在 AI 人工智能时代,智能体将会是未来最主流的大模型应用方式?人人都有机会通过智能体,解锁成为【超级个体】。 在人工智能的快速发展中,LLM、Agent、知识库、向量数据库、RAG(检索增强生成)、知识图谱以及AGI(人工通用智能)等概念和技术不断涌现,其共同推动着人工智能技术的进步和应用场景的拓展! 从智能体定义到实际应用,在多次体验各个智能体系之旅的前提下,简单谈谈一点 IDea!本文将分别介绍这些概念和技术,并探讨它们在实现AGI的不同形态中所扮演的角色。 接下来,我们先来看看这些在 AI 生态里面的 概念&定义-> 大模型(LLM) 大语言模型(LLM)是指使用大量文本数据训练的深度学习模型,可以生成自然语言文本或理解语言文本的含义。大语言模型可以处理多种自然语言任务,如文本分类、问答、对话等,是通向人工智能的一条重要途径。 去年,大语言模型及其在人工智能领域的应用已成为全球科技研究的热点,其在规模上的增长尤为引人注目,参数量已从最初的十几亿跃升到如今的一万亿。参数量的提升使得模型能够更加精细地捕捉人类语言微妙之处,更加深入地理解人类语言的复杂性。 在过去的一年里,大语言模型在吸纳新知识、分解复杂任务以及图文对齐等多方面都有显著提升。随着技术的不断成熟,它将不断拓展其应用范围,为人类提供更加智能化和个性化的服务,进一步改善人们的生活和生产方式。 智能体(Agent) 任何独立的能够思考并可以同环境交互的实体都可以抽象为智能体。Agent 是一个英文单词,指能自主活动的软件或者硬件实体。在人工智能领域,国内译为中文“智能体”。曾被译为“代理”、“代理者”、“智能主体”等。 智能体本身包括感知观测单元 (Sensor)、记忆检索单元(Memory)、推理规划单元(Planner) 和行动执行单元(Actuator)。 以 AI 为核心,构建一个立体感知、全域协同、精准判断、持续进化、开放的智能系统。 知识库 知识库是存储和管理知识的系统,在数据存储和检索方面起着重要意义。 作为以知识为基础的系统,为人工智能应用提供了丰富的数据支持。它整合和存储组织内部或外部的知识和信息,帮助企业或个人更有效地获取和利用知识。 知识库不仅可以提供各种类型的知识,还支持多种检索方式,方便用户快速找到所需知识。在人工智能应用中,知识库扮演着至关重要的角色,为 AI 系统提供必要的知识支撑。 知识库的概念来自两个不同的领域,一个是人工智能及其分支-知识工程领域,另一个是传统的数据库领域。由人工智能(AI)和数据库(DB)两项计算机技术的有机结合,促成了知识库系统的产生和发展。 知识库->信息和知识有序化,加快知识和信息流动,知识共享与交流,可以管理海量的非结构化文档数据,应用范围广泛。 向量数据库 向量数据库是专门用来存储和查询向量的数据库,其存储的向量来自于对文本、语音、图像、视频等的向量化。 与传统数据库相比,向量数据库可以处理更多非结构化数据(比如图像和音频)。 在机器学习和深度学习中,数据通常以向量形式表示。向量数据库以其高效存储、索引和搜索高维数据点的独特能力,在多个领域凸显了其重要性。它能够处理以多维空间中的向量形式表示的数据条目,包括数值特征、文本或图像的嵌入等复杂数据。 总的来说,在数据存储和检索方面,知识库和向量数据库发挥着重要作用。知识库是存储和管理知识的系统,而向量数据库则采用向量空间模型,将数据表示为向量形式,使得存储和检索高维数据变得更为高效。 向量数据库的应用使得 AI 系统在处理大规模、高维度的数据时更加高效和准确。这种数据库适用于图像、文本、音频等多种数据类型,为 AI 大模型和 Agent 智能体提供了强大的数据支持。 知识图谱 知识图谱则是一种以实体和关系为基础的图结构数据库,用于表示和管理知识。用于存储、管理和显示人类语言知识的结构化数据模型。 它通过对人类语言知识进行语义抽取并建立起其之间的关系,形成一种树状结构的知识库。实体是具有特定属性和关系的对象,如人、地点、组织等,而关系则是实体之间的联系。把复杂的知识领域通过数据挖掘、信息处理、知识计量和图形绘制而显示出来,揭示知识领域的动态发展规律,为学科研究提供切实的、有价值的参考。 知识图谱技术的应用非常广泛,在医疗方面,比如临床诊疗->医疗数据->知识图谱(实体识别->关系抽取->数据集训练 图谱形式:主要确定什么作为节点,节点之间的边用什么来关联或者表示)。 与此同时,在智能推荐、自然语言处理、机器学习等领域也具有广泛的应用。尤其在搜索引擎领域,它能够提高搜索的准确性,为用户提供更加精准的搜索结果。 我们这里举个示例,比如:篮球领袖姚明,假如我们没有摄入这些知识的时候,我们就不知道姚明原来是篮球界的榜样! 这不禁让人联想到【六度分隔理论】 六度分隔(Six Degrees of Separation)简单地说:“你和任何一个陌生人之间所间隔的人不会超六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。” 就好比一个连结人与社区的人际连系网: 检索增强生成(RAG) RAG(检索增强生成)是一种结合检索器和生成器两大功能组件的技术,用于处理复杂的信息查询和生成任务。在大模型时代,RAG 通过加入外部数据(如本地知识库、企业信息库等)来增强 AI 模型的检索和生成能力,提高信息查询和生成质量。 RAG(Retrieval-Augmented Generation)将向量数据库和大模型问答能力进行有效结合。知识源存储在向量数据库中,当提出问题时,通过向数据库检索找到相关部分,然后与大模型一起生成最终的回答。这种技术的出现大大提高了 AI 系统在回答复杂问题时的准确性和效率。 人工通用智能(AGI) AGI(人工通用智能)是人工智能发展的最终目标,它要求智能系统能够像人类一样理解和处理各种复杂的情况和任务。AI 大模型、Agent 智能体、知识库、向量数据库、RAG 以及知识图谱等技术都是实现 AGI 的关键要素。它们在不同形态中相互协作,共同推动着人工智能技术的不断进步。

AI产品经理必备:AI和大模型的区别

在人工智能(AI)的领域,我们常常听到“大模型”和“传统AI”这两个术语。那么,这两者之间究竟有何区别? 今天,我们就来深入探讨一下这个问题。 1、算法和模型结构 大模型(LLM)是基于深度学习算法的,使用大规模的神经网络模型进行训练。这使得LLM具有更强大的语言处理能力和生成能力。而传统AI通常使用基于规则、模板和手工特征工程的浅层算法,难以处理复杂的语言任务。 2、灵活性和可扩展性 LLM可以根据任务需求进行灵活的调整和扩展,以适应不同的应用场景。而传统AI则通常需要重新设计和实现算法和模型,无法快速地适应新的应用需求。 3、数据规模和多样性 LLM需要大规模、多样化的语言数据进行训练,以便学习到更全面的语言规律和特征。而传统AI通常需要的数据量较小,数据多样性也较低。 4、任务范围和性能方面 LLM可以处理多种自然语言处理任务,如文本分类、情感分析、问答系统、机器翻译等,具有更广泛的任务范围和更高的性能。而传统AI通常只能处理特定领域的简单任务,如图像识别、语音识别等。 5、计算资源和成本 LLM需要大量的计算资源和成本进行训练和推理,包括高性能的计算机、GPU等。而传统AI则通常需要的计算资源和成本较低,可以更容易地进行部署和应用。 传AI与大模型在算法和模型结构、灵活性和可扩展性、数据规模和多样性、任务范围和性能、以及计算资源和成本等方面存在着显著的区别。 结合最新的信息,我们进行更深入的探讨AI与大模型发展: 人工智能与大模型的技术进步:斯坦福大学的人工智能研究所发布的《2024年人工智能指数报告》显示,尽管人工智能在某些任务上已能超越人类表现,但这并不意味着它在所有领域都能取代人类。这提醒我们,尽管AI技术迅速发展,它仍然存在局限性。企业和开发者在推进AI应用时,应认识到AI的这一特性,合理利用其在特定领域的优势,同时探索人类与AI的最佳协作方式 1 。 国内AI大模型的适用性比较:人民网财经研究院发布的《2024年中国AI大模型产业发展报告》对国内市场占有率较高的AI大模型进行了功能和适用性分析。例如,讯飞星火认知大模型具备文本生成、语言理解、知识问答等多种能力,而文心一言大模型则擅长听懂复杂句式和专业术语,适用于文学创作、商业文案撰写等领域 2 。 大模型年度榜单:根据大模型开源开放评测体系司南(OpenCompass2.0)的评测,GPT-4-Turbo在各项评测中表现最佳,而国内厂商如智谱清言GLM-4、阿里巴巴Qwen-Max、百度文心一言4.0也紧随其后。这表明国内大模型在某些方面已接近国际顶尖水平,但在复杂推理等方面仍有提升空间 3 。 国内AI大模型的技术发展:国内大模型技术主要分为自研效果复现类和基于开源迭代类。例如,百川智能通过对LLaMA框架进行修改以提升训练时的吞吐,并在中文语料方面取得显著进展 4 。 AI大模型的产业发展趋势:中国AI大模型产业发展报告指出,AI大模型已成为全球科技竞争的新高地,未来发展潜力巨大。报告还提到了国内AI大模型产业面临的挑战,如算力瓶颈、主流架构局限、高质量训练数据集的不足等 5 。 综上所述,AI与大模型之间的区别不仅在于技术层面,还包括应用场景、性能表现、以及产业发展的趋势和挑战。这些新信息可以帮助您更全面地理解AI与大模型的区别,并为您的文章增添更多细节和深度。 大模型岗位需求 大模型时代,企业对人才的需求变了,AIGC相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。 掌握大模型技术你还能拥有更多可能性: • 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程; • 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用; • 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域; • 更优质的项目可以为未来创新创业提供基石。 可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把全套AI技术和大模型入门资料、操作变现玩法都打包整理好,希望能够真正帮助到大家。 -END- 👉AI大模型学习路线汇总👈 大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈) 第一阶段: 从大模型系统设计入手,讲解大模型的主要方法; 第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用; 第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统; 第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统; 第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型; 第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例; 第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。 👉大模型实战案例👈 光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。 👉大模型视频和PDF合集👈 观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 👉学会后的收获:👈 • 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力; • 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

< Stable Diffusion 入门指南 > 初步了解 Stable Diffusion

Stable Diffusion 与 Stable Diffusion UI 现在网络上有很多人都混淆了Stable Diffusion 与 Stable Diffusion UI的关系,我认为想要了解Stable Diffusion与Stable Diffusion UI的关系,首先需要了解它们各自的定义和功能。 Stable Diffusion是一个基于深度学习的图像生成模型,它通过学习大量的图像数据,能够根据用户输入的文本描述,生成符合要求的对应图片。该模型采用了条件生成对抗网络(Conditional Generative Adversarial Network,CGAN)架构,具有稳定性和生成质量高的优点。 而Stable Diffusion UI则是一个用户界面(WebUI),它为Stable Diffusion模型提供了一个更加简洁易操作的界面。通过这个界面,用户可以方便地调用Stable Diffusion模型,并对其各项参数进行调整,以生成符合自己需求的图片。此外,Stable Diffusion UI还支持多种插件扩展,用户可以根据自己的需求添加相应的插件,以实现更加丰富的功能。 因此,Stable Diffusion与Stable Diffusion UI的关系是相互依存的。Stable Diffusion提供了图像生成的能力,而Stable Diffusion UI则为这些能力提供了一个友好的用户界面,使得用户可以更加方便地使用这些功能。在应用方面,用户可以通过Stable Diffusion UI上传自己的文本描述,并得到符合要求的图片。同时,用户还可以通过调整模型的参数和添加插件来优化生成结果,从而满足自己的需求。 Stable Diffusion 整合包(安装包分享在文末) 如今,在国内提到 Stable Diffusion 的大众化就一定离不开一位大佬——秋葉aaaki,他制作的 Stable Diffusion 整合包在国内的推广和应用中发挥了非常重要的作用。他的工作不仅简化了使用流程,还使得更多的人能够接触到并使用这一强大的图像生成工具。 秋叶aaaki的贡献不仅仅在于软件包的制作和优化,他还积极地进行社区建设和交流。他经常在社区中分享自己的经验和技巧,解答用户的问题,提供帮助和建议。他的热情和专业知识感染了很多人,使得更多的人愿意尝试和使用Stable Diffusion。 整合包分享在文末,需要的小伙伴记得领取! 提示词(文末领取) 提示词是Stable Diffusion中最重要的概念之一。它是一种文本输入,用于指导模型生成符合特定描述或条件的图像。 在Stable Diffusion中,提示词分为正向提示词(Positive Prompt)和负向提示词(Negative Prompt)。正向提示词是用来描述和引导模型生成某些特定内容或特性的文本,例如“A cute little bear with brown fur is playing in the forest”。负向提示词则是用来排除或避免某些内容或特性的文本,例如“Excess arms and fingers”。

数据结构的二叉树(c语言版)

一.二叉树的概念 1.二叉树的基本概念 二叉树是一种常见的树状数据结构,它由若干个节点组成,这些节点通过边连接起来。每个节点最多可以有两个子节点,分别称为左子节点和右子节点。 二叉树的特点是每个节点最多有两个子节点,而且左子节点和右子节点的位置是固定的。通常,左子节点小于或等于父节点,右子节点大于父节点,这种顺序被称为二叉搜索树。 二叉树的一个重要概念是根节点,它是树的起始节点,其他节点通过边与根节点相连。根节点没有父节点。另外,每个节点除了子节点的连接外,还可以有一个指向父节点的连接,这样就形成了一个双向连接的二叉树。 2.二叉树的特殊形态 二叉树还有一些常见的特殊形态,例如满二叉树,每个节点要么没有子节点,要么有两个子节点;完全二叉树,除了最后一层之外,其他层的节点都必须是满的,并且最后一层的节点都靠左排列。 3.二叉树的应用 二叉树可以用于许多应用,例如在计算机科学中常用的二叉搜索树可以用来高效地存储和查找数据。二叉树还可以用于表示表达式、文件系统、网络路由等各种问题的结构化表示。 4.二叉树的优缺点 优点: 快速的查找:在二叉搜索树中,由于节点的有序性,可以通过比较节点值的大小来快速定位目标节点,因此查找操作的时间复杂度为 O(log n),其中 n 是树中节点的数量。快速的插入和删除:同样由于二叉搜索树的有序性,插入和删除操作只需要对数级别的操作,因此效率较高。结构简单:相对于其他更复杂的树状数据结构,二叉树的结构相对简单,易于理解和实现。 缺点: 可能导致不平衡:如果插入的节点顺序不合适,或者是有序数据的插入顺序,可能会导致二叉树的不平衡,进而影响查找、插入和删除操作的效率,甚至退化为链表。有序性限制:二叉搜索树的有序性要求限制了节点的插入和删除操作,需要保持树的有序性,这增加了对树的平衡性的要求,同时也限制了一些特殊操作的实现。效率不稳定:在最坏的情况下,二叉搜索树的操作时间复杂度可能达到 O(n),其中 n 是树中节点的数量。这种情况通常出现在树的不平衡或有序性不合适的情况下。 二.二叉树的功能 二叉树作为一种常见的数据结构,具有以下功能: 查找:二叉搜索树(BST)是一种特殊的二叉树,它的左子节点的值小于等于父节点,右子节点的值大于等于父节点。这种有序性使得在BST中可以高效地进行查找操作。通过比较节点的值,可以快速确定目标节点的位置,从而实现快速查找。 插入和删除:在二叉树中插入和删除节点通常是相对容易的操作。对于BST,插入操作可以根据节点值的大小关系找到合适的位置进行插入。删除操作需要考虑节点的后继或前驱节点,以保持树的有序性。 遍历:二叉树的遍历包括三种基本方式:前序遍历、中序遍历和后序遍历。前序遍历先访问根节点,然后递归地遍历左子树和右子树;中序遍历先遍历左子树,然后访问根节点,最后遍历右子树;后序遍历先遍历左子树和右子树,最后访问根节点。 最值查找:通过遍历二叉树,可以找到树中的最小值和最大值。在二叉搜索树中,最小值一定在最左边的叶子节点,最大值一定在最右边的叶子节点。 平衡性检查和调整:二叉树的平衡性对于保持操作的效率非常重要。当二叉树不平衡时,可以进行相应的调整操作,如旋转、重建等,使得树保持平衡状态。 应用领域:二叉树可以用于解决各种问题,例如表达式求值、排序算法(如快速排序中的划分操作)、哈夫曼编码、文件系统的组织结构、数据库索引等。它们提供了一种结构化的方式来组织和操作数据。 三.二叉树的代码实现 1.创建二叉树的结构体 struct TreeNode 是用来定义二叉树结点的结构体。它包含以下几个成员: val:存储结点的值。这个成员变量可以根据实际需要定义为任意类型,这里定义为 int 类型。 left:指向当前结点的左子树的指针。它是一个指针类型,指向另一个 struct TreeNode 结构体,用于表示左子树。 right:指向当前结点的右子树的指针。它也是一个指针类型,指向另一个 struct TreeNode 结构体,用于表示右子树。 通过这样的结构体定义,可以创建二叉树的结点,并通过 left 和 right 指针将这些结点连接起来,形成一个完整的二叉树数据结构。在二叉树的操作中,通过访问结点的 val 成员可以获取结点的值,通过访问 left 和 right 指针可以获取左子树和右子树的结点。这样的结构体定义提供了一种组织和访问二叉树的方式。 // 二叉树结点的定义 struct TreeNode { int val; struct TreeNode* left; struct TreeNode* right; }; 2.

python篇-windows cmd 输入python弹出应用商城

当你在Windows的命令提示符(CMD)中输入python命令却弹出了应用商店,这通常是由于Windows系统中的“应用执行别名”设置所导致的。这意味着系统将python命令错误地关联到了应用商店中的Python应用而不是你实际安装的Python解释器。以下是如何解决这个问题的步骤: 解决方案: 禁用应用执行别名: 打开Windows搜索栏,输入“管理应用执行别名”并打开这个设置。在打开的页面中,找到与Python相关的别名(通常会有“python”和“python3”),取消它们旁边的勾选状态。这样就禁用了这些命令导向应用商店的行为。 调整环境变量(可选): 如果上述步骤未能解决问题,或者你想确保命令提示符优先找到你的Python安装路径,你可以检查系统的环境变量。右键点击“此电脑”或“计算机”图标,选择“属性” > “高级系统设置” > “环境变量”。在“系统变量”区域找到名为“Path”的变量,点击“编辑”。确保你的Python安装路径(通常包含Scripts目录,例如C:\PythonXX\ 和 C:\PythonXX\Scripts,其中XX是Python的版本号)位于列表的较前位置,并且 %USERPROFILE%\AppData\Local\Microsoft\WindowsApps(如果存在)不干扰Python路径或者被放置在列表的底部。注意,有时候即使调整了顺序,某些系统仍可能自动恢复这个路径,如果遇到这种情况,考虑将其移除而不是仅移动位置。 重启命令提示符: 完成上述设置后,关闭当前的命令提示符窗口并重新打开一个新的命令提示符,再次尝试输入python命令,此时应该能够正常启动Python解释器而不是弹出应用商店了。 按照这些步骤操作后,你应该能够在CMD中正常使用Python命令了。如果问题仍然存在,可能需要进一步检查Python的安装是否完全或是否有其他环境配置问题。

普通人通过AI赚钱的 10 个副业

在这波数字化浪潮中,人工智能(AI)已经成为我们生活的重要组成部分。它不仅改变了我们的生活方式,也为那些渴望在业余时间增加收入的人提供了新的机会。想象一下,能够利用人工智能技术,在咖啡店的角落或晚上轻松开展副业。 例如,你可以尝试成为一名人工智能数据注释者。许多AI项目需要大量数据来训练模型,而这些数据往往需要人工清理和标注。您可以在各种平台上找到这些项目,例如为自动驾驶汽车标记图像数据或纠正语音识别系统的转录文本。这不仅可以让您赚取额外收入,还可以让您接触到人工智能领域的先进技术。 让我们言归正传,开始今天的副业分享: 一、AI公众号爆文 AI+剧评,打造AI+情感文章,像微信公众号、头条号、百家号、大鱼号等,赚钱的逻辑就是通过优质文章,阅读、点赞转发,获得流量,这样就可以获得商家广告的奖励(无需您与商家对接,对接商家后平台会在您的文章中间放置卡片广告)。作为业余新手的写作创作平台,微信公众号现在已经成为热点。由于规则的调整,微信公众号的努力已经显现出第二春。目前,公众号在所有图文平台上拥有最高的平均单位读者收入,这对于新手来说非常好。如想学习ai公众号爆文,请vx:1749105855 联系我。 二、AI代写 教师、公务员、学生等人群对代写需求的质量要求较高:教师发表文章、公务员研究文章、演讲、学生论文……人工智能写作可以满足这些需求。当然,代写业务的单价是比较高的。 如何获得代写生意? 渠道一:万能电商平台:某宝、某多多、某鱼 渠道二:学生活跃平台,如微信群、QQ群、论坛、微博超级聊、主平台Vs主评论区等,都是增加曝光度、寻找业务的流量聚集地。 微信公众号、小红书、抖音、头条等三个渠道、独立媒体平台,不断发布服务信息,有需要的人总会来找你。 三、 AI优化简历 环境不好,但是一份好的简历可以帮助提高你的求职率。使用gpt的AI工具定制您的AI面试简历优化助手,快速帮助别人完成简历优化。 ①如何报价? 如果您查看招聘平台,他们可能会提供此类企业的报价低30%,转化率非常高。 ②如何发送? 付费见朋友、学习其他人的沟通技巧并发送他们的结果 ③如何获客? 小红书和闲鱼比较适合这个业务 四、AI写作 这主要指:文案变现、帖子写作变现、小说写作变现、剧本写作变现等。有很多平台如知乎、简书、小说平台等。这里我推荐一个适合初学者的写作赚钱平台: ①把故事写在标题里 今日头条用户的天性就是八卦、看故事。这些用户大部分是30多岁、40多岁的中年人。喜欢情感故事、鬼故事、历史解密等内容。他写故事的时候,流量很好。发帖的时候,主要会勾选以下几个框:收入,只要有人读你的文章,就有收入。 ② 在今日头条提交200字左右的微头条 我每天花的时间不多。我选了一首歌,写完之后就带到了厕所。当然,我写的内容很重要。您需要浏览主平台的其他热点。结合热点,流量很容易爆发。 ③ 抄书赚钱 其实这和阅读、分享类似,只不过要求没那么高,没必要去重新创造你想要的东西。选择一本流行的书并引用其中的好句子。书写应工整且易于阅读。你可以通过拍照并发给微头条来赚取阅读收入。 以前微头条需要100个粉丝才能盈利,现在有了官方门直接发文章就能盈利。没有粉丝,只要你读书,照样可以赚钱。 五、AI自媒体 目前独立媒体平台很流行,AI+抖音、AI+快手、AI+小红书AI+讲播文案……可以帮助做短视频和文案,但我觉得短视频还是比较粗糙。建议使用应用程序创建脚本,根据脚本生成单独的屏幕,最后创建组合设计的第二稿,输出质量仍然可以接受。 六、AI咨询 专业服务包括企业管理咨询、升学咨询、就业咨询、职业规划咨询、心理咨询、爱情咨询等。我建议新人根据自己的职业、性格、喜好来选择,比如心理咨询。这些天人们承受着很大的压力。如果用gpt来训练一个心理减压的小程序,就会有市场前景。 花费多少取决于沟通传递的水平和心理专业知识的总结,这些可以委托给gpt。 七、AI绘本 让AI为你创作绘本故事,然后AI帮你创作电子绘本。这在当今的gpt应用中已经是相当成熟的技能了。 AI图册工具:gpt或gpt+midjourney或gpt+SD‍‍‍‍‍‍‍‍‍‍‍‍‍ 渠道平台: 基本上各大平台都有这个业务需求。如果你直接搜索电子图画书,你可以看到很多。您可以借鉴流行的绘本,然后制作电子绘本,上传到网盘并打包出售。还可以做细分,比如:10岁到10岁孩子必读的绘本3100本,比如英语启蒙必读的中英文绘本365本,这是一个一次性的、持续性的项目。产生利润。 八、AI绘画‍‍ 这个项目现在小红书上很火! 什么动物真人秀、真人动画、真人动画、真人盲盒娃娃…… 主要应用是gpt+midjourney或者gpt+stablediffisation 新手按照教程制作第一个模板需要半个小时。以后就按照模板随机生成即可。几分钟之内,您就可以用不同的想法制作许多相同风格的图像。掌握模板后,只需几分钟即可创建模板。图片美观、有创意,能够吸引点击、点赞和关注。 九、AI编程 这是程序员独有的。我推荐 ChatGPT plus。 不会编码的朋友也可以请AI帮自己写一些简单的程序。有时间的时候可以和他们一起玩。 十、AI提示词‍ 这只是工程师的副业。付费知识圈有一位年轻女生,靠做AI提示词一年赚100W。 因为我们都知道gpt圈子里流行着一句话:你的水平是什么,gpt水平就是什么。这其实主要是指提示词的能力。 目前,业内已知的一套提示词的收费标准从300元到10万元以上不等。以上职位分享非常适合新手提高收入。如果每天随便做半个小时,每月的收入增加到几百到几千是很容易的。如果你把它当作一个创业项目,全职去做的话,一年也能赚到50万到80万。 写在最后 AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。 感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。 一、AIGC所有方向的学习路线 AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。 二、AIGC必备工具 工具都帮大家整理好了,安装就可直接上手! 三、最新AIGC学习笔记 当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。 四、AIGC视频教程合集 观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。 五、实战案例 纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

果蔬经营平台|基于SSM+vue的果蔬经营平台系统的设计与实现(源码+数据库+文档)

果蔬经营平台系统 目录 基于SSM+vue的果蔬经营平台系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️ 主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。 🍅文末获取源码联系🍅 基于SSM+vue的果蔬经营平台系统的设计与实现 一、前言 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项目软件架构选择B/S模式,总体功能模块运用自顶向下的分层思想。再然后就是实现系统并进行代码编写实现功能。论文的最后章节总结一下自己完成本论文和开发本项目的心得和总结。通过果蔬经营平台系统将会使果蔬经营平台各个方面的工作效率带来实质性的提升。 关键字:B/S模式 果蔬经营平台系统 软件架构 二、系统设计 系统功能结构如图 三、系统功能设计 1系统功能模块 果蔬经营平台系统,在系统首页可以查看首页、商品信息、广告信息、个人中心、购物车等内容,如图5-1所示。 图5-1系统首页界面图 用户注册,在用户注册页面通过填写用户名、账号、密码、确认密码、姓名、邮箱、手机号码等内容进行注册,如图5-2所示。 图5-2用户注册界面图 2管理员功能模块 管理员进行进入系统后台,在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作,如图5-5所示。 图5-5管理员登录界面图 管理员登录系统后,可以对首页、个人中心、用户管理、商品信息管理、类型管理、系统管理、订单管理,等功能进行相应的操作管理,如图5-6所示。 图5-6管理员功能界面图 四、数据库设计 用户注册实体图如图4-2所示: 图4-2用户注册实体图 数据库表的设计,如下表: 表4-1:商品信息评论表 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 addtime timestamp 创建时间 CURRENT_TIMESTAMP refid bigint 关联表id userid bigint 用户id nickname varchar 200 用户名 content longtext 4294967295 评论内容 reply

2024年前端最全前端大屏适配几种方案_前端大屏适配方案,2024年最新Web前端高级面试framework

总结 框架原理真的深入某一部分具体的代码和实现方式时,要多注意到细节,不要只能写出一个框架。 算法方面很薄弱的,最好多刷一刷,不然影响你的工资和成功率😯 在投递简历之前,最好通过各种渠道找到公司内部的人,先提前了解业务,也可以帮助后期优秀 offer 的决策。 要勇于说不,对于某些 offer 待遇不满意、业务不喜欢,应该相信自己,不要因为当下没有更好的 offer 而投降,一份工作短则一年长则 N 年,为了幸福生活要慎重选择!!! 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】 喜欢这篇文章文章的小伙伴们点赞+转发支持,你们的支持是我最大的动力! 1.2 3840*2160(4k屏)情况下 3840也是分成24等份:3840 / 24 = 160 1.3 7680*2160 超宽屏下 超宽屏情况下只显示了上半部分,这种适配方式比较适合16:9的情况下使用,后面会有其他方案解决这个问题。 二、方案二:vw(单位) 直接使用vw单位,屏幕宽度默认为100vw,那么100vw = 1920px;1vw = 19.2px。这个也是使用cssrem插件,直接将body的宽高(1920px * 1080px),将px转成vw单位。 这种方案和第一个方案类似,超宽屏的情况下也是不能全部显示。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> \* { margin: 0; padding: 0; } body { width: 100vw; height: 56.25vw; border: 3px solid red; box-sizing: border-box; } ul { display: flex; flex-direction: row; flex-wrap: wrap; width: 100%; height: 100%; } li { width: 33.

AI绘画Stable Diffusion【真人模型】:SD1.5人像模型新高度,超级逼真的AI真人模型

大家好,我是程序员晓晓 今天和大家分享一个基于SD1.5基础模型训练的人像大模型AWPortrait。该模型在真人写实摄影方面效果超级逼真,能够模拟在真实摄影中的光影效果、皮肤纹理质感、甚至是人物的表情和妆容。 目前最新的版本是V1.4,在V1.3版本的基础上升级而来,对大模型进行了更新。 (1)最新版本基于1.3训练更新升级,使得人物的生成更加趋近真实感,将SD1.5人像的真实感提升到了一个新的高度。 (2)增加了旗袍、汉服等东方元素 (3)更好的棚拍效果及户外效果 (4)优化了close up下的特写人物五官容易造成畸形的情况 (5)可更改人物年龄,比较稳定的输出效果是10-80岁; 模型下载(请看文末扫描即可获取) 为了达到最好的生图品质,请遵照以下参数配置来进行设置。 采样推荐:DPM++ 2M Karras或Restart , 采样迭代步数:30 分辨率:512*768,576*864 放大算法:Lanczos, 重绘幅度0.35-0.45 Adetailer插件:脸部模型 face_yolov8n Close-up 特写情况下,可不开启或开启0.25-0.3的重绘幅度。 UpperBody 半身像情况下,可不开启或0.3-0.35的重绘幅度。 Fullbody 全身像情况下,请开启0.35-0.4的重绘幅度。 下面我们来实际体验一下,看使用这个模型出来的图片效果如何吧。 反向提示词 ng_deepnegative_v1_75t,(badhandv4:1.2),(worst quality:2),(low quality:2),(normal quality:2),lowres,bad anatomy,bad hands,((monochrome)),((grayscale)) watermark,moles,large breast,big breast 公共参数设置 大模型:AWPortaint V1.4 采样器:DPM++ 2M Karras 采样迭代步数:30 CFG:7 图片宽高:512*768 Adetailer插件:脸部模型 face_yolov8n 1. 高领毛衣 **Prompt:**upper body portrait of 1 girl, long hair, wear yellow color turtleneck sweater, a proud and confident smile expression,look at viewers,studio fashion portrait,studio light,pure white background

C++的数据结构(五):树和存储结构及示例

在计算机科学中,树是一种抽象数据类型(ADT)或是实现这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。这种数据结构以一系列连接的节点来形成树形结构。在C++中,树的概念和存储结构是实现各种复杂算法和数据操作的基础。 树是由节点和边组成的图,其中每个节点有零个或多个子节点,但只有一个父节点(除了根节点,它没有父节点)。树的顶部节点称为根节点。如果一个节点没有子节点,那么它被称为叶子节点。除了根节点和叶子节点之外的其他节点称为内部节点。由树的根节点和若干棵子树所构成的树称为森林。如下图所示。 树的术语: (1)路径:在两个节点之间,一系列的边和节点的组合。路径的长度是组成路径的边数。 (2)深度:一个节点的深度是指从根节点到该节点的最长路径上的边数。根节点的深度为0。 (3)层次:树的层次从根开始定义,根为第一层,根的子节点为第二层,以此类推。 (4)高度:树的高度是从叶子节点开始自底向上逐层累加的路径上边的数量。根节点的高度就是树的高度。 在C++中,树的存储结构主要有两种:顺序存储和链式存储。不同的存储结构对应着不同的表示方法,如孩子表示法、双亲表示法、孩子兄弟表示法等。 1. 顺序存储:顺序存储通常用于完全二叉树。在完全二叉树中,除了最后一层外,其他层的节点数是满的,并且最后一层的节点都靠左排列。这种特性使得完全二叉树可以使用数组进行顺序存储,其中每个节点的索引与其在树中的位置相关。 示例:创建一棵简单的完全二叉树,代码如下。 #include <iostream> #include <vector> using namespace std; class TreeNode { public: int value; TreeNode* left; TreeNode* right; TreeNode(int x) : value(x), left(nullptr), right(nullptr) {} }; class BinaryTree { private: vector<TreeNode*> nodes; public: // 初始化树的根节点 void initRoot(int value) { nodes.push_back(new TreeNode(value)); } // 添加子节点 void addChild(int parentIndex, int leftChildValue, int rightChildValue) { int nextEmptyIndex = nodes.size(); if (leftChildValue != -1) { nodes.

小程序蓝牙连接ESP32通信(可直接拿来用)

小程序中的蓝牙能力 在小程序中,要使用蓝牙能力(Beacon 除外)必须首先调用 wx.openBluetoothAdapter 初始化蓝牙适配器模块,其生效周期为调用 wx.openBluetoothAdapter 至调用 wx.closeBluetoothAdapter 或小程序被销毁为止。只有在小程序蓝牙适配器模块生效期间,开发者才能够正常调用蓝牙相关的小程序 API,并收到蓝牙模块相关的事件回调(绑定监听不受此限制)。 小程序对蓝牙支持情况如下: 经典蓝牙:iOS 因系统限制暂无法提供,安卓目前已在规划中。 蓝牙低功耗 (BLE): 主机模式:基础库 1.1.0(微信客户端 iOS 6.5.6,Android 6.5.7)开始支持。从机模式:基础库 2.10.3 开始支持。蓝牙信标 (Beacon):基础库 1.2.0 开始支持。 前置条件 蓝牙模块需要是 低功耗蓝牙(BLE) ,不然小程序搜索不到(将导致无法继续进行开发),可购买我们的设备 来进行开发。开发者工具上只能模拟部分蓝牙接口能力,完整功能请使用真机调试。 官方文档 微信小程序蓝牙开发文档 微信小程序提供的操作蓝牙的 API 微信小程序目前有蓝牙 API 共 18 个 操作蓝牙适配器的 API wx.openBluetoothAdapter 初始化蓝牙适配器 wx.closeBluetoothAdapter 关闭蓝牙模块 wx.getBluetoothAdapterState 获取本机蓝牙适配器状态 wx.onBluetoothAdapterStateChange 监听蓝牙适配器状态变化事件 连接前使用的 API wx.startBluetoothDevicesDiscovery 开始搜寻附近的蓝牙外围设备 wx.stopBluetoothDevicesDiscovery 停止搜寻附近的蓝牙外围设备 wx.getBluetoothDevices 获取所有已发现的蓝牙设备 wx.onBluetoothDeviceFound 监听寻找到新设备的事件 连接和断开时使用的 API wx.createBLEConnection 连接低功耗蓝牙设备 wx.closeBLEConnection 断开与低功耗蓝牙设备的连接 连接成功后使用的 API wx.getConnectedBluetoothDevices 根据 uuid 获取处于已连接状态的设备 wx.