大疆上云API基于源码部署
文章目录
- 大疆上云API基于源码部署
- 注意事项
- 1、学习官网
- 2、环境准备
- 注意事项
- 3、注册成为DJI开发者
- 4、下载前后端运行所需要的包/依赖
- 前端依赖
- 下载后端所需要的Maven依赖包
- 用到的软件可以在这里下载
- 5、MySQL数据库安装
- 安装MySQL
- 启动MySQL服务
- 在IDEA中配置MySQL的连接信息
- 6、Redis的安装
- 安装Redis
- 启动Redis
- Redis启动可能有问题的情况
- 在IDEA中配置自己的Redis连接信息
- 7、安装emqx
- 安装emqx
- 启动emqx
- 退出emqx
- 配置emqx允许匿名访问
- 开启Redis授权
- 在IDEA中配置emqx的连接信息
- 8、后端配置大疆上云API开发相关证书
- 9、启动后端
- 后端启动成功能正常运行可以发现有两个主题
- 后端启动成功后能正常运行发现没有那两个主题
- 10、修改启动前端配置
- 11、连接遥控器
大疆上云API基于源码部署
本篇文章,主要用于记录本人部署的过程,仅供学习使用,如果不妥之处,还望告知。其实部署过程官网也有,其实看官网(上云API (dji.com))也是能看得懂的,也挺详细的,我感觉大家看官网也没问题,能部署起来。相对与官网。我这里多了安装EMQX,Redis,MySQL的安装过程,只是我这个稍微详细了一点点而已,我把EMQX、Redis、MySQL的环境准备了一下,方便后面我直接使用而已。
注意事项
在配置ip地址的时候,一定要注意空格,千万不要在ip前多一个空格,否则就是启动了,运行的程序也没报错,然后登录就是报错,怎么样都登不上去。这个特别是SpringBoot中yml文件的缩进问题这个,我就是因为在ip前多了个空格,导致出现这个问题。无空格的192.168.1.1
和有空格的 192.168.1.1
是两回事。http:// 192.168.1.1
和 http://192.168.3.220
。也是一样的道理,ip配置的时候需要注意了。
1、学习官网
上云API (dji.com),大家可以直接看这里。
2、环境准备
需要的环境,根据官方文档的说明,上云API (dji.com),这个是官方要求的环境,不一定非要跟官方要求的环境一模一样。
本人电脑的环境如下所示:
- Windows 10 专业版
- Java版本:openJDK17,我这里为jdk-17.0.7版本
- MySQL版本:mysql-8.0.30-winx64绿色免安装版
- Redis版本:windows系统下的Redis-x64-3.2.100版本
- EMQX版本:windows系统下的emqx-5.3.2-windows-amd64版本
- Node.js版本:v18.16.0,使用Node这个版本内置的npm版本v9.5.1
- Intellij IDEA 2024.1.1版本,不一定非要用这个版本的IDEA,没有环境的可以直接去官网下载一个社区版免费版的都行,就使用社区免费版内置的Maven版本都可以。我试过了。
- Maven版本:使用的是IDEA内置的Maven版本,这里为Maven3.9.6版本,不一定非的是这个版本,只要能下载依赖,其他版本都可以,建议不要使用太老的版本,例如3.5版本的Maven建议不要用了。
注意事项
注意了,本文章中,说的ip是您自己电脑的ip地址。而不是就是192.168.1.1,我这里的ip地址刚好跟官网的192.168.1.1一样而已。windows系统下,自己电脑的ip地址,可以通过Win + R ,输入cmd。回车,然后输入ipconfig查看。
3、注册成为DJI开发者
上云API (dji.com),这里有说明,如何注册成为DJI开发者的过程,这里我们需要的是注册成为开发者的相关生成的license,就可以了。因为这个后续需要用到它的,不可或缺的。
4、下载前后端运行所需要的包/依赖
从这里https://developer.dji.com/doc/cloud-api-tutorial/cn/quick-start/environment-prepare-list.html下载克隆好对应的前后端代码之后,需要下载前后端运行所需要的包/依赖。
前端依赖
假设我的源码地址从git仓库中克隆下载在这里
然后输入
npm install
这里我的npm使用的是官方的镜像地址,并没有配置类似淘宝的镜像加速地址。
如果发现下载的时候在这个界面卡很久,要么是网络不够快。要么是下载过程中有一些问题,然后直接按两次CTRL + C或者按一次CTRL + C然后选择Y取消下载,重新npm install一下。等待依赖下载完成。然后发现报如下错误
npm WARN cleanup Failed to remove some directories [
npm WARN cleanup [
npm WARN cleanup 'D:\\projects\\dajiangshangyunapixuexi\\Cloud-API-Demo-Web\\node_modules\\has-ansi',
npm WARN cleanup [Error: EPERM: operation not permitted, rmdir 'D:\projects\dajiangshangyunapixuexi\Cloud-API-Demo-Web\node_modules\has-ansi'] {
npm WARN cleanup errno: -4048,
npm WARN cleanup code: 'EPERM',
npm WARN cleanup syscall: 'rmdir',
npm WARN cleanup path: 'D:\\projects\\dajiangshangyunapixuexi\\Cloud-API-Demo-Web\\node_modules\\has-ansi'
npm WARN cleanup }
npm WARN cleanup ],
npm WARN cleanup [
npm WARN cleanup 'D:\\projects\\dajiangshangyunapixuexi\\Cloud-API-Demo-Web\\node_modules\\eslint',
npm WARN cleanup [Error: EPERM: operation not permitted, rmdir 'D:\projects\dajiangshangyunapixuexi\Cloud-API-Demo-Web\node_modules\eslint\lib\rules\utils'] {
npm WARN cleanup errno: -4048,
npm WARN cleanup code: 'EPERM',
npm WARN cleanup syscall: 'rmdir',
npm WARN cleanup path: 'D:\\projects\\dajiangshangyunapixuexi\\Cloud-API-Demo-Web\\node_modules\\eslint\\lib\\rules\\utils'
npm WARN cleanup }
npm WARN cleanup ]
npm WARN cleanup ]
npm ERR! code ENOTFOUND
npm ERR! syscall getaddrinfo
npm ERR! errno ENOTFOUND
npm ERR! network request to https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz failed, reason: getaddrinfo ENOTFOUND registry.nlark.com
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\W541\AppData\Local\npm-cache\_logs\2024-09-03T04_44_36_086Z-debug-0.log
出现这个报错,大概率是版本问题,导致依赖下载无法完成,那就删除node_modules、package-lock.json、yarn.lock这三个文件,然后再npm install一下下载依赖。
npm install
如果发现还是卡在进度条那里,就取消本次下载,重新npm install,依赖下载完成了。
下载后端所需要的Maven依赖包
使用IDEA打开项目,也就是你的源码克隆下载的地方。
当右下角下载依赖的进度条小时时,说明依赖下载成功了。
用到的软件可以在这里下载
通过百度网盘分享的文件:文章需要用到的软件-可分享给他人.zip
链接:https://pan.baidu.com/s/1AFex3UjuX3e02m4ZDq0R2Q
提取码:8778
–来自百度网盘超级会员V5的分享
5、MySQL数据库安装
安装MySQL
如下图所示:直接复制解压这个绿色安装版的MySQL,在解压的时候不要有中文目录。
如这里,我把它解压到了
启动MySQL服务
进入bin目录
输入
mysqld --console
启动,MySQL服务。启动成功的界面如下图所示,这里注意了,这个窗口不要关闭。要保留着。
验证是否启动成功,登录MySQL。通过下图的方式打开一个新的窗口。
在窗口中输入
mysql -uroot -proot
回车登录MySQL,就可以看到大概如下图所示的MySQL了。
这个窗口可以关闭,现在可以使用MySQL的连接工具进行连接了。端口号是3306,用户名是:root,密码是:root。如我这里使用Navicat连接,这个Navicat现在已经有社区版了,直接去官网下载一个社区版就行了,这里只是导入数据而已。社区版能够支持这个功能。当然,这里您也可以使用MySQL相关的语句导入,我这里使用工具方便,还能直观看到数据表的信息。这个Navicat连接数据库这个过程就省略了,这个应该都会吧!
那么,这个数据在哪里呢?找到下载的后端代码,可以直接在IDEA中看。
创建MySQL连接
创建数据库完成之后,导入数据库表。
导入成功之后,就可以关闭了,然后在Navicat中F5刷新一下就可以了。
在IDEA中配置MySQL的连接信息
在IDEA中修改数据库的连接信息。
6、Redis的安装
安装Redis
启动Redis
出现如下窗口,说明启动成功了。注意这个窗口不能关闭,要保留着。
Redis启动可能有问题的情况
如果Redis正常启动了,可以直接忽略这一步!!!
如果Redis正常启动了,可以直接忽略这一步!!!
如果Redis正常启动了,可以直接忽略这一步!!!
这里有一个需要注意的事项,就是如果EMQX先启动了,并且开启了Redis授权,具体看标题7安装EMQX。那么启动Redis会失败。这因为EMQX启动之后,是可以关闭命令窗口的的,然后有忘记停止EMQX时,在没有关机的情况下,下次进行代码运行的时候,EMQX有没有关闭,就会造成Redis怎么都启动不了,因为开启了Redis授权。至于怎么关闭EMQX,具体看标题7安装EMQX。关闭之后再启动。如果这样还是启动不了,那就是Redis的端口号被占用了,可以检查一下Redis的端口号是否被占用了,在Windows中,你可以使用netstat和taskkill命令来查找并杀死占用特定端口的进程。
按住键盘的Win + R建,然后输入cmd,打开命令提示符。
或者通过鼠标点击win图标,直接搜索cmd。这里怎么打开命令窗口不重要,只要能打开命令窗口就行了。
使用netstat命令查找特定端口的进程ID(PID):
netstat -ano | findstr :你的端口号
这将列出所有与指定端口相关的连接,包括PID。
使用taskkill命令杀死相应的进程:
taskkill /F /PID 该进程的PID
这里的/F参数用于强制杀死进程,/PID后跟进程的PID。
下面是一个实际的例子,假设我们要杀死占用端口8080的进程:
netstat -ano | findstr :6379
假设输出显示PID为4980。
taskkill /F /PID 4980
这样就会强制杀死占用端口4980的进程。
如果是先启动了EMQX时查询Redis端口号
这里还有需要注意的是,如果通过这种方式停止Redis。即使你启动了EMQX,也会查出EMQX的进程,然后通过同样的方式结束EMQX的进程,所以就可以按照后面的步骤一步一步走下去了。
在IDEA中配置自己的Redis连接信息
注意上面的窗口不能关闭,在IDEA中配置自己的Redis连接信息。
7、安装emqx
安装emqx
启动emqx
打开命令窗口,然后输入
emqx start
退出emqx
这个窗口关闭它都可以,因为emqx start这个命令,运行之后,会以程序的方式运行,可以在任务管理器中找到它。可以直接在任务管理器这里右键结束程序退出emqx。或者使用命令emqx stop
。退出程序。
注意了,是启动成功之后!启动成功之后!启动成功之后!并没有执行退出命令或者在任务管理器中结束了它。然后,浏览器访问:http://localhost:18083/,会出现一个登录页面,用于登录emqx的。用户名是:admin,密码是:public。
配置emqx允许匿名访问
这里为什么要配置这个,是因为尽量较少改动源代码,能够让上云API成功运行起来。在emqx4.4+的版本中,是不需要这一步配置的,因为在这个emqx4.4.0+这个大版本中,默认就设置了允许匿名访问了。但是在emqx5.1+以后的版本中,这个可以通过界面设置,将emqx改成允许匿名访问。一般默认就是允许匿名访问的。所以也不用改啥,看这里只是为了保证是否已经是匿名访问了而已。
开启Redis授权
由于大疆上云API的1.10.0版本,这里添加了Redis相关的授权。所以这里建议开启。Redis相关的授权。其实这里我刚开始没有开启这个授权的,然后也能正常连接无人机。(如下图所示)只不过主题和订阅数是十几个,然后我开启了Redis授权之后,正常连接无人机就有二十几个主题和订阅数了。但是好像也不影响使用,具体还需后续测试。这里刚开始的时候建议开启Redis授权!!!
那么如何开启Redis授权呢?请看下面的截图说明。
启用Redis授权的情况下,需要保证Redis服务是启动着的。
创建成功之后,可以发现多了一个Redis授权。
在IDEA中配置emqx的连接信息
8、后端配置大疆上云API开发相关证书
根据官方文档,这里配不配置,都是可以的。建议还是配置一下吧。这里只是我这里示例的ID,具体的要换成你们自己申请的ID。
9、启动后端
启动之后发现报如下所示的错误
***************************
APPLICATION FAILED TO START
***************************Description:Failed to bind properties under 'livestream.url.gb28181.local-port' to java.lang.Integer:Property: livestream.url.gb28181.local-portValue: "Please enter the local port."Origin: class path resource [application.yml] - 166:18Reason: failed to convert java.lang.String to @javax.validation.constraints.NotNull java.lang.Integer (caused by java.lang.NumberFormatException: For input string: "Pleaseenterthelocalport.")Action:Update your application's configuration
从,报错信息可以看出,某个字段不是整数的形式,所以才导致报错的。解决办法如下所示,要么改成整数的形式,要么直接注释掉它们。
如我这里改成了整数之后,这个整数不能跟上面MySQL、Redis、mqtt这里端口号冲突,要保证唯一性。
运行,发现还是报通用样的错误,只不过这是报另一个字段的错误了。
***************************
APPLICATION FAILED TO START
***************************Description:Failed to bind properties under 'livestream.url.gb28181.server-port' to java.lang.Integer:Property: livestream.url.gb28181.server-portValue: "Please enter the server port."Origin: class path resource [application.yml] - 162:19Reason: failed to convert java.lang.String to @javax.validation.constraints.NotNull java.lang.Integer (caused by java.lang.NumberFormatException: For input string: "Pleaseentertheserverport.")Action:Update your application's configuration
如我这里改成了整数之后,这个整数不能跟上面MySQL、Redis、mqtt这里端口号冲突,要保证唯一性。运行就成功了,啥报错都没有。
后端启动成功能正常运行可以发现有两个主题
然后访问emqx的页面:http://localhost:18083/,可以发现。有两个主题了。
后端启动成功后能正常运行发现没有那两个主题
如果有上面描述的那两个主题,可以直接忽略这一步!!!
如果有上面描述的那两个主题,可以直接忽略这一步!!!
如果有上面描述的那两个主题,可以直接忽略这一步!!!
这里会遇到一个问题,如果后端配置的mqtt的ip地址不正确、mqtt没有启动或者mqtt没有开启匿名访问配置的用户名和密码不对的情况下,后端也是保持这运行状态的,也就是说后端并没有直接结束运行,还是保持着运行状态,这时就有可能是,后端已经运行起来了,但是EMQX的页面,就是没有上面说的那两个主题,说明后端与mqtt的连接失败了!!!
10、修改启动前端配置
我这里使用了Vscode打开它
修改保存好之后,运行
npm run serve
运行成功之后,访问:http://localhost:8080/project。
点击登录,成功进入界面之后,说明登录成功了。
到此,基于源码的本地部署已经完成了,接下来就是连接遥控器了。
11、连接遥控器
从这官方文档https://developer.dji.com/doc/cloud-api-tutorial/cn/quick-start/source-code-deployment-steps.html 的Pilot 2登录程序这个标题开始看。
相关文章:
大疆上云API基于源码部署
文章目录 大疆上云API基于源码部署注意事项1、学习官网2、环境准备注意事项3、注册成为DJI开发者4、下载前后端运行所需要的包/依赖前端依赖下载后端所需要的Maven依赖包 用到的软件可以在这里下载5、MySQL数据库安装安装MySQL启动MySQL服务在IDEA中配置MySQL的连接信息 6、Red…...
【Python系列】Python 中使用 pymysql 连接 MySQL 数据库进行数据查询
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
【数据结构学习笔记】19:跳表(Skip List)
介绍 跳表是一个能在 O ( n l o g n ) O(nlogn) O(nlogn)时间完成查找、插入、删除的数据结构,相比于树形结构优点就是很好写(所以也用于实现Redis ZSet)。其核心思想就是维护一个元素有序的,能随机提升索引层数的链表。最下面一…...
《计算机网络》课后探研题书面报告_网际校验和算法
网际校验和算法 摘 要 本文旨在研究和实现网际校验和(Internet Checksum)算法。通过阅读《RFC 1071》文档理解该算法的工作原理,并使用编程语言实现网际校验和的计算过程。本项目将对不同类型的网络报文(包括ICMP、TCP、UDP等&a…...
【论文阅读+复现】High-fidelity Person-centric Subject-to-Image Synthesis
以人物为中心的主体到图像的高保真合成,CVPR2024 code:CodeGoat24/Face-diffuser: [CVPR2024] Official implementation of High-fidelity Person-centric Subject-to-Image Synthesis. paper:2311.10329 背景 研究问题:这篇文…...
Flink集成TDEngine来批处理或流式读取数据进行流批一体化计算(Flink SQL)拿来即用的案例
Flink 以其流批一体化的编程模型而备受青睐。它支持高吞吐、低延迟的实时流计算,同时在批处理方面也表现出色。Flink 提供了丰富的 API,如 DataStream API 和 DataSet API,方便开发者进行数据处理操作,包括转换、聚合、连接等,使得开发者能够轻松构建复杂的数据处理逻辑。…...
Zookeeper特性与节点数据类型详解
1、 Zookeeper介绍 ZooKeeper 是一个开源的分布式协调框架,是Apache Hadoop 的一个子项目,主要用来解决分布式集群中应用系统的一致性问题。Zookeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集…...
C# HslCommunication库
C# HslCommunication库是一个用于建立TCP连接并进行Modbus通讯的库。下面将详细介绍如何使用该库进行TCP通讯。 首先,需要在C#项目中引用HslCommunication库。 创建一个TCP连接对象,可以使用HslCommunication.ModBus.ModbusTcpNet类,例如&am…...
springMVC实现文件上传
目录 一、创建项目 二、引入依赖 三、web.xml 四、编写上传文件的jsp页面 五、spring-mvc.xml 六、controller 七、运行 一、创建项目 二、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.o…...
【深度学习】Windows系统Anaconda + CUDA + cuDNN + Pytorch环境配置
在做深度学习内容之前,为GPU配置anaconda CUDA cuDNN pytorch环境,在网络上参考了很多帖子,但pytorch的安装部分都有些问题或者比较复杂繁琐,这里总结了相对简单快速的配置方式 文章目录 AnacondaCUDAcuDNNpytorchtorchtorchau…...
springboot整合rabbitmq
1. 添加依赖 首先,在你的 pom.xml 文件中添加 RabbitMQ 的依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId> </dependency> 2. 配置 RabbitMQ …...
【React】脚手架进阶
目录 暴露webpack配置package.json的变化修改webpack.config.js配置less修改域名、端口号浏览器兼容处理处理跨域 暴露webpack配置 react-scripts对脚手架中的打包命令进行封装,如何暴露这些打包配置呢?上篇写到在package.json中的scripts配置项中有eje…...
Unreal Engine 5 (UE5) Metahuman 的头部材质
在图中,你展示了 Unreal Engine 5 (UE5) Metahuman 的头部材质部分,列出了头部材质的多个元素。以下是对每个部分的解释: 材质解释 Element 0 - MI_HeadSynthesized_Baked 作用: 这是 Metahuman 的主要头部材质,控制整…...
当自动包布机遇上Profinet转ModbusTCP网关,“妙啊”,工业智能“前景无限
在自动化控制技术日新月异的当下,Profinet与ModbusTCP这两种协议在工业通信领域占据着举足轻重的地位。ModbusTCP是基于以太网的串行通信协议,而Profinet则是依托工业以太网的现场总线协议。它们在数据传输速度、实时性表现以及兼容性等方面各具特色。不…...
Elasticsearch 批量导入数据(_bluk方法)
官方API:https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html 建议先看API POST /<索引名>/_bulk 格式要求: POST _bulk { "index" : { "_index" : "test", "_id" : &q…...
lammps应用于热电材料
文章目录 1.热传导理论1.热导率2.晶格振动3.晶体热容4.声子平均自由程5.傅里叶定律 2.lammps计算Ar热导率3.lammps模拟SiGe热电材料4.平衡分子动力学(EMD) 1.热传导理论 1.热导率 热传递机制随介质材料相的不同而改变:固体(热传导)、液体(热对流)、气体(对流和辐射…...
SAP资产盘盈盘亏的过账处理、入账价值错误调整、资产减值准备
文章目录 一、SAP资产盘盈盘亏处理1、ABNAN盘盈 (往年资产) ABZON (当年资产)2、ABAVN盘亏 二、资产价值入账错了(价值多了或少了),怎么调账1、价值少了2、价值多了 三、资产减值准备1、启用重估2、指定间隔…...
Adobe与MIT推出自回归实时视频生成技术CausVid。AI可以边生成视频边实时播放!
传统的双向扩散模型(顶部)可提供高质量的输出,但存在显著的延迟,需要 219 秒才能生成 128 帧的视频。用户必须等待整个序列完成才能查看任何结果。相比之下CausVid将双向扩散模型提炼为几步自回归生成器(底部ÿ…...
MYSQL学习笔记(一):准备数据和数据库的最基本命令
前言: 学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇,涵盖入门、进阶、高级(一些原理分析);这一篇是入门准备数据和一些关于数据库的操作命令;虽然MYSQL命令很多&…...
求矩阵不靠边元素之和(PTA)C语言
求矩阵的所有不靠边元素之和,矩阵行的值m从键盘读入(2<m<10),调用自定义函数Input实现矩阵元素从键盘输入,调用Sum函数实现求和。(只考虑float型,且不需考虑求和的结果可能超出float型能表示的范围)。 函数接口定义&#x…...
仿infobip模板功能-可通过占位符配置模板内容
模仿infobip制作的模板功能,正文可在任意位置加参数的功能。如下图所示:在正文中通过{{\d}}进行占位,在使用模板时,可在此位置自定制内容,并预览效果。 代码: <template><div class"templa…...
STM32第6章、WWDG
一、简介 WWDG:全称Window watchdog,即窗口看门狗,本质上是一个能产生系统复位信号和提前唤醒中断的计数器。 特性: 是一个递减计数器。 看门狗被激活后, 当递减计数器值从 0x40减到0x3F时会产生复位(即T6位…...
没有正确使用HTTP Range Request,导致访问Azure Blob存储的视频没有实现流式播放
引文: 组里的小伙伴在修改视频播放相关的代码,修改之前的方案使用CDN转发,可以实现流式播放,修改之后的代码因为没有正确的使用Http Range Request, 导致画面访问Azure Blob存储的视频没有实现流式播放,整理下线索在这…...
React中Fiber树构建过程详解——react中render一个App组件(包含子组件)的流程详解
在 React 中,渲染一个包含子组件的组件涉及一系列底层流程,包括构建虚拟 DOM(React Element)、协调(Reconciliation)、Fiber 树管理和最终的 DOM 操作。以下是一个从底层解析的详细流程: 1. 初始…...
机器学习赋能的智能光子学器件系统研究与应用
在人工智能与光子学设计融合的背景下,科研的边界持续扩展,创新成果不断涌现。从理论模型的整合到光学现象的复杂模拟,从数据驱动的探索到光场的智能分析,机器学习正以前所未有的动力推动光子学领域的革新。据调查,目前…...
晨辉面试抽签和评分管理系统之七:面试成绩核算的三种方式
晨辉面试抽签和评分管理系统(下载地址:www.chenhuisoft.cn)是公务员招录面试、教师资格考试面试、企业招录面试等各类面试通用的考生编排、考生入场抽签、候考室倒计时管理、面试考官抽签、面试评分记录和成绩核算的面试全流程信息化管理软件。提供了考生…...
语音合成的预训练模型
语音合成的预训练模型 与 ASR(语音识别)和音频分类任务相比,语音合成的预训练模型检查点明显较少。在 Hugging Hub 上,可以找到近 300 个适合的检查点。 在这些预训练模型中,重点关注两种在 Huggingface Transformers 库中开箱即用的架构——SpeechT5 和 Massive Multili…...
Windows怎么搭建rust环境?
在Windows上搭建Rust开发环境相对简单,主要步骤如下: ### 1. 安装Rust 最简单的方法是使用官方提供的安装脚本。打开命令提示符(Command Prompt)或PowerShell,然后运行以下命令来下载并安装Rust: bash cu…...
【Flink】Flink内存管理
Flink内存整体结构图: JobManager内存管理 JVM 进程总内存(Total Process Memory)Flink总内存(Total Flink Memory):JVM进程总内存减去JVM Metaspace(元空间)和JVM Overhead(运行时开销)上图解释: JVM进程总内存为2G;JVM运行时开销(JVM Overh…...
React方向:react中5种Dom的操作方式
1、通过原生JS获取Dom去操作 通过document.querySelector(#title)原生js的方式去拿到dom节点,然后去进行操作。 import {Component} from "react";class App extends Component {//定义获取Dom的函数handleGetDom(){let title document.querySelector(#t…...
K8s数据存储之详解(Detailed Explanation of K8s Data Storage)
K8s数据存储相关概念详解(临时存储,节点存储,网络存储,PV/PVC) 本篇文章分享一下存储卷和数据持久化的相关概念: 存储卷概述 临时存储卷(Ephemeral Volumes) 节点存储卷ÿ…...
PyTorch 中的 Dropout 解析
文章目录 一、Dropout 的核心作用数值示例:置零与缩放**训练阶段****推理阶段** 二、Dropout 的最佳使用位置与具体实例解析1. 放在全连接层后2. 卷积层后的使用考量3. BatchNorm 层与 Dropout 的关系4. Transformer 中的 Dropout 应用 三、如何确定 Dropout 的位置…...
计算机网络 (41)文件传送协议
前言 一、文件传送协议(FTP) 概述: FTP(File Transfer Protocol)是互联网上使用得最广泛的文件传送协议。FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码࿰…...
AOSP 14及以上userdebug无法调试的问题
参考链接:原文...
【Vue】点击侧边导航栏,右侧main对应显示
需求:点击侧边导航栏,右侧main对应显示 通过v-if或v-show等指令来控制不同内容的显示隐藏来实现 注意: 使用v-if时候进行导航栏切换,右侧显示区域可能会出现样式错乱;使用v-show则不会出现此错误 <template>&…...
Python Selenium 库学习指南
Python Selenium 库学习指南 目录 Selenium 基础介绍 Selenium 是什么安装 SeleniumSelenium 的工作原理 Selenium 基本用法 启动浏览器定位元素常见操作:点击、输入、滚动 高级用法 切换窗口与标签页模拟鼠标操作与键盘输入动态加载的网页处理 等待机制 显式等待…...
如何解决Webview和H5缓存问题,确保每次加载最新版本的资源
WebView 用于加载 H5 页面是常见的做法,它能够加载远程的 HTML、CSS、JavaScript 资源,并且让 Web 应用嵌入到原生 App 中。然而,WebView 的缓存机制有时会导致用户看到的是旧版本的页面或资源,尤其是在 H5 发版后,iOS…...
costmap 中点与多边形的相对位置关系
一、背景 近期在阅读move_base源码costmap部分(感觉想玩转movebase导航,costmap必须理解呀)。读到两处点与多边形的相对位置关系。在此总结一下,分别是: intersects: 利用待测点向右引出的射线与多边形的交点数来确定相对位置。有的称 射线交叉算法&am…...
C#与Vue2上传下载Excel文件
1、上传文件流程:先上传文件,上传成功,返回文件名与url,然后再次发起请求保存文件名和url到数据库 前端Vue2代码: 使用element的el-upload组件,action值为后端接收文件接口,headers携带session信…...
.NetCore 使用 NPOI 读取带有图片的excel数据
在.NetCore使用NPOI插件进行批量导入时,获取Excel中的所有的图片数据,存到集合中。 1.定义类PictureData 代码如下: public class PictureData { public byte[] Data { get; set; } } 2.数据集引用 using NPOI.XSSF.UserModel; usin…...
鸿蒙打包发布
HarmonyOS应用/元服务发布(打包发布) https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/ide-publish-app-V13?catalogVersionV13 密钥:包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,格式…...
C++并发编程之跨应用程序与驱动程序的单生产者单消费者队列
设计一个单生产者单消费者队列(SPSC队列),不使用C STL库或操作系统原子操作函数,并且将其放入跨进程共享内存中以便在Ring3(用户模式)和Ring0(内核模式)之间传递数据,是一…...
22、PyTorch nn.Conv2d卷积网络使用教程
文章目录 1. 卷积2. python 代码3. notes 1. 卷积 输入A张量为: A [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ] \begin{equation} A\begin{bmatrix} 0&1&2&3\\\\ 4&5&6&7\\\\ 8&9&10&11\\\\ 12&13&14&15 \end{b…...
智汇云舟参编《城市轨道交通安全防范系统技术要求》国标正式发布
近日,根据国家标准化管理委员会官网,全国标准信息公共服务平台发布的公告,国家标准《城市轨道交通安全防范系统技术要求》(GB/T 26718-2024)已由全国城市轨道交通标准化技术委员会上报国家标准化管理委员会,…...
C# 数据拟合教程:使用 Math.NET Numerics 的简单实现
C# 数据拟合实战:使用 Math.NET Numerics 快速实现 引言 在科学计算、工程建模或数据分析中,数据拟合是一个非常重要的技术。无论是线性拟合还是非线性拟合,借助适当的工具都可以快速解决问题。本文将向您展示如何使用 C# 和强大的数值计算…...
WEB攻防-通用漏洞_XSS跨站_权限维持_捆绑钓鱼_浏览器漏洞
目录 XSS的分类 XSS跨站-后台植入Cookie&表单劫持 【例1】:利用beef或xss平台实时监控Cookie等凭据实现权限维持 【例2】:XSS-Flash钓鱼配合MSF捆绑上线 【例3】:XSS-浏览器网马配合MSF访问上线 XSS的分类 反射型(非持久…...
瑞芯微 RK 系列 RK3588 使用 ffmpeg-rockchip 实现 MPP 视频硬件编解码-代码版
前言 在上一篇文章中,我们讲解了如何使用 ffmpeg-rockchip 通过命令来实现 MPP 视频硬件编解码和 RGA 硬件图形加速,在这篇文章,我将讲解如何使用 ffmpeg-rockchip 用户空间库(代码)实现 MPP 硬件编解码。 本文不仅适…...
MySQL数据库(SQL分类)
SQL分类 分类全称解释DDLData Definition Language数据定义语言,用来定义数据库对象(数据库,表,字段)DMLData Manipulation Language数据操作语言,用来对数据库表中的数据进行增删改DQLData Query Languag…...
SpringBoot-Day1
1.Springboot入门 创建Maven工程 导入spring-boot-stater-web起步依赖 编写Controller 提供启动类 2.yml配置信息书写与获取 书写 # 发件人信息 email:user: 172349823457qq.comcode: sajdajlwhjfgfkllwhost: smtp.qq.comauth: true # 学生爱好 hobbies:- 打篮球- 踢…...
【JavaScript】基础内容,HTML如何引用JavaScript, JS 常用的数据类型
HTML 嵌入 Javascript 的方式 引入外部 js 文件 <head> <script Language "javaScript" src"index.js"/> </head>内部声明 <head> <script language"javascript">function hello(){alert("hello word&qu…...