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

如何在本地部署小智服务器:从源码到全模块运行的详细步骤

小智聊天机器人本地后台服务器源码全模块部署

作者:林甲酸 -不是小女子也不是女汉子 是大女子
更新日期:2025年4月29日

我觉得新的控制台好看耶

🎯 前言:为什么要写这篇教程?

上周按照虾哥小智服务器的教程去部署本地后台,我用的是本地源码运行全模块的方法去部署,虽然照着文字教程去部署了,但是教程一看要安装好多东西啊,我是一个硬件的,对于服务器这块也不熟悉,一路坎坎坷坷,还好借助各类gpt解决了问题。感谢AI工具🙏。如果你也跟我一样看着教程有些下不去手,或许你可以参考我这篇文章开始动手,帮您少走一步弯路。:
在这里插入图片描述

本文将用最直白的语言+图解,带你完成全模块部署!
注:部署过程也不是一次就能搞定的,出现问题可以备注交流,文章是经过验证后才写的,如果错误请指正,欢迎交流!


采用本地源码运行全模块的好处是,你可以体验最全的小智大模型各类工具。
声明,本文参考了:
小智源码文档
本地源码运行全模块步骤
小智硬件源码
下面跟着虾哥本地源码运行全模块的流程来吧!

📦 环境总览

组件版本用途
Docker最新版容器化部署数据库
MySQL8.0+数据存储
Redis7.0+缓存服务
JDK21后端运行环境
Python3.10AI模型推理

🔧 一、安装MySQL数据库

1. 先安装Docker

通过docker安转MySQL。这里因为我是没有MySQL,所以我采取了使用Docker安装。我用的Docker是在官方下载的,我并没有按照他上面给的方式去安装,感觉看的不清晰。
(1)安装Docker我是win11系统,我选择了第3个。
在这里插入图片描述
(2)安装的时候记得要关闭所有杀毒软件!关闭所有防火墙!安装的时候使用管理员运行.exe文件,安装的时候按照默认选择。
在这里插入图片描述

(2)安装好后关闭,然后重新管理员运行打开软件。进入界面时Accept一下条款,然后Skip跳过介绍。

在这里插入图片描述
(3)Docker设置。这一步是在 Docker Desktop 里开启 WSL 2 集成,目的是让 Docker 可以直接在你的 WSL 2(例如 Ubuntu)环境中运行容器。点击设置->Resources->WSL integration,然后打开Ubuntu的按钮,为了让你的 Ubuntu WSL 环境可以直接用 Docker。
在这里插入图片描述

这里我当时安装的时候没有出现Ubuntu的按钮,是因为当时我的系统尚未安装任何WSL 2发行版。如果你没有遇到这个问题可以跳过这里。解决方法:
① 安装WSL 2发行版

wsl –install

②将发行版设置为WSL 2模式

wsl --set-version Ubuntu 2

③验证是否成功

wsl --list –verbose

确认输出中包含Ubuntu且版本为WSL 2。然后在关闭、管理员重启Docker,就可以看到这里有这个Ubuntu选项了。
(4)接下来。在Docker Desktop 中设置 磁盘镜像存储位置,Docker Desktop 会把所有的数据(包括镜像、容器、卷)存在 C 盘,如果不改路径,时间长了 C 盘可能爆满。我选择了D盘。然后点击Apply&restart。
在这里插入图片描述等待安装好后,管理员打开Docker,这样就安装好这个大部头。

2. 通过docker安转MySQL

安装好 Docker 后,确保Docker打开的状态。你可以通过 命令行终端PowerShell,通过docker安装mysql。
在这里插入图片描述
这个时候你可以看到在Docker中看到当前系统正在运行一个MySQL容器
在这里插入图片描述

🔧 二、安装redis

如果还没有Redis,你可以通过docker安装redis
在这里插入图片描述
回车之后,可以看到redis启动运行
在这里插入图片描述

🔧 三、运行manager-api程序(后端服务)

1. 安装JDK21

① JDK下载网址:Java 。我是window系統行4位。解压后,可安装到D盘。D:\JDK21_0_6
在这里插入图片描述
② 设置JDK的path环境变量。首先是Path环境变量设置。在“系统变量”区域找到并选中 Path,然后点击“编辑”。 在编辑窗口中,点击“新建”,添加以下JDK的安装路径
在这里插入图片描述
③ 设置JDK的JAVA_HOME 环境变量。在“系统变量”部分点击“新建”, 变量名:JAVA_HOME,变量值:JDK 安装路径。
在这里插入图片描述
④ 可以打开PowerShell,验证 JDK 是否安装成功

java -version

如果返回类似下面的结果,说明 JDK 已正确安装

java version "21" 2025-03-21
Java(TM) SE Runtime Environment (build 21+36-2239)
Java HotSpot(TM) 64-Bit Server VM (build 21+36-2239, mixed mode)

2.安装Maven

① Maven 压缩包(下载 Maven 的二进制 zip 文件)。我安装到D:\JDK21_0_6
在这里插入图片描述
②解压 Maven 到 D 盘,例如:D:\Apache\Maven。
在这里插入图片描述
③设置环境变量
• MAVEN_HOME:指向你解压 Maven 的目录(例如:D:\Apache\Maven)。
• Path:将 Maven 的 bin 目录添加到 Path 环境变量中(例如:D:\Apache\Maven\bin)。

3.安装Java环境相关插件

打开 VSCode,安装 Java 插件(例如:Java Extension Pack)以支持 Java 开发
在这里插入图片描述

4.使用Vscode编程工具加载manager-api模块

首先你需要去下载源码
虾哥源码地址 解压后按照虾哥的教程你需要“把它重命名成xiaozhi-esp32-server,我把工程放在了E盘,然后使用VScode打开路径“E:\xiaozhi-esp32-server\main\manager-api”。
①按照虾哥提供的配置,将数据库连接信息填入

src/main/resources/application-dev.yml中:
spring:datasource:username: root
password: 123456

② 在src/main/resources/application-dev.yml中配置Redis连接信息

spring:data:redis:host: localhostport: 6379password:database: 0

在这里插入图片描述

5.运行manager-api程序

一定要确保你的Docker是打开的,这俩是在运行的情况下,再去运行程序。
在这里插入图片描述
当你看到输出日志时,说明你的manager-api启动成功了。
在这里插入图片描述

🔧四、运行manager-web程序(前端控制台)

1. 安装nodejs

(下面的步骤都是按照虾哥的教程来的)
nodejs的安装地址:Node.js — 在任何地方运行 JavaScript

2. 使用Vscode编程工具加载manager-web模块

①终端命令进入manager-web目录下。

npm install

② 启动

npm run serve

在这里插入图片描述
③ 到这一步,运行成功后,打开智控台,链接:http://127.0.0.1:8001,注册第一个用户。第一个用户即是超级管理员,以后的用户都是普通用户。然后在里面配置你的LLM密钥。这一步可以去申请阿里或者智谱的密钥,网上很多,我就不描述了。
在这里插入图片描述
重要:注册成功后,使用超级管理员账号,登录智控台,在顶部菜单找到模型配置,然后在左侧栏点击大语言模型,找到第一条数据智谱AI,点击修改按钮, 弹出修改框后,将你注册到的智谱AI的密钥填写到API密钥中。然后点击保存。然后窗口别关闭了。
注意:采用豆包语音识别请看,没有可跳过这里。你如果使用豆包然后tts报错的话,你应该是voice_type参数出错了。别问我为啥知道…
如果你开通了豆包的语音识别,然后有这些参数
在这里插入图片描述
你可以按照我这个参数去修改豆包的语音合成。
在这里插入图片描述
然后要记得在外面这里音色管理修改参数编码,根据你开通填的音色去修改
在这里插入图片描述

🔧五、安装Python环境

我按照虾哥的教程使用 Conda 创建 Python 环境,这一步是为本地化运行的语音交互、设备通信、AI模型推理等关键功能提供隔离、稳定的Python运行时环境。因此需要先去安装Anaconda。

1. 安装清华镜像源的Anaconda

尽量安装Anaconda3-5.3.0后面的版本,python版本3.6。安装我是安装在D盘的
在这里插入图片描述

2. 通过conda_prompt运行指令

(1) 使用管理员身份运行
在这里插入图片描述
(2)执行命令

conda remove -n xiaozhi-esp32-server --all -y
conda create -n xiaozhi-esp32-server python=3.10 -y
conda activate xiaozhi-esp32-server# 添加清华源通道
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forgeconda install libopus -y
conda install ffmpeg -y

安装libopus可能会出现如下报错:
在这里插入图片描述
你可以尝试:指定conda-forge安装
libopus主要在conda-forge仓库中,可以指定从conda-forge安装:

conda install -c conda-forge libopus -y

上面的命令都要一步一步执行下来。出现问题,及时问AI。
在这里插入图片描述

🔧六、运行源码依赖

1. 安装依赖

# 继续使用conda环境
conda activate xiaozhi-esp32-server
# 进入到你的项目根目录,再进入main/xiaozhi-server
cd main/xiaozhi-server
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip install -r requirements.txt

在这里插入图片描述

🔧七、 下载语音识别模型文件

还是按照虾哥的教程去下载语音识别模块,然后下载后把model.pt文件放在models/SenseVoiceSmall目录下线路 百度网盘下载SenseVoiceSmall 提取码:qvna

🔧八、 配置项目文件

1. 复制server.secret参数

使用 超级管理员账号 登录系统管理后台(智控台),在顶部菜单找到参数管理(参数编码为server.secret),找到列表中第一条数据,参数编码是server.secret,它是随机生成的,每次重新部署都会随机生成,复制它到参数值。
在这里插入图片描述

2. 配置.config.yaml文件

打开整一个源码文件,进入xiaozhi-server目录,检查是否存在data文件夹,如果没有data目录,请手动创建。如果 data 目录下没有 .config.yaml 文件,执行以下操作:
将 xiaozhi-server 目录下的 config_from_api.yaml 复制到 data 目录。重命名复制的文件为 .config.yaml
在这里插入图片描述
将复制的server.secret值粘贴到secret字段中。
在这里插入图片描述

🔧九、 运行xiaozhi-esp32-server项目

1.运行本地服务端

在刚刚安装依赖的环境下继续执行

# 确保在xiaozhi-server目录下执行
conda activate xiaozhi-esp32-server
python app.py

在这里插入图片描述
如果出现上面的结果,表示你的server端已经部署好了。接下来就是跟小智硬件的结合。注意看返回的ws://xxx.xx.xx.xx:8000/xiaozhi/v1/,其中xxx.xx.xx.xx就是你本地的地址,后面都会用到。

2.硬件接口更新

接下来你可以去在智控台更新硬件接口。
①使用超级管理员账号,登录智控台,在顶部菜单找到参数管理,找到参数编码是server.websocket,输入你的Websocket接口。
②使用超级管理员账号,登录智控台,在顶部菜单找到参数管理,找到数编码是server.ota,输入你的OTA接口。
不知道为啥我没找到,所以我通过手动新增了这两个参数
在这里插入图片描述

🔧十、 小智硬件烧录

打开小智的硬件源码程序。

  1. OTA接口更新
http://你电脑局域网的ip:8002/xiaozhi/ota/
  1. Websocket接口更新
ws://你电脑局域网的ip:8000/xiaozhi/v1/

这里我是写在Kconfig.projbuild文件里面,后面配置的时候会根据这个文件去更新。记得保存
在这里插入图片描述
你可以点击下方的设置那里,查看右边配置有没有更新到,没有问题可以下载到小智硬件了。
在这里插入图片描述
硬件烧录成功后,根据屏幕播报的设备码填写到控制台。点击智能体管理,还没新建智能体的话,就新建一个,然后填写设备管理,绑定播报的6位验证码。
在这里插入图片描述
在这里插入图片描述
然后点击硬件重启设备。接下来就是见证奇迹的时候。
在这里插入图片描述

总结:

通过上述步骤,你已经成功在本地部署了小智服务器。无论是后端服务的管理、前端控制台的操作,还是语音交互与硬件控制的集成,都可以在本地环境中完成。这种部署方式给开发者提供了极大的灵活性,同时也帮助你更深入地理解整个系统的工作流程。希望本文能帮助你少走弯路,顺利搭建起属于自己的智能硬件系统。

相关文章:

如何在本地部署小智服务器:从源码到全模块运行的详细步骤

小智聊天机器人本地后台服务器源码全模块部署 作者:林甲酸 -不是小女子也不是女汉子 是大女子 更新日期:2025年4月29日 🎯 前言:为什么要写这篇教程? 上周按照虾哥小智服务器的教程去部署本地后台,我用的是…...

基于论文的大模型应用:基于SmartETL的arXiv论文数据接入与预处理(四)

上一篇介绍了基于SmartETL框架实现arxiv采集处理的基本流程,通过少量的组件定制开发,配合yaml流程配置,实现了复杂的arxiv采集处理。 由于其业务流程复杂,在实际应用中还存在一些不足需要优化。 5. 基于Kafka的任务解耦设计 5.…...

GrapesJS 终极定制组件设计方案:扁平化对象属性编辑、多区域拖拽、多层嵌套与组件扩展实战

掌握 GrapesJS 复杂组件实用技巧,打造高复用、高交互的前端低代码组件体系 随着低代码可视化编辑需求日益提升,GrapesJS 作为优秀开源画布编辑器,灵活的组件机制是其核心优势。但在实际项目中,你可能会遇到: 如何编辑…...

Spring MVC 如何映射 HTTP 请求到 Controller 方法?

我们来详细分析一下如何在 Spring MVC 中将 HTTP 请求映射到 Controller 的处理方法(Handler Methods)上,以及 RequestMapping 注解的使用方法。 请求映射的核心:RequestMapping 注解 RequestMapping 是 Spring MVC 中最核心、最…...

vue.js中的一些事件修饰符【前端】

不要一直责怪过去的自己,他独自站在雾里也很迷茫。 目录 .stop:.prevent:.self:.once:.capture:.native:何时使用 .native? .stop: 作用:调用 event.stopPro…...

WEBSTORM前端 —— 第2章:CSS —— 第4节:盒子模型

目录 1.画盒子 2.Pxcook软件 3.盒子模型——组成 4.盒子模型 ——边框线 5.盒子模型——内外边距 6.盒子模型——尺寸计算 7.清除默认样式 8.盒子模型——元素溢出 9.外边距问题 ①合并现象 ②塌陷问题 10.行内元素——内外边距问题 11.盒子模型——圆角 12.盒子…...

Cursor —— AI编辑器 使用详解

Cursor - The AI Code Editor 一、Cursor 是什么? Cursor 是一款优秀的AI代码编辑器,它内置了 Deepseek-R1、GPT-4、Claude等 AI 模型。 简单说,就是:Cursor VS Code 编辑器 AI 大模型 Cursor 功能特性(代码补全、…...

故障诊断——复现github代码ClassBD-CNN(BDCNN)

刚好看到这篇文献有github代码,而且也比较新,感觉可以当作自己论文中的对比方法。 https://www.sciencedirect.com/science/article/pii/S0888327024006484 (论文地址) (看到4090,有点想劝退自己......&…...

局部和整体的关系

Prompt:为什么要研究局部和整体的关系呢?是因为很多情况下,局部就能表达出整体? 这是一个非常本质的问题,其实你已经接近数学和物理中“几何本质”的核心了。我们研究局部和整体的关系,是因为:…...

1.5 点云数据获取方式——双目立体相机

图1-5-1 双目立体相机 双目相机通过模拟人眼立体视觉,利用两个摄像头的视差信息计算物体深度,进而生成 3D 点云,具有成本低、体积小、信息丰富等优势,成为中...

Flume启动报错

报错1: 报错2: File Channel transaction capacity cannot be greater than the capacity of the channel capacit... 解决方案:删除配置...

leetcode 21. 合并两个有序链表(c++解法+相关知识点复习)

目录 题目 所需知识点复习 1.链表 1.1单链表 1.2哑结点(Dummy Node) 解答过程 1.循环双指针解法 2.递归解法 2025.4.29想到其他知识点会后续再继续补充。 题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表…...

链表反转_leedcodeP206

P206反转链表 原题 反转思路 将链表反转的过程分为两个区域: 🟦 未反转区(待处理) 原链表中还没有处理(还没有反转指针方向)的部分,从 current 开始一直到链表尾部。 🟩 已反转…...

Laravel+API 接口

LaravelAPI 接口 网课连接:BIlibili. 中文文档. 1.RestFul Api编码风格 一、API设计 修改hosts,C:\Windows\System32\drivers\etc\hosts,增加127.0.0.1 api.lv8.com # Laravel 框架 用这个域名来测试(推荐规范) 在…...

在 Ubuntu 上离线安装 ClickHouse

在 Ubuntu 上离线安装 ClickHouse 的步骤如下: 一.安装验证 # 检查服务状态 sudo systemctl status clickhouse-server #删除默认文件 sudo rm /etc/clickhouse-server/users.d/default-password.xml # 使用客户端连接 clickhouse-client --password...

【AI微信小程序开发】掷骰子小程序项目代码:自设骰子数量和动画(含完整前端代码)

系列文章目录 【AI微信小程序开发】AI减脂菜谱小程序项目代码:根据用户身高/体重等信息定制菜谱(含完整前端+后端代码)【AI微信小程序开发】AI菜谱推荐小程序项目代码:根据剩余食材智能生成菜谱(含完整前端+后端代码)【AI微信小程序开发】图片工具小程序项目代码:图片压…...

Linux-02-VIM和VI编辑器

第一节:什么是VI和VIM编辑器: VI是Unix和类Unix操作系统中出现的通用的文本编辑器。VIM是从VI发展出来的一个性能更强大的文本编辑器可以主动的以字体颜色辨别语法的正确性,方便程序设计,VIM和VI编辑器完全兼容。使用:vi xxx文件 或者vim xxx文件,简单来说就是用来编辑文件的一…...

同为科技 智能PDU产品选型介绍-EN10/G801FR

随着各行业对数据中心机房重视程度的不断提高, 加强机柜微环境及电源计量、监控和管理则十分必要。在新型微模块化数据中心供配电系统建设中,UPS电源、智能PDU、监控管理系统、资产管理等产品早已成为IDC机房不可或缺的部分。其中,智能PDU通过…...

NS-SWIFT微调Qwen3

目录 一、NS-SWIFT简介 二、Qwen3简介 三、微调Qwen3 1、安装NS-SWIFT环境 2、准备训练数据 3、Lora微调 4、GROP训练 5、Megatron并行训练 一、NS-SWIFT简介 SWIFT(Scalable lightWeight Infrastructure for Fine-Tuning)是魔搭ModelScope开源社…...

借 AI 热潮,深挖 [风车 AI ] 为跨境电商打造的图片翻译黑科技

家人们,这几年 AI 技术简直像坐了火箭一样飞速发展,生活里、工作中到处都能看到它的身影。对咱们跨境行业来说,语言翻译一直是个让人头疼的大问题。今天咱就借着这股 AI 热潮,好好深挖一下风车 AI 为跨境打造的那些超厉害的翻译黑…...

uni-app 中封装全局音频播放器

在开发移动应用时,音频播放功能是一个常见的需求。无论是背景音乐、音效还是语音消息,音频播放都需要一个稳定且易于管理的解决方案。在 uni-app 中,虽然原生提供了 uni.createInnerAudioContext 方法用于音频播放,但直接使用它可…...

Uniapp:设置TabBar

目录 一、setTabBarBadge:增加文本二、removeTabBarBadge:移除文本三、showTabBarRedDot:显示红点四、hideTabBarRedDot:隐藏红点一、setTabBarBadge:增加文本 为 tabBar 某一项的右上角添加文本。 uni.setTabBarBadge({index: 0,text: 1 })参数类型必填说明indexNumber…...

如何查看k8s获取系统是否清理过docker镜像

k8s集群某个节点down掉后,pod就会漂移到其他节点,但是在该节点却又执行了拉取镜像操作,明明该节点之前部署过该容器的,不知为什么又拉取了一次镜像(镜像拉取配置的优先使用本地),所以怀疑是触发…...

【Linux网络】深入解析I/O多路转接 - Select

📢博客主页:https://blog.csdn.net/2301_779549673 📢博客仓库:https://gitee.com/JohnKingW/linux_test/tree/master/lesson 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! &…...

如何解决 Xcode 签名证书和 Provisioning Profile 过期问题

在 iOS 应用开发过程中,签名证书和 Provisioning Profile 是确保应用安全性和合法性的关键组件。然而,当这些证书或配置文件过期时,开发者可能会遇到编译或归档失败的问题。本文将详细介绍如何解决 Xcode 中“iOS Distribution”证书未找到和…...

[C++]C++20协程的原理

文章目录 协程的状态机Promise 对象挂起和恢复机制协程的执行流程示例代码分析 C 协程是 C20 引入的一项重要特性,它提供了一种更简洁、高效的异步编程方式。下面从协程的状态机、Promise 对象、挂起和恢复机制等方面介绍其底层实现原理。 协程的状态机 从底层角度…...

Oracle OCP证书有效期是三年?

这一段时间,网上经常传出消息Oracle OCM认证证书有效期为三年,其实这个假消息,通过博睿谷与Oracle官方人员确认,OCP认证证书有效期是永久的。 OCP证书本身永久有效,但老版本的OCP证书代表着更多的项目经验&#xff0c…...

2025.4.29_STM32_看门狗WDG

1.WDG简介 大概意思就是给看门狗设置一个时间范围,在这个范围内必须喂狗(重置定时器),这个操作必须一直执行,比如看门狗的的时间范围是1-2秒,我们就必须间隔1-2秒就喂一次狗,否则它自减到0时就会重置电路,相…...

基于Java,SpringBoot,HTML水文水质监测预警系统设计

摘要 随着水资源管理需求的日益增长,构建高效、精准的水文监测预警系统至关重要。本文设计并实现了一套基于 Java、SpringBoot 和 HTML 技术的水文监测预警系统。系统采用 Java 语言与 SpringBoot 框架搭建后端服务,利用其强大的业务逻辑处理能力与高效…...

Qt开发:JSON字符串的序列化和反序列化

文章目录 一、构建和解析单个JSON对象二、JSON对象中嵌套多个JSON对象三、JSON对象中组建多个数组对象四、构建和解析数组对象 一、构建和解析单个JSON对象 1.1 JSON对象的构建 使用key-value形式生成JSON对象 #include <QJsonObject> #include <QJsonDocument> …...

第10次:电商项目配置开发环境

本次内容主要为给整个电商项目配置好开发环境&#xff0c;包括如下环节&#xff1a; 创建电商项目xiaoyu_mall&#xff0c;Django版本默认是最新的大版本5.2配置应用目录&#xff0c;因项目会涉及到多个应用&#xff0c;为保证项目结构清晰&#xff0c;将在项目下建立apps目录…...

【强化学习系列】Q-learning——从贝尔曼最优方程谈起

引言 上一篇贝尔曼最优方程中我们已经推导出动作价值形式的贝尔曼最优方程&#xff1a; q π ∗ ( s , a ) ∑ s ′ ∈ S ∑ r ∈ R p ( s ′ , r ∣ s , a ) [ r γ max ⁡ a ′ q π ∗ ( s ′ , a ′ ) ] \begin{equation}q_{\pi^*}(s,a)\sum_{s\in S}\sum_{r\in R}p(s,…...

Java 基础--运算符全解析

【Java 基础】Java 运算符全解析&#xff1a;程序世界的“加减乘除”与“是非对错” 作者&#xff1a;IvanCodes 发布时间&#xff1a;2025年4月29日&#x1f423; 专栏&#xff1a;Java教程 嗨&#xff0c;各位 Java 探险家们&#xff01;&#x1f44b; 掌握了变量、数据类…...

【神经网络与深度学习】改变随机种子可以提升模型性能?

引言 随机种子在机器学习和数据处理领域中至关重要&#xff0c;它决定了模型训练、数据划分以及参数初始化的随机性。虽然固定随机种子能确保实验的可重复性&#xff0c;但改变随机种子有时会意外提升模型性能。本文将探讨这一现象的潜在原因&#xff0c;并揭示随机性如何影响…...

一页概览:统一数据保护方案

2010年左右手绘&#xff0c;用的是公司的信纸&#xff0c;签字笔&#xff0c;马克笔。方案为统一数据保护。其实解释备份软件加备份硬件&#xff08;支持重复数据删除&#xff09;的联合解决方案。...

Python中的itertools模块常见函数用法示例

itertools &#xff0c;迭代工具模块&#xff0c;提供了用于高效处理迭代器和组合问题的工具。 1. itertools.permutations(iterable, rNone) 功能&#xff1a;生成输入迭代器的所有可能排列。 参数&#xff1a; iterable&#xff1a;输入的可迭代对象。r&#xff1a;可选参数…...

微服务学习笔记

1 微服务 微服务&#xff1a;基于业务领域建模的、可独立发布的服务&#xff0c;把业务内聚的功能封装起来&#xff0c;并通过网络供其他服务访问。 好处&#xff1a; 技术异构性&#xff0c;不同服务可以使用不同的技术弹性&#xff0c;可以更好的处理服务不可用的问题扩展…...

实验七:基于89C51和DS18B20的温度采集与显示

一、实验目的 学习使用DS18B20数字温度传感器采集温度数据。使用4位共阳极数码管显示温度数据,显示精度到小数点后两位。熟悉89C51单片机的I/O口操作和位选控制。二、实验器材 89C51单片机开发板DS18B20数字温度传感器4位共阳极数码管三极管8550(用于位选驱动)电阻、电容等辅…...

cmake:基础

本文主要探讨cmake语法相关知识。 cmake(GUI)安装 apt install cmake-curses-gui cmake -y cmake语法 cmake_minimum_required(VERSION 版本号) 设置cmake最低版本 project(工程名) <> PROGECT_NAME/CMAKE_PROJECT_NAME 设置工程名字 add_library(库名 SHARED/STAT…...

1.8 点云数据获取方式——小结

点云&#xff0c;作为三维空间信息的直观载体&#xff0c;在各行各业都得到了广泛应用。而能够获得三维点云数据手段&#xff0c;也是极为丰富。本章节主要介绍了主动式手段&#xff08;包括激光雷达、ToF相机、结构光相机&#xff09;和被动式手段&#xff08;双目立体相机、单…...

超越单体:进入微服务世界与Spring Cloud概述

大家好&#xff01;欢迎来到我的新系列文章——《微服务架构&#xff1a;Spring Cloud实战指南》。在之前的《Java服务端核心技术》系列中&#xff0c;我们一起深入学习了如何使用Spring Boot构建功能强大、安全可靠的单体应用程序。我们掌握了Spring的核心原理、Web开发、数据…...

深度学习篇---模型权重变化与维度分析

文章目录 前言1. 权重的作用2. 权重的维度全连接层卷积层3. 权重的变化4.实例代码(PyTorch 框架)场景代码解释模型定义数据生成优化设置初始权重设置训练循环前向传播反向传播更新权重结果输出维度与变化总结维度匹配梯度跟新5. 增加网络深度:多层感知机(MLP)代码解释6. 权…...

AtCoder Beginner Contest 403(题解ABCDEF)

A - Odd Position Sum #1.奇数数位和 #include<iostream> #include<vector> #include<stdio.h> #include<map> #include<string> #include<algorithm> #include<queue> #include<cstring> #include<stack> #include&l…...

计算机视觉与深度学习 | 双目立体匹配算法理论+Opencv实践+matlab实践

双目立体匹配 一、双目立体匹配算法理论与OpenCV、matlab实践一、双目立体匹配理论二、OpenCV实践三、优化建议四、算法对比与适用场景二、双目立体匹配算法理论及Matlab实践指南一、双目立体匹配理论二、Matlab实践步骤三、算法对比与优化建议四、完整流程示例五、常见问题与解…...

深挖Java基础之:认识Java(创立空间/先导:Java认识)

今天我要介绍的是在Java中对Java的一些基本语法的认识与他们的运用&#xff0c;以及拟举例子说明和运用场景&#xff0c;优势和劣势&#xff0c; 注&#xff1a;本篇文章是对Java的一些基本的&#xff0c;简单的代码块的一些内容&#xff0c;后续会讲解在Java中的变量类型&…...

springmvc从请求到响应的流程分析

一、创建springmvc项目 通过网盘分享的文件&#xff1a;hello-springmvc.zip 链接: https://pan.baidu.com/s/1VmUHurgph661ND9LWqKhaw 提取码: b36a 二、从请求到响应流程 我们先画一下流程图&#xff0c;如下图所示。 三、源码解析 3.1 HttpServlet接收请求 用户发送htt…...

RabbitMQ 启动报错 “crypto.app“ 的解决方法

RabbitMQ 启动报错 “crypto.app” 的解决方法 在使用 RabbitMQ 时&#xff0c;有时会遇到启动报错的问题&#xff0c;其中一种常见的报错是&#xff1a; {"init terminating in do_boot",{error,{crypto,{"no such file or directory","crypto.app…...

idm 禁止自动更新提示(修改注册表)

目前版本&#xff1a;v 6.42 Bulid 35 运行-regedit- 计算机\HKEY_CURRENT_USER\SOFTWARE\DownloadManager 计算机\HKEY_CURRENT_USER\SOFTWARE\DownloadManagerLstCheck -> 0 重启...

LeetCode - 02.02.返回倒数第 k 个节点

目录 题目 解法一 双指针算法 原理 详细过程 为什么它有效&#xff1f; 时间复杂度与空间复杂度 代码 解法二 递归算法 核心思想 执行流程详解 具体例子 代码 题目 面试题 02.02. 返回倒数第 k 个节点 - 力扣&#xff08;LeetCode&#xff09; 解法一 双指针算…...

<c++>使用detectMultiScale的时候出现opencv.dll冲突

最近在试着弄一下opencv&#xff0c;看网上很多人都是的用的python&#xff0c;但是python跑起来没有c快&#xff0c;生成的qt工程也大一些&#xff0c;想着试试c看能不能生成opencv。然后就用到这个函数&#xff0c;detectMultiScale。 出现一个问题&#xff0c;就是我的程序在…...