百度文心一言:官方开放API开发基础

目录 一、模型介绍 1.1主要预置模型介绍 1.2 计费单价 二、前置条件 2.1 创建应用获取 Access Key 与 Secret Key 2.2 设置Access Key 与 Secret Key 三、基于千帆SDK开发 3.1 Maven引入SDK 3.2 代码实现 3.3 运行代码 一、模型介绍 文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,其基础是文心大模型。文心大模型基于大规模训练数据进行预训练,结合有监督精调、人类反馈的强化学习、Prompt 机制,构建生成式人工智能大模型,具备知识增强、检索增强和对话增强的技术特色。 百度智能云千帆大模型平台是面向企业开发者的一站式大模型开发及服务运行平台。千帆大模型平台不仅提供了包括文心一言底层模型和第三方开源大模型,还提供了各种AI开发工具和整套开发环境,方便客户轻松使用和开发大模型应用。 1.1主要预置模型介绍 模型名称模型简介ERNIE 4.0 百度自行研发的文心产业级知识增强大语言模型4.0版本,实现了基础模型的全面升级,在理解、生成、逻辑和记忆能力上相对ERNIE 3.5都有着显著提升,支持5K输入+2K输出。ERNIE 3.5百度自研的旗舰级大规模⼤语⾔模型,覆盖海量中英文语料,具有强大的通用能力,可满足绝大部分对话问答、创作生成、插件应用场景要求;支持自动对接百度搜索插件,保障问答信息时效。ERNIE Lite 百度自研的轻量级大语言模型,兼顾优异的模型效果与推理性能,适合低算力AI加速卡推理使用。ERNIE Tiny 百度自研的超高性能大语言模型,部署与精调成本在文心系列模型中最低。 1.2 计费单价 千帆大模型平台预置推理服务支持Tokens用量后付费: 定义:调用模型服务时根据实际的输入和输出tokens总量收费。付费方式:后付费,按分钟计费,每15分钟扣费,每小时出账。适用范围:临时性调用,无法评估业务体量。 模型服务模型名称计费单价文心一言ERNIE-4.0-8K输入:0.12元/千tokens 输出:0.12元/千tokensERNIE-3.5-8K输入:0.12元/千tokens 输出:0.12元/千tokensERNIE-Lite-8K输入:0.003元/千tokens 输出:0.003元/千tokensERNIE-Tiny-8k输入:0.001元/千tokens 输出:0.001元/千tokens 实际收费情况请关注官方信息。 二、前置条件 2.1 创建应用获取 Access Key 与 Secret Key 在使用千帆 SDK 之前,用户需要 百度智能云控制台 - 安全认证 页面获取 Access Key 与 Secret Key,并在 千帆控制台 中创建应用,选择需要启用的服务,具体流程参见平台 说明文档。

java 安装和环境配置(2024-4月保姆级最新版)

😀前言 ps 因为网络上教程太多太杂所以干脆直接自己出个教程方便自己复习也希望帮助到大家 文章目录 第一查看自己电脑的系统类型第二 jdk下载历史jdk下载 第三 jdk安装第四 环境搭配Java_Home 配置Path 配置CLASSPATH 配置 检测是否配置成功 第一查看自己电脑的系统类型 右击此电脑 点击属性 查看你的是多少位操作系统记住这个 第二 jdk下载 如果你电脑已经下载了 jdk ,那就恭喜你可以跳过这一步了 jdk 的下载路径:https://www.oracle.com/java/technologies/downloads 游览进去的页面是这样子的,可以看见目前 jdk 已经发行到 21 了,jdk 它又分了三个个操作系统,一个是 Linux、一个是 macOS、以及 windows,选择对应的系统,我是在 windows 操作系统上,那当然就下载 windows 对应的 jdk(注意要根据之前查看电脑是多少位的操作系统要下载对应的)一般是X64的 历史jdk下载 可以点击 java archive ,查看 java 档案 Java SE 8 (8u211 and later)和Java SE 8 (8u202 and earlier)的区别在宁外一篇文章 这里就选择8u211 点击你想要下载的 jdk 版本,比如:我选择了 jdk 8u211,然后我要下载到 windows 操作系统下,那我就选择这个,点击下载就可以了 Java SE Development Kit 是jdk的全称 宁外一个是jre的全称

毕业设计课题:电影推荐系统,基于java+SSM+mysql

一、前言介绍 随着电子技术的普及和快速发展,线上管理系统被广泛的使用,有很多商业机构都在实现电子信息化管理,电影推荐也不例外,由比较传统的人工管理转向了电子化、信息化、系统化的管理。 传统的电影推荐管理,一开始都是手工记录,然后将手工记录的文档进行存档;随着电脑的普及,个性化智能电影推荐管理演变成了手工记录后,输入电脑进行存档。传统的管理方式,对管理者来说工作量大。而且这种电影推荐管理的方式,容易出现遗失或因为失误输入错误的信息等等。在这些基础上,我把java技术的基于协同过滤算法的电影推荐系统作为我的毕业设计,希望可以解决电影推荐管理中出现的问题,简化工作人员的压力,也可以方便管理员进行系统化、电子化的管理。 二、主要技术 2.1、SSM框架 当今流行的“SSM组合框架”是Spring + SpringMVC + MyBatis的缩写,受到很多的追捧,“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。web项目的框架,通常更简单的数据源。Spring属于一个轻量级的反转控制框架(IoC),但它也是一个面向表面的容器(AOP)。SpringMVC常常用于控制器的分类工作模式,与模型对象分开,程序对象的作用与自动取款机进行处理。这种解耦治疗使整个系统的个性化变得更加容易。MyBatis是一个良好的可持续性框架,支持普通SQL查询,同时允许对存储过程的高级映射进行数据的优化处理。大型Java Web应用程序的由于开发成本太高,开发后难以维护和开发过程中一些难以解决的问题,而采用“SSM组合框架”,它允许建立业务层次结构,并为这个问题提供良好的解决方案。 2.2、Mysql数据库 MySQL数据库是一种广泛应用于互联网和企业环境中的关系型数据库管理系统。它使用SQL(结构化查询语言)来执行数据的增删改查、数据定义、数据控制等各种操作。MySQL具有以下特点: 开源免费:MySQL是开源软件,用户可以免费下载和使用,并根据需要修改其源代码。 高性能:MySQL设计时充分考虑了速度与效率,适合于大型和高并发的数据处理场景。 跨平台:支持在多种操作系统上运行,包括但不限于Windows、Linux、Unix、macOS等。 可扩展性:通过分区、复制、集群等技术实现水平或垂直扩展,以满足大规模数据存储和访问的需求。 多存储引擎:MySQL支持不同的存储引擎,例如InnoDB(支持事务处理和行级锁定)、MyISAM(早期默认引擎,只支持表级锁定)、MEMORY(所有数据存储在内存中,适合临时存储和快速读取)等,使得用户可以根据应用需求选择最适合的存储方式。 SQL标准兼容:尽管MySQL有自己的SQL方言,但大部分情况下遵循ANSI SQL标准,能够执行标准的SQL语句并提供丰富的函数库支持。 开发者和管理员可以通过命令行界面、图形化工具(如phpMyAdmin、MySQL Workbench等)对MySQL进行管理和维护。 三、功能设计 为了更好的去理清本系统整体思路,对该系统以结构图的形式表达出来,设计实现该系统的功能结构图如下所示: 图3-1系统功能结构图 四、部分功能截图 4.1、系统功能模块 4.1.1、功能列表 电影推荐系统,在系统首页可以查看首页,免费电影,付费电影,电影论坛,电影资讯,个人中心等内容,并进行详细操作。 4.1.2、用户注册 用户注册,在用户注册页面通过填写用户名,姓名,密码,确认密码,年龄,手机号等内容进行注册操作。 4.1.3、免费电影 免费电影,在免费电影页面可以查看电影编号,电影分类,评分,开映时间,时长,导演,主演,点击次数等信息,并进行赞一下,踩一下,点我收藏等操作; 4.1.4、个人中心 个人中心,在个人中心页面通过填写用户名,姓名,密码,性别,年龄,手机号等内容进行更新信息,还可以根据需要对我的发布,我的收藏进行相对应操作。 4.1.5、付费电影 付费电影,在付费电影页面可以查看电影名称,电影编号,电影分类,价格,评分,开映时间,时长,主演,导演,点击次数等信息,并进行立即付费,赞一下,踩一下等操作。 4.2、管理员功能模块 4.2.1、后台登录 后台登录,管理员进入系统前在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作。 4.2.2、功能列表 管理员登录系统后,可以对首页,个人中心,用户管理,电影分类管理,免费电影管理,付费电影管理,电影订单管理,我的电影管理,电影论坛,系统管理等功能进行相应的操作。 4.2.3、用户管理 用户管理,在用户管理页面可以对索引,用户名,姓名,性别,年龄,手机号等内容进行详情,修改和删除操作 4.2.4、免费电影管理 免费电影管理,在免费电影管理页面可以对索引,电影编号,电影名称,视频,海报,评分,开映时间,时长,主演,导演等内容进行详情,修改,查看评论和删除操作; 4.2.5、付费电影管理 付费电影管理,在付费电影管理页面可以对索引,电影编号,电影名称,预告片,价格,海报,评分,开映时间,时长,主演,导演等内容进行详情,修改,查看评论和删除操作; 4.2.6、课程信息管理 课程信息管理,在课程信息管理页面可以对索引、课程名称、课程分类、开课时间、课时、费用、视频预览、封面等内容进行详情,修改,查看评论和删除等操作; 4.2.7、电影订单管理 电影订单管理,在电影订单管理页面可以对 索引,订单编号,电影编号,电影名称,价格,用户名,姓名,手机号,购买时间,是否支付等内容进行详情,我的电影,修改和删除等操作; 4.2.8、我的电影管理 我的电影管理,在我的电影管理页面可以对索引,单编号,电影编号,电影名称,价格,用户名,姓名,手机号,电影链接等内容进行详情和删除操作; 五、论文截图 六、源码和论文获取 项目难度: 中等难度 适用场景: 相关题目的毕业设计 配套论文字数: 10084个字30页 包含内容: 整套源码+完整毕业论文 大家点赞、收藏、关注、评论啦 。

解决:pip is configured with locations that require TLS/SSL,the ssl module in Python is not available

Windows版 出错提示表示当前python缺少SSL模块,pip默认安装源为https://pypi.org/simple/,连接是需要SSL库,写配置文件修改为阿里安装源。 pip config --global set global.index-url http://mirrors.aliyun.com/pypi/simple/ 观察到配置被写入以下文件: 记事本打开pip.ini文件,在末行添加 [install] trusted-host = mirrors.aliyun.com 重新pip即可成功。

掌握这8款AI剪辑神器,让你的视频制作飞跃升级!

随着AI技术的日新月异,视频制作行业迎来了前所未有的变革。AI剪辑神器如雨后春笋般涌现,它以其高效、智能的特点,为视频制作者提供了前所未有的创作可能性。今天就让我们一起深入探索这8款引领视频制作新潮流的AI剪辑工具,它们将助力你的创作技能实现质的飞跃! 1. 一帧秒创 一帧秒创,凭借其强大的AIGC引擎,为创作者提供了一个一站式的智能AI内容创作平台,为200万+创作者提供包括文字续写、文字转语音、文生图、图文转视频、AI成片、数字人播报等创作服务。无论是文字续写、文生图,还是图文转视频,它都能轻松驾驭。其秒创数字人、秒创AI帮写、秒创图文转视频、秒创AI视频、秒创AI语音、秒创AI作画等创新产品,将你的创意无限放大,让视频制作变得既高效又富有创意。 2. 即创 即创,作为抖音推出的一站式电商智能创作平台,凭借其AI视频创作、图文创作和直播创作三大功能,为电商从业者提供了全面的创作支持。目前,它正处于免费公测阶段,诚邀广大创作者体验AI的魅力,释放创作的无限潜能。 3. 度加创作 度加创作,百度倾力打造的AIGC创作工具,致力于通过AI技术降低内容生产门槛,提升创作效率。其(图文成片/文字成片)、AI笔记(智能图文生成)、AI数字人等强大功能,将引领创作者进入跨时代的内容生产方式,让你的视频制作技能大放异彩。 自2022年3月百家号开放内测以来,一年时间共计超过45万+百度创作者使用AIGC技术能力,创作700万篇+作品,百度累计分发量超过200亿+。 4. D-ID D-ID是一个人工智能生成的视频创建平台,它凭借先进的AI技术,能够轻松将文本输入转化为高质量、高性价比的视频。无论是实时人像功能,还是虚拟口播主持,D-ID都能为你的视频创作提供强大的支持,让你的创意展翅高飞。 它背后的AI技术是由Stable Diffusion和GPT-3提供支持,可以在没有任何技术知识的情况下输出100多种语言的视频。 D-ID的实时人像功能可以从一张照片中创建视频,虚拟口播主持可以提供文本或音频。它的API在数万个视频上进行训练,以产生逼真的结果。 5. 开拍 开拍是由美图公司专为口播视频创作者设计的AI制作工具。从构思脚本文案到高清拍摄,从视频人像精修到智能化后期剪辑,它都能一站式解决你的所有需求,旨在为创作者提供一站式的影像生产力服务。通过开拍,创作者可以在网页或移动设备上轻松制作出高品质的口播视频,仅需十分钟就能完成一个专业水准的视频作品。开拍将让你的口播视频呈现出专业水准,实现高清与高效的完美结合。 6. Pika Pika是近期热门的人工智能初创公司 Labs推出的AI视频生成和编辑工具。它能够将你的创意迅速转化为各种风格的视频,无论是3D动画、动漫、卡通还是电影风格,都能轻松实现,用户只需输入文字或图像,即可快速生成3D动画、动漫、卡通、电影等风格的视频。Pika正在不断完善中,但它的强大功能和潜力已经吸引了数十万早期用户的关注和喜爱。该AI视频生成工具最早于2023年4月下旬 推出测试版,累计已经超过50万名早期用户使用,每周都在生成数百万个视频。不过,目前Pika还在进一步完善中,实际使用来看离大规模投入到真正的生产环境中还有一定的距离。 7. 快剪辑 快剪辑SaaS是国内领先的视频剪辑软件,它是360旗下推出的支持在线视频剪辑的软件拥有强大的云端剪辑能力,支持在线去水印,录屏,录音,视频文字互转,添加字幕,拥有海量版权视频模板,音乐,特效,贴纸,适用于个人和中小企业定制,支持手机APP和电脑PC下载,其智能工具箱提供了多种AI工具,帮助创作者更加高效快捷地剪辑视频,满足 不同行业用户的使用需求。适用于电商营销、内容营销、短视频创作等场景,为有视频剪辑需求的中小机构或个人提供从端到端的一站式视频创作服务。 快剪辑的AI功能: 1.文本剪视频,输入文本描述,结合视频模板一键成片,让你快速上手剪辑操作 2.AI数字人,快剪辑提供超过20个不同风格和外观的虚拟数字人,只需输入文案,从提供的20+ AI配音中选择一个你喜欢的,便可以智能生成口播视频 3.智能去字幕,上传视频素材,快剪辑便能帮助用户自动地去除视频中的字幕,保留素材中的主体画面,方便你的二次创作 4.智能去水印,添加视频素材,框选水印区域,快剪辑便能快速抹除烦人的视频水印 5.智能抠像,无需绿幕,选择设置抠像背景,快剪辑便能抠除视频人像背景 6.视频转换,快剪辑还支持将视频智能转换和提取为文本或音频 8. WinkStudio WinkStudio是美图于2023年6月推出的桌面端AI视频剪辑工具,基于移动端Wink APP功能的扩展,支持视频美化、画质修复等视频编辑功能,提供影视级画面渲染、视频生产效率提升以及AI助力的视频工具集。相比传统的界面复杂的视频编辑器,WinkStudio采用更高效更直观的操作界面,让视频编辑和美化变得轻松简单。 WinkStudio的产品价格: ●免费版:新用户注册登录后可获赠100美豆,可免费使用部分功能 ●会员版:包月50元(连续包月39元),包年398元(连续包年298元),订阅后每个月赠送300美豆 在这个AI飞速发展的时代,掌握这8款AI剪辑神器无疑将为你的视频制作带来革命性的变化。从高效剪辑到智能美化,从专业输出到个性定制,它们将助你在视频创作的道路上越走越远。快来试试吧,让AI为你的创作插上腾飞的翅膀,让你的视频制作技能实现质的飞跃! 既然看到这里了,如果觉得不错,不妨顺手点个免费的“赞”和“收藏”支持我们,,谢谢你的阅读! 获取以上AI视频剪辑工具,请关注公众号:AI智能编程新视界,回复 视频剪辑

Springboot集成 Spring AI ,深度学习下的与时俱进

Springboot集成 Spring AI 前言1、Spring AI2. Spring AI的特性2.1 自然语言处理(NLP)支持2.2 机器学习集成2.3 图像识别和计算机视觉 3. Spring AI的优势3.1 简化集成流程3.2 提高开发效率3.3 增强应用智能性 4. 使用示例:智能客服系统5. 小结一下6. 举个例子 🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 前言 在当今快速发展的技术时代,人工智能(AI)已经成为各行各业的关键驱动力。而作为一种领先的Java应用开发框架,Spring Framework在软件开发领域享有盛誉。现在,随着Spring AI的崭露头角,我们看到了两者之间的令人兴奋的交汇点。Spring AI正在推动软件开发者将AI集成到他们的应用程序中,实现更智能、更高效的解决方案。 1、Spring AI Spring AI是一种新兴的技术范畴,它结合了Spring Framework的灵活性和人工智能的强大能力。它为开发人员提供了一套丰富的工具和库,使他们能够轻松地集成AI功能到他们的Spring应用程序中。 2. Spring AI的特性 2.1 自然语言处理(NLP)支持 Spring AI提供了丰富的自然语言处理工具,开发人员可以利用这些工具来处理文本数据、执行情感分析、实现语音识别等功能。这为开发语言处理应用提供了强大的支持。 2.2 机器学习集成 Spring AI使得机器学习模型的集成变得更加简单。开发人员可以轻松地将训练好的模型嵌入到他们的Spring应用程序中,并利用这些模型进行预测、分类、聚类等任务。 2.3 图像识别和计算机视觉 Spring AI还提供了丰富的图像处理和计算机视觉功能。开发人员可以利用这些功能来实现图像识别、目标检测、图像分割等任务,从而为他们的应用程序增加更多的智能。 3. Spring AI的优势 3.1 简化集成流程 Spring AI为开发人员提供了简单易用的API和工具,使得将人工智能功能集成到Spring应用程序中变得轻而易举。开发人员不再需要深入研究AI技术的细节,就可以快速实现复杂的AI功能。 3.2 提高开发效率 通过利用Spring AI提供的丰富功能和工具,开发人员可以更快地开发出功能强大的应用程序。这样可以大大缩短开发周期,提高开发效率。 3.3 增强应用智能性 集成人工智能功能可以使得应用程序更加智能化。通过利用Spring AI提供的自然语言处理、机器学习、图像识别等功能,开发人员可以为他们的应用程序增加更多的智能,提升用户体验。 4. 使用示例:智能客服系统 假设我们要开发一个智能客服系统,可以通过自然语言处理理解用户的问题,并给出相应的解答。利用Spring AI,我们可以轻松地实现这一功能。我们可以使用Spring AI提供的自然语言处理工具来处理用户输入的文本,然后利用机器学习模型来预测用户问题的意图,最终给出相应的回答。

基于llama.cpp的GGUF量化与基于llama-cpp-python的部署

前言:笔者在做GGUF量化和后续部署的过程中踩到了一些坑,这里记录一下。 1.量化 项目地址:llama.cpp 1.1 环境搭建 笔者之前构建了一个用于实施大模型相关任务的docker镜像,这次依然是在这个镜像的基础上完成的,这里给出Dockerfile: FROM nvidia/cuda:12.1.0-cudnn8-devel-ubuntu22.04 # requirements ADD source.list /etc/apt/sources.list RUN apt-get update && apt-get install -y python3.10 python3-pip python3.10-dev vim git # torch COPY torch-2.2.0+cu121-cp310-cp310-linux_x86_64.whl torch-2.2.0+cu121-cp310-cp310-linux_x86_64.whl RUN pip3 install torch-2.2.0+cu121-cp310-cp310-linux_x86_64.whl # llama factory requirements RUN pip3 install transformers==4.38.2 datasets==2.16.1 accelerate==0.27.2 peft==0.10.0 trl==0.7.11 gradio==3.50.2 \ deepspeed==0.13.1 modelscope ipython scipy einops sentencepiece protobuf jieba rouge-chinese nltk sse-starlette \ matplotlib pandas numpy tqdm tensor_parallel scikit-learn \ --no-cache-dir -i https://pypi.

【论文阅读-问答】人工智能生成内容增强的甲状腺结节计算机辅助诊断模型:CHATGPT风格的助手

人工智能生成内容增强的甲状腺结节计算机辅助诊断模型:CHATGPT风格的助手 写在最前面作者单位摘要ABSTRACT1. 简介2. 材料与方法1. 患者2. 总体设计4. 图像采集5. 标注和预处理6. 统计分析 3. 结果4. 讨论参考文献References 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长! 写在最前面 主题:医学、对话模型、问答、多模态(图文) 原文:AI-Generated Content Enhanced Computer-Aided Diagnosis Model for Thyroid Nodules: A ChatGPT-Style Assistant 链接:https://arxiv.org/abs/2402.02401 (1)该模型首次尝试使用包括医生诊断报告、病理结果、国际诊断指南、研究报告、超声图像等多源 信息的大规模综合构建甲状腺结节风险LLM。 (2)首次提出了AIGC-CAD的概念。AIGC-CAD使模型能够使用生成式大型模型为人工智能辅助诊断过程中涉及的病变的不同组成部分和图像语义生成解释性文本和特征标记。该方法提供了更直观的显示和分析,从而更好地辅助临床医生。 作者单位 Jincao Yao1*,2,3,4,5,6#, Yunpeng Wang7#, Zhikai Lei8#, Kai Wang9#, Xiaoxian Li10*, Jianhua Zhou10, Xiang Hao7, Jiafei Shen1*,2, Zhenping Wang9*, Rongrong Ru11, Yaqing Chen11, Yahan Zhou6,** Chen Chen1*,2*, Yanming Zhang12*,13∗, Ping Liang14∗*, Dong Xu**1*,2,3,4,5,*6∗

Oracle-数据库升级到19C用户登录报错问题

问题背景 Oracle从低版本迁移到高版本12c、19c之后,在用户密码保持不变的情况下,出现用户密码登录报错的问题,报错为ORA-28040和ORA-01017。 ORA-28040: No matching authentication protocol。 ORA-01017: invalid username/password; logon denied。 问题一:使用低版本的客户端连接19c数据库出现ORA-28040报错 错误:ORA-28040: No matching authentication protocol。 原因:数据库允许客户端连接版本过高,默认版本为12,导致低版本的客户端连接认证协议不匹配。 解决方法: 1 调小数据库服务器允许客户端连接最小版本,在$ORACLE_HOME/network/admin/sqlnet.ora里面通过设置参数SQLNET.ALLOWED_LOGON_VERSION_SERVER,修改之后立即生效不需要重启。 SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 2 更新客户端的连接驱动版本,兼容Oracle12c、19c。 例如:JDBC版本需要11.2.0或以上才能兼容Oracle12c、19c。 OJDBC需要8或以上才能兼容Oracle12c、19c。 JDK版本需要8或以上才能兼容Oracle12c、19c。 问题二:迁移到12c,19c之后,在用户密码没有修改的情况下,用户密码登录出现错误ORA-01017 错误:ORA-01017: invalid username/password; logon denied 原因:用户的密码哈希加密版本与数据库的密码认证算法不匹配导致,密码的哈希加密版本表示用户密码使用了哪些版本的加密算法,有4个密码加密版本10G、11G、12C和HTTP: 10G: If an old case-insensitive ORCL hash exists,10G的不区分密码大小的算法 11G: If a SHA-1 hash exists 12C: If a de-optimized PBKDF2-based hash exists HTTP: If an MD5 hash (for HTTP Digest authentication) exists 如果用户的密码加密算法与数据库密码认证算法不匹配,就会出现用户密码不正确的报错。 关于PASSWORD_VERSIONS加密算法的版本生成 Oracle12c、19c默认生成的密码加密版本为11G,12C,如果想生成10G的版本,需要先在sqlnet.ora里面配置数据库默认允许客户端连接版本SQLNET.ALLOWED_LOGON_VERSION_SERVER为低版本,再通过创建用户或是重置密码生成。

Java 23:新功能正式公布

最新版本的 Java 开发工具包 23 (JDK) 在最新版本中具有四个新功能。到目前为止值得注意的两个主要功能是 Vector API、Stream Gatherers 的第二个预览以及模式中原始类型的预览 - 例如instanceof和switch。 友情提醒,最新版本将于 9 月 19 日发布。 Vector API 自Java Development Kit 16发布以来, Vector API一直在Java的早期版本中孵化,一直到最新版本22。 这个新版本将引入一个API来帮助表达在运行时编译的向量计算。 是为了在不同支持的 CPU 架构上拥有最佳的向量指令。该提案的一些目标包括提供标准化 API、运行时编译、在x64和AArch64CPU 架构上提供更好的性能、优雅降级、与平台无关以及与 Valhalla 项目保持更多一致该项目旨在增强 Java 对象模型的值对象而是对象。 矢量 API 代码示例 static final VectorSpecies<Float> SPECIES = FloatVector.SPECIES_PREFERRED; void vectorComputation(float[] a, float[] b, float[] c) { int i = 0; int upperBound = SPECIES.loopBound(a.length); for (; i < upperBound; i += SPECIES.length()) { // FloatVector va, vb, vc; var va = FloatVector.

Java Map遍历的六种方式

总结 1、map.keySet()取得key的set集合,foreach遍历 public static void f1() { for(String key : map.keySet()) { System.out.println(key+“\t”+map.get(key)); } } 2、map.keySet()取得key的set集合,Iterator游标迭代 public static void f2() { Iterator iterator = map.keySet().iterator(); while(iterator.hasNext()) { String key = iterator.next(); System.out.println(key+“\t”+map.get(key)); } } 3、map.entrySet()方法把map转成Set,foreach遍历 public static void f3() { Set<Map.Entry<String, Integer>> entrySet = map.entrySet(); for(Map.Entry<String, Integer> set : entrySet) { System.out.println(set.getKey()+“\t”+set.getValue()); } } 4、map.entrySet()方法把map转成Set,Iterator遍历 public static void f4() { Iterator<Entry<String, Integer>> iterator = map.entrySet().iterator(); while(iterator.hasNext()) { Entry<String, Integer> entry = iterator.

Stable Diffusion WebUI 笔记本低显存无魔法本地安装使用(三)--- 安装相关python环境

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。 既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化! 由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新 如果你需要这些资料,可以添加V获取:vip1024c (备注Python) 正文 输入 “ conda create -n sdui python=3.10 ”, sdui 是我对环境的命名,可以改成其他。 在输入的地方输入 “y” 3.3 激活webui环境 输入 “ conda activate sdui ” 激活成功后,可以看到命令提示符之前有(webui环境名)字样 3.4 安装pytorch和pytorch-cuda 打开地址:https://pytorch.org/get-started/locally/ 查找自己相应的版本,我的是:conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia 输入相应的命令安装 二、 python 3.10 安装 下载 下载地址:https://www.python.org/downloads/ 安装 此处就不详细说了 安装torch 打开地址:https://pytorch.org/get-started/locally/ 找到你要的版本: 复制这个链接,在cmd中执行命令: 三、 为什么选择miniconda3 如果你只用stable deffusion webui,那么你可以不选择miniconda3,可以用python3.10 最后 🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。 🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。 🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。 🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

OpenLDAP配置web管理界面PhpLDAPAdmin服务-centos9stream_openldap有管理界面吗

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。 既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化! 由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新 如果你需要这些资料,可以添加V获取:vip1024b (备注运维) 正文 3、配置phpldapadmin ###配置根域加上密码的方式登陆,以下只显示需要修改的地方,大家执行查询修改 vim /etc/phpldapadmin/config.php #不同版本的文件可能不一样,我这里在453行; $servers->setValue('login','attr','dn'); // $servers->setValue('login','attr','uid'); ##这里注释掉,选择dn方式登陆,当然改成cn也行,当然可以使用uid方式登陆,但前提是你配置了对应uid的操作和访问权限。 #525行左右可配置是否可以让匿名用户登录,这个其实在openldap中本身可以进行设置,大家可以选配,需要配置的话去掉前面的注释符号“//”即可。 // $servers->setValue('login','anon_bind',true); ###另外,还可以配置指定可登录的根域,tls安全链接的安全证书等,基本都是一些安全方面的配置,这里不一一说明了,自己可以修改配置然后访问测试,这个不影响已经配置好的ldap服务。 // $servers->setValue('login','bind_id',''); # $servers->setValue('login','bind_id','cn=Manager,dc=example,dc=com'); /* Your LDAP password. If you specified an empty bind_id above, this MUST also be blank. */ // $servers->setValue('login','bind_pass',''); # $servers->setValue('login','bind_pass','secret'); /* Use TLS (Transport Layer Security) to connect to the LDAP server. */ // $servers->setValue('server','tls',false); /* TLS Certificate Authority file (overrides ldap.conf, PHP 7.

RedisTemplate中opsForValue使用教程全解

获取原来key键对应的值并重新赋新值。 String oldAndNewStringValue = redisTemplate.opsForValue().getAndSet(“key”, “ccc”); System.out.print(“通过getAndSet(K key, V value)方法获取原来的值:” + oldAndNewStringValue ); String newStringValue = redisTemplate.opsForValue().get(“key”); System.out.println(“修改过后的值:”+newStringValue); 6、setBit(K key, long offset, boolean value) key键对应的值value对应的ascii码,在offset的位置(从左向右数)变为value。 redisTemplate.opsForValue().setBit(“key”,1,false); newStringValue = redisTemplate.opsForValue().get(“key”)+“”; System.out.println(“通过setBit(K key,long offset,boolean value)方法修改过后的值:”+newStringValue); 7、getBit(K key, long offset) 判断指定的位置ASCII码的bit位是否为1。 boolean bitBoolean = redisTemplate.opsForValue().getBit(“key”,1); System.out.println(“通过getBit(K key,long offset)方法判断指定bit位的值是:” + bitBoolean); 8、size(K key) 获取指定字符串的长度 Long stringValueLength = redisTemplate.opsForValue().size(“key”); System.out.println(“通过size(K key)方法获取字符串的长度:”+stringValueLength); 9、increment(K key, double delta) 以增量的方式将double值存储在变量中。 double stringValueDouble = redisTemplate.opsForValue().increment(“doubleKey”,5); System.out.println(“通过increment(K key, double delta)方法以增量方式存储double值:” + stringValueDouble);

音乐小程序|基于微信开发音乐小程序的系统设计与实现(源码+数据库+文档)

音乐小程序目录 基于微信开发音乐小程序的系统 一、前言 二、系统设计 三、系统功能设计 小程序端: 后台 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️ 主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。 🍅文末获取源码联系🍅 基于微信开发音乐小程序的系统 一、前言 微信的原创音乐小程序的设计主要是对系统所要实现的功能进行详细考虑,确定所要实现的功能后进行界面的设计,在这中间还要考虑如何可以更好的将功能及页面进行很好的结合,方便用户可以在手机微信小程序上进行查看歌曲信息歌手信息等操作,还有系统平台后期的可操作性,通过对个人中心、歌曲信息、歌手信息、新闻资讯、系统管理等内容的详细了解和处理进行技术的开发。 微信的原创音乐小程序的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与微信的原创音乐小程序管理的实际需求相结合,讨论了基于微信开发的微信的原创音乐小程序管理小程序的使用。 关键词:;微信的原创音乐小程序;JAVA 二、系统设计 系统功能结构如图 三、系统功能设计 小程序端: 用户通过到界面,通过界面的原创音乐小程序,可以进行通过注册输入用户账号、密码、用户姓名、性别、年龄、用户手机等信息,进行注册操作,如图5-6所示。用户通过登录页面,输入账号、密码、验证码输入无误后进行登录操作,如图5-7所示。 图5-6注册用户界面图 图5-7用户登录界面图 用户进入到原创音乐小程序界面,通过首页可以进行查看首页、歌曲信息、热门歌手、音乐资讯、我的等功能模块,进行相对应操作,如图5-8所示。 图5-8用户功能模块界面图 歌曲信息:通过列表可以进行查看歌曲名、封面、歌曲类型、歌手、专辑、时长、专辑、音频、发行方、版权方、歌词等信息内容,进行查看歌曲详细信息或收藏操作,并通过查看评论或添加评价操作,如图5-9所示。 后台 管理员通过登录窗口,进行在线填写管理员的用户名和密码,信息编辑完成后核对所输入的信息,信息编辑完成后核对信息准确无误后进行提交,进入到系统操作界面,如图5.1所示。 图5.1管理员登录界面 管理员进入后台页面,可以查看个人中心、用户管理、歌曲类型管理、歌曲信息管理、热门歌手管理、音乐资讯管理、系统管理等功能模块进行查看操作。 用户管理:通过列表可以查看用户账号、用户姓名、性别、年龄、头像、用户手机等信息进行查看、修改或删除操作,也可以通过新增进行添加用户信息,进行用户名查询或重置操作,如图5.2所示。 图5.2用户信息管理界面 歌曲息管理:通过列表可以查看歌曲名称、歌曲类型、封面、歌手、专辑、时长、音频、发行方、版权方等信息,进行查看详情、或修改或删除等操作,并通过查看评论进行查看或删除操作,并通过输入歌曲名称、歌手、专辑进行查询,如图5.3所示。 图5-3歌曲信息界面图 热门歌手管理:通过列表可以查看歌手姓名、歌手性别、头像、歌曲流派、标签、热门歌曲等信息,进行查看歌手信息、新增、修改或删除操作,还可以通过歌手信息,进行查看评论,也可以通过输入歌手姓名、歌手性别、歌曲流派、标签进行查找操作,如图5-4所示。 图5.4热门歌手管理界面 音乐资讯管理:通过列表可以查看标题、发布时间、图片、摘要、资讯来源等信息,进行查看详情或修改或删除操作,并通过音乐资讯进行查看评论,也可以通过填写标题进行查询或重置操作,如图5.5所示。 图5.5音乐资讯管理界面 四、数据库设计 (1) 用户数据实体如下所示: (2) 歌曲信息实体如下所示: 数据库表的设计,如下表: 表4-1:token表 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 userid bigint 用户id username varchar 100 用户名 tablename varchar 100

基于Python大数据的微博舆情分析,微博评论情感分析可视化系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 Java项目精品实战案例《100套》 Java微信小程序项目实战《100套》 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人 文章目录 1 简介意义 2 技术栈3 效果图微博首页情感分析关键词分析热门评论 4 推荐阅读5 源码获取: 1 简介 Python基于微博的舆情分析,情感分析可视化系统 基于Python大数据的微博舆情分析,微博评论情感分析可视化系统,项目后端分爬虫模块、数据分析模块、数据存储模块、业务逻辑模块组成。 功能包括 登陆注册 用户管理 热门事件展示 舆情分析,包括舆情分析,情感分类,用户分布,关键词云图,热门帖子,热门评论排名 个人信息管理 先后进行了数据获取和筛选存储,对存储后的数据库数据进行提取分析处理等操作,得到符合需要的结构化数据,将处理后的数据根据需要进行分析,得到相关的可视化数据,然后提供对应的接口给前端页面,显示在项目的前端页面中。 使用Django进行整个项目框架的构建,爬虫部分模块使用requests官方依赖库进行数据获取,根据微博公开的api接口获取结构化json数据,然后使用pandas对数据进行筛选,处理和分析。 意义 微博舆情分析系统将通过计算机进行整体智能化操作,对于微博舆情分析系统信息的管理及数据保存都是非常多的,为用户提供一个智能化的管理信息平台,方便管理员可以随时随地的查看用户所需的详细信息及热点词统计内容,增加系统和用户之间的关系,并且对数据信息管理可以及时、准确、有效地进行系统化、标准化和有效化的工作。 2 技术栈 技术栈说明备注Django作为后端接口PyMySQL、Pandas链接 mysql【Python-数据分析】如何使用 pandas 快速读取 MySQL 数据表?snownlp情感分析,作为情感得分日常笔记-snownlp情感分析计算情感得分beautifulsoup4爬虫,网页接口分析urllib3、requests网络请求certifi网络证书Python certifi:如何在Python中使用SSL证书jieba关键词提取https://blog.csdn.net/FontThrone/article/details/72782499 3 效果图 微博首页 情感分析 关键词分析 热门评论 4 推荐阅读 Java 基于 SpringBoot+Vue 的地方民宿管理系统 Java基于SpringBoot+Vue的考研资讯平台 5 源码获取: 大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇 Java项目精品实战案例《100套》 Java微信小程序项目实战《100套》 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人

【flink报错】flink cdc无主键时的操作

文章目录 一. 报错二. 解决 一. 报错 “org.apache.flink.table.api.validationexception: ‘scan.incremental.snapshot.chunk.key-column’ must be set when the table doesn’t have primary keys” 报错提示当表没有主键时,必须设置 ‘scan.incremental.snapshot.chunk.key-column’。 这里表没有主键,不是flink table中设置的primary key,而是物理表中没有主键。 二. 解决 如上述报错提示:在创建表的时候,为没有主键的表指定一个唯一的标识列作为’scan.incremental.snapshot.chunk.key-column’。如下 为MY_TABLE表指定了id列作为’scan.incremental.snapshot.chunk.key-column’。这样就可以解决没有主键的表无法进行增量捕获的问题。 CREATE TABLE IF NOT EXISTS my_table ( id BIGINT, name STRING, age INT, PRIMARY KEY (id) NOT ENFORCED ) WITH ( 'connector' = 'mysql-cdc', 'hostname' = 'xxx', 'port' = '1521', 'username' = 'conn_uat', 'password' = 'xxxx', 'database-name' = 'CONN_UAT', 'schema-name' = 'strc', 'table-name' = 'MY_TABLE', 'scan.

Android Studio 中使用 SQLite 数据库实现登录和注册

引言 在 Android 应用程序中,管理用户数据至关重要。SQLite 是 Android 中广泛使用的轻量级数据库,非常适合存储和管理用户登录和注册信息。本文将指导你如何在 Android Studio 中使用 SQLite 数据库实现登录和注册功能。 创建 SQLite 数据库 首先,你需要创建一个 SQLite 数据库来存储用户数据。为此,请执行以下步骤: 在你的项目中创建一个名为 DBHelper 的类,它扩展自 SQLiteOpenHelper。在 DBHelper 类中,实现 onCreate() 方法,该方法将在数据库首次创建时调用。在 onCreate() 方法中,使用 execSQL() 方法创建名为 userInfo 的表,其中包含 uname(用户名)和 psw(密码)列。在 DBHelper 类中,还实现 onUpgrade() 方法,该方法将在数据库版本更改时调用。在这个方法中,你可以执行必要的更新操作。 实现登录功能 要实现登录功能,请执行以下步骤: 在你的登录活动中,获取用户名和密码输入框的引用。使用 DBHelper 类获取数据库的可写实例。执行 SQL 查询以检查输入的用户名和密码是否与数据库中的记录匹配。如果查询结果不为空,则表示找到了匹配的记录,并且显示 "登录成功" 的消息。如果查询结果为空,则显示 "用户名或密码输入错误" 的消息。 实现注册功能 要实现注册功能,请执行以下步骤: 在你的注册活动中,获取用户名和密码输入框的引用。使用 DBHelper 类获取数据库的可写实例。检查用户名和密码是否为空。如果为空,则显示 "用户名或密码未输入" 的消息。执行 SQL 查询以检查输入的用户名是否已存在。如果查询结果为空,则表示用户名不存在,可以进行注册。使用 ContentValues 对象创建包含用户名和密码的新记录。使用 insert() 方法将新记录插入到数据库中。显示 "注册成功" 的消息,并跳转回登录界面。 示例代码 DBHelper.java package com.example.loginandregister; import android.

前端篇-js中var、let、const详解

var、let、const var 1.var声明作用域 function test(){var message="hi"; //局部变量} test(); console.log(message);//报错!message未定义 这里,message变量是函数内部使用var定义的,函数名test(),调用它会创建这个变量并给它赋值,调用之后变量就会被销毁,所以最后代码运行结果会显示未定义。 function test(){ message="hi"; //全局变量} test(); console.log(message);//正常打印hi 去掉var之后,message就会变成全局变量,代码就可以正常打印。只要调用一次函数,就会定义这个变量,并且可以在函数外部访问到。虽然通过省略var可以定义全局变量,但不推荐这么做。在局部作用域中定义的全局变量很那维护,容易出错。 2.var声明提升 function test() {console.log(age);var age = 16;}test(); 这里是不会报错的,因为使用这个关键词声明的变量会自动提升到函数作用域顶部,就相当于如下代码: {function test() {var age;console.log(age);var age = 16;}test();} 需要注意的是只是将变量的声明提升到函数作用域的顶部,并没有将赋值提上去,所以代码的运行结果是undefined。还有就是对一个变量多次赋值是没有任何问题的。 let 1.let的声明 if(true){ var age=26; console.log(age);//26 } console.log(age);//26 if(true){ let age=26; console.log(age); //26 } console.log(age); //undefined (1)var和let的第一点区别就是,var声明的范围是函数作用域,let声明的范围是块作用域。let定义的age变量不能在if块外部被引用,是因为它的作用域仅限于该块内部。块作用域是函数作用域的子集,适用于var的作用域限制同样也适用于let。 (2)第二个区别就是let不允许同一个块作用域中出现重复声明。 lat name; let name; //SyntaxError: Identifier 'name' has already been declared 嵌套使用相同的标识符不会报错,这是因为同一个块中没有重复的声明。 let name="JingYu"; console.log(name); //打印输出JingYu if(true){ let name="

一篇文章详细介绍Stable Diffusion模型原理及实现过程(附常用模型网站、下载方式)

目录 前言 何为Stable Diffusion模型? Stable Diffusion工作原理: Stable Diffusion模型的应用场景 Stable Diffusion免费使用网站 stability.ai: 本地部署 Stable Diffusion方法: StableDiffusion中文网 博主介绍:✌专注于前后端、机器学习、人工智能应用领域开发的优质创作者、秉着互联网精神开源贡献精神,答疑解惑、坚持优质作品共享。本人是掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战,深受全网粉丝喜爱与支持✌有需要可以联系作者我哦! 🍅文末三连哦🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 前言 何为Stable Diffusion模型? Stable Diffusion是最近很🔥的一种图像生成方法。基于潜在扩散的机器学习模型,其主要用于根据文本的描述生成详细的图像。该模型由慕尼黑大学的CompVis研究团体开发,是各种生成性人工神经网络之一,由初创公司StabilityAI、CompVis与Runway合作开发,并得到EleutherAI和LAION的支持。 Stable Diffusion模型主要由变分自编码器(VAE)、U-Net和一个文本编码器三个部分组成。在前向扩散过程中,高斯噪声被迭代地应用于压缩的潜在表征。每个去噪步骤都由一个包含残差神经网络(ResNet)的U-Net架构完成,通过从前向扩散往反方向去噪而获得潜在表征。最后,VAE解码器通过将表征转换回像素空间来生成输出图像。 Stable Diffusion的优点包括更高的稳定性、更快的训练速度以及更易于优化。通过引入一个新的稳定性系数,Stable Diffusion能够控制模型的稳定性,从而避免了Latent Diffusion中出现的不稳定性问题。同时,通过使用更小的batch size和更少的步骤,以及更少的参数和更简单的网络结构,Stable Diffusion提高了训练速度并使得模型更易于优化。 然而,Stable Diffusion也存在一些缺点。由于引入了稳定性系数,它可能会牺牲一些生成样本的多样性。此外,虽然Stable Diffusion的训练速度更快,但生成样本的速度可能会变慢。 Stable Diffusion工作原理: Stable Diffusion模型的工作原理基于一个扩散过程,逐步从噪声中恢复出图像信息。在训练阶段,模型会学习如何逐步将噪声转化为真实的图像数据。而在生成阶段,模型则可以从随机噪声出发,通过反向的扩散过程,生成出与训练数据分布相似的图像。 这个扩散过程可以分为以下几个步骤: 初始化:给定一个原始数据集,例如图像、文本或其他类型的数据。扩散过程:在扩散过程中,模型会将数据逐渐地向原始数据集的中心值靠近。这个过程可以通过一个称为“扩散器”的函数来表示。扩散器接收当前数据值和一个小噪声项,输出一个新的数据值。这个过程重复多次,直到数据值接近原始数据集的中心值。生成新数据:在扩散过程结束后,模型会生成一个新的数据样本,这个样本具有与原始数据集相似的特征。反向扩散过程:为了提高生成数据的质量,Stable Diffusion使用了反向扩散过程。这个过程与正向扩散过程类似,但使用的是一个不同的扩散器。反向扩散过程可以使生成的数据更接近原始数据集的分布。重复和优化:为了提高生成数据的多样性和平衡性,可以对扩散过程进行多次重复,并使用不同的扩散器和噪声参数。 Stable Diffusion模型通过引入条件控制、特征嵌入等技巧,能够生成具有多样性和创意性的图像。这种模型不仅具有高度的灵活性,可以生成各种类型的图像,如人脸、物体等,而且生成的图像质量高,逼真度和细节表现力较好。 Stable Diffusion核心代码实现 基于Python 和常见机器学习库实现: 算法核心流程 计算相似度矩阵 使用欧氏距离计算数据点之间的相似度。 使用高斯核函数转换欧氏距离为相似度。 pairwise_dist = pairwise_distances(X, metric='euclidean') similarity_matrix = np.exp(-pairwise_dist ** 2) 中心化相似度矩阵 对相似度矩阵进行中心化处理,使其行和列的平均值为0。 kernel_centerer = KernelCenterer() similarity_matrix_centered = kernel_centerer.