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

帕金森病(PD)诊断:三种基于语音的深度学习方法

        帕金森病(Parkinson’s disease, PD)是世界上第二大流行的神经退行性疾病,全球影响着超过1000万人,仅次于阿尔茨海默症。人们通常在65岁左右被诊断出患有此病。PD的一些症状包括震颤、肌肉僵硬和运动迟缓。这些症状往往出现在较晚的阶段,使得仅基于这些症状的早期诊断变得困难。PD可以影响语音产生的各个方面,包括发音、声音的音调和响度、韵律以及声音的质量,导致语音障碍特征表现为声音嘶哑(dysphonia)和言语障碍(dysarthria)。声音嘶哑意味着产生声音的能力降低,而言语障碍指的是产生单词的困难。这些语音障碍可能在其他症状出现前长达五年就已发生,表明早期PD诊断实际上是可能的。

       在前面已经有2篇文章针对帕金森病(PD)诊断进行了阐述,有兴趣的朋友可以直接翻阅以下链接:

首次使用回声状态网络 (ESN) 和语音特征进行帕金森病 (PD) 预测

PPINtonus (深度学习音调分析)帕金森病早期检测系统

     本文研究分析了三种基于语音的深度学习方法(端到端学习 (E2E) 、迁移学习 (Transfer Learning, TL) 、深度声学特征 (Deep Acoustic Features, DAF)),讲述各学习方法的性能、挑战及应用情况。

1 端到端学习(E2E)

在E2E方法中,原始语音信号可以直接映射到最终输出,与传统的基于高斯混合模型(GMMs)和隐马尔可夫模型(HMMs)的语音识别流程不同。在传统方法中,必须提取手工设计的特征(如梅尔频率倒谱系数MFCCs),然后使用语言模型将这些特征映射到文本符号,最后进行分类。E2E方法避免了手动特征提取,允许模型学习从输入到输出的直接映射。

1.1 E2E 学习的优势

  • 自动特征提取:E2E 学习可以自动从语音信号中提取具有区分性的特征,无需手动设计特征工程,节省了时间和精力。
  • 减少错误累积:E2E 学习避免了手动特征提取过程中可能出现的错误,例如特征选择不当或特征提取方法不适用等,从而提高了分类的准确率。
  • 模型优化:E2E 学习可以端到端地优化模型参数,使得模型能够更好地学习数据中的规律,并提高分类性能。

1.2 E2E 学习的挑战

  • 数据需求量大:E2E 学习需要大量的训练数据来训练模型,而 PD 语音数据集相对较小,这限制了模型的训练效果和泛化能力。
  • 模型复杂度高:E2E 模型通常比较复杂,需要大量的计算资源进行训练和推理,这增加了模型的部署难度。
  • 可解释性差:E2E 模型的决策过程难以解释,难以理解模型是如何进行分类的,这限制了模型的实际应用。

1.3 E2E 学习在 PD 语音分类中的应用

  • CNN 架构:卷积神经网络 (CNN) 是 E2E 学习中最常用的模型架构之一,它可以有效地学习语音信号中的局部特征,例如声谱图中的频谱特征。
  • LSTM 架构:长短期记忆网络 (LSTM) 可以有效地学习语音信号中的长期依赖关系,例如音节的时序特征。
  • Transformer 架构:Transformer 架构在自然语言处理领域取得了突破性的成果,近年来也被应用于语音信号处理领域,并展现出强大的潜力。

2 迁移学习 (Transfer Learning, TL)

TL方法通过利用在一个大型数据库上预训练的深度神经网络(DNN),然后将这些网络应用到另一个通常数据量较小的任务上。这种方法可以解决数据可用性问题,因为它允许模型利用在源领域学到的知识来提高在目标领域的性能。特别是跨语言的TL方法,已被证明可以增强诊断系统的稳健性,并在不同语言之间提高适用性。

2.1 迁移学习的优势

  • 解决数据稀缺问题:PD 语音数据集通常规模较小,难以训练大型深度学习模型。
  • TL 允许我们利用在其他大规模语音数据集(如 ImageNet)上预训练的模型,并将其迁移到 PD 语音数据集上进行微调。这样可以显著减少对大量标注数据的依赖,并提高模型的泛化能力。
  • 跨语言应用:不同语言之间存在差异,例如发音、语调等。TL 可以帮助我们将在一个语言上训练好的模型迁移到另一个语言上,从而实现跨语言 PD 分类。
  • 这对于开发通用的 PD 诊断系统具有重要意义,可以方便不同语言人群使用。
  • 提高模型性能:通过迁移学习,模型可以学习到更通用的特征,从而提高在目标语言或任务上的性能。一些研究表明,使用 TL 的模型在 PD 分类任务中取得了比仅使用目标语言数据训练的模型更好的性能。

2.2 迁移学习的挑战

  • 如何选择合适的基础模型和微调策略。
  • 如何处理不同语言之间的差异。
  • 如何评估 TL 模型的性能。

3 深度声学特征 (Deep Acoustic Features, DAF)

DAF方法旨在通过使用深度学习模型从音频信号中自动提取特征,来提高结果的可解释性和解释性。这些特征可以在深度学习模型的最后层中使用,也可以用作更传统机器学习方法的输入。尽管DAF方法可能在性能上不如E2E和TL方法,但它们通过检查深度特征对PD分类的影响,提供了对模型决策过程的更多洞察。

3.1 DAF 的提取方式

  • 从端到端 (E2E) 模型中学习: 将原始语音信号输入 E2E 模型,例如卷积神经网络 (CNN) 或 Transformer,模型会自动学习并提取特征,并在最终层进行分类。
  • 使用预训练模型: 使用已经在大规模数据集上预训练的模型,例如 Wav2Vec2.0、VGGish 或 SoundNet,生成 DAF。
  • 使用自编码器: 使用自编码器学习并提取音频信号的低维表示,作为 DAF。

3.2 DAF 的优势

  • 无需手动特征工程: DAF 的提取过程完全自动化,无需手动设计特征,节省了时间和精力。
  • 更鲁棒: DAF 能够更好地捕捉音频信号中的细微变化,对噪声和说话人差异更鲁棒。
  • 更抽象: DAF 能够捕捉到更高层次的特征,例如说话人的语音风格、语调等,这些特征对 PD 诊断更有价值。

3.3 DAF 的挑战

  • 解释性差: 由于 DAF 是自动学习的,其背后的原理和特征含义难以解释,这限制了 DAF 在临床应用中的推广。
  • 性能不如 E2E 和 TL: 目前 DAF 的性能通常不如 E2E 和迁移学习 (TL) 方法,这可能是因为 DAF 缺乏对特定任务的针对性。

4 实际应用情况

  • E2E 学习: CNN 架构通常可以达到 90% 以上的准确率,Transformer 架构也展现出与 CNN 相当的性能。
  • TL: TL 方法通常可以达到 60% 到 90% 的准确率,跨语言 TL 可以进一步提高准确率。
  • DAF: DAF 方法可以达到 87% 以上的准确率,并且比传统特征(如 MFCC)表现更好。

5 数据集

数据集名称(年份)

来源 #参与者

语言

总语音时长

数据质量

语音任务

备注

Saarbruecken Voice Database (2006)

1002参与者

德语

±300分钟

麦克风录音

1. 正常、高和低音的元音(i, a, u)。2. 音高变化的元音(i, a, u)。3. "Guten Morgen, wie geht es Ihnen?"句子。

851名健康对照组(HC),平均年龄9-84岁。

PC-GITA (2014)

100

西班牙语

±900分钟

麦克风录音

1. 持续元音。2. 快速重复单词和音节(DDK)。3. 单词和句子的重复。4. 对话阅读。5. 强调特定单词的句子阅读。

50名PD患者,平均年龄33-77岁。

Parkinson Speech Dataset with Multiple Types of Recordings (2014)

68 (40训练,28测试)

土耳其语

未提供

麦克风录音

1. 持续元音(/a/, /o/, /u/)。2. 数字(1到10)。3. 单词。4. 短句。

20名PD患者,平均年龄43-79岁。

Italian Parkinson’s Voice and Speech (2017)

65

意大利语

±116分钟

麦克风录音

1. 阅读语音平衡文本。2. 发音/pa/和/ta/音节。3. 元音/a/, /e/, /i/, /o/和/u/的音调。4. 阅读语音平衡单词。5. 阅读语音平衡句子。

28名PD患者,平均年龄40-89岁。

Parkinson’s Disease Classification (2018)

252

土耳其语

未提供

麦克风录音

持续元音/a/。

188名PD患者,平均年龄33-87岁。

Synthetic Vowels of Speakers with Parkinson’s Disease and Parkinsonism (2019)

83

捷克语

±385分钟

麦克风录音

持续元音/a/和/i/。

22名PD患者,21名多系统萎缩(MSA)患者,18名进行性核上性麻痹(PSP)患者,22名健康对照组。

NeuroVoz (2024)

108

西班牙语

±106分钟

麦克风录音

1. 持续元音3秒。2. DDK 10秒。3. 听后重复的语句。4. 自由独白30秒。

53名PD患者,平均年龄71.13岁。55名健康对照组,平均年龄64.04岁。

相关文章:

帕金森病(PD)诊断:三种基于语音的深度学习方法

帕金森病(Parkinson’s disease, PD)是世界上第二大流行的神经退行性疾病,全球影响着超过1000万人,仅次于阿尔茨海默症。人们通常在65岁左右被诊断出患有此病。PD的一些症状包括震颤、肌肉僵硬和运动迟缓。这些症状往往出现在较晚…...

【资料分享】2024钉钉杯大数据挑战赛A题思路解析+代码演示

2024第三届钉钉杯大学生大数据挑战赛今天已经开赛,【A题】思路解析代码,资料预览:...

【优质精选】12节大模型系列教学课程之二:RAG 原理与应用

课程二:RAG 原理与应用 12节大模型系列教学课程之二:RAG 原理与应用 课程详细内容RAG 技术的基础知识RAG 的工作原理RAG 提高生成质量和准确性的原理RAG 在问答系统中的应用RAG 在文本创作中的应用RAG 在其他领域的应用探索RAG 技术的挑战与应对策略RAG …...

vue3前端开发-小兔鲜项目-产品详情基础数据渲染

vue3前端开发-小兔鲜项目-产品详情基础数据渲染!这一次内容比较多,我们分开写。第一步先完成详情页面的基础数据的渲染。然后再去做一下右侧的热门产品的列表内容。 第一步,还是老规矩,先准备好接口函数。方便我们的页面组件拿到对…...

Docker入门指南:Linux系统下的完整安装步骤与常见问题解答

本文以centos7演示。 Docker安装 可参考官方安装文档:Install Docker Engine on CentOS | Docker Docs 一图流: # 移除旧版本docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logro…...

Netty实现数据上下行

Netty实现数据上下行 使用LVSNGinxNetty实现数据接入 在数据上行的时候,通过使用车辆唯一标识码(vin)和连接通道绑定 Netty一些配置参数如下: #netty项目使用的端口 server.port8017 #使用启用epoll(在Linux上拥有更好的传输性…...

【React】事件绑定:深入解析高效处理用户交互的最佳实践

文章目录 一、什么是事件绑定?二、基本事件绑定三、绑定 this 上下文四、传递参数五、事件对象六、事件委托七、常见事件处理八、优化事件处理 React 是现代前端开发中最受欢迎的框架之一,其组件化和高效的状态管理能力使得构建复杂的用户界面变得更加容…...

SpringCloud:使用OpenFeign优化前面的Nacos实现高效购物车商品信息处理

在现代电商系统中,购物车的性能直接影响用户的购物体验。为了提升系统性能和用户满意度,我们可以使用Spring Cloud的OpenFeign和负载均衡器来高效地处理购物车中的商品信息。本文将详细介绍如何在Spring Cloud中集成这些组件,并实现一个高效的…...

计算机三级嵌入式笔记(二)——嵌入式处理器

目录 考点1 嵌入式处理器的结构类型 考点2 嵌入式处理器简介 考点3 ARM处理器概述 考点4 处理器和处理器核 考点5 ARM 处理器的分类 考点6 经典 ARM 处理器 考点7 ARM Cortex 嵌入式处理器 考点8 ARM Cortex实时嵌入式处理器 考点9 ARM Cortex 应用处理器 考点10 AR…...

【GoLang】Golang 快速入门(第一篇)

目录 1.简介: 2.设计初衷: 3.Go语言的 特点 4.应用领域: 5.用go语言的公司: 6. 开发工具介绍以及环境搭建 1.工具介绍: 2.VSCode的安装: 3.安装过程: 4.Windows下搭建Go开发环境--安装和配置SDK 1.搭建Go开发环境 - 安装…...

Linux中的三类读写函数

文件IO和标准IO的区别 遵循标准: 文件IO遵循POSIX标准,主要在类UNIX环境下使用。标准IO遵循ANSI标准,具有更好的可移植性,可以在不同的操作系统上重新编译后运行。可移植性: 文件IO的可移植性相对较差,因为…...

MATLAB基础应用精讲-【数模应用】二元Probit回归分析

目录 前言 知识储备 二元Logistic模型和Probit模型 Logistic模型的形式 Probit模型 优势比(OR) 准二项分布族 算法原理 数学模型 二元因变量和线性概率模型 probit和logit回归 logit和probit模型的估计和推断 稳健性检验 二元logit回归分析全流程 一、案例数…...

找工作准备刷题Day10 回溯算法 (卡尔41期训练营 7.24)

回溯算法今天这几个题目做过,晚上有面试,今天水一水。 第一题:Leetcode77. 组合 题目描述 解题思路 从题目示例来看,k个数是不能重合的,但是题目没有明确说明这一点。 使用回溯算法解决此问题,利用树形…...

如何有效的进行小程序的优化

如今小程序已经成为了许多开发者开展业务,提供服务的重要平台 。所以如何有效的优化小程序成为了开发者关注的首要问题,以下是一份详细的小程序优化方案: 一、目标设定 明确小程序优化的主要目标,例如提高用户留存率、增加用户活…...

FPGA-ROM IP核的使用(2)

前言 接着昨天的进行一个小的实验验证ROM IP核。 实验效果 读取上一期生成的IP核中的数据,并将其显示在数码管上。 具体流程 ROM IP核存放数据0~255,之后每隔0.2s,从0的地址开始读数据,并显示在数码管上;接着先后…...

Manticore Search(es轻量级替代)

概念: Manticore Search 是一个使用 C 开发的高性能搜索引擎,创建于 2017 年,其前身是 Sphinx Search 。Manticore Search 充分利用了 Sphinx,显着改进了它的功能,修复了数百个错误,几乎完全重写了代码并保…...

测试开发面试题---计算机网络

计算机网络模型 OSI模型:七层模型 物理层:定义电气特征,机械特征等功能规范,传递实际比特流数据链路层:物理地址寻址(MAC),帧的传输,错误检测和纠正网络层:…...

Wonder3D 论文学习

论文链接:https://arxiv.org/abs/2310.15008 代码链接:https://github.com/xxlong0/Wonder3D 解决了什么问题? 随着扩散模型的提出,3D 生成领域取得了长足进步。从单张图片重建出 3D 几何是计算机图形学和 3D 视觉的基础任务&am…...

【MySQL进阶之路 | 高级篇】显式事务和隐式事务

使用事务有两种方式:显式事务和隐式事务。 1. 显式事务 步骤1: START TRANSACTION或者BEGIN,作用是显式开启一个事务。 START TRANSACTION语句相较于BEGIN特别之处在于,后面能跟几个修饰符。比如: READ ONLY&…...

Ruby、Python、Java 开发者必备:Codigger之软件项目体检

在编程的广阔天地里,Ruby、Python 和 Java 开发者们各自凭借着独特的语言特性,构建着精彩纷呈的应用世界。然而,无论使用哪种语言,确保项目的高质量始终是至关重要的目标。而 Codigger 项目体检则成为了实现这一目标的得力助手&am…...

day05 Router、vuex、axios

配置 router和vuex需要在创建vue项目的时候,开始的时候选择Manually select features,于是就可以在下一个创建配置讯问中选择router和vuex。 axios则需要执行命令行: npm install axios -S 之后再在需要发送请求的view导入即可。 router…...

yolov5-7在opencv里跑自己的onnx模型

先把模型放在如下目录 运行如下代码 import cv2 import numpy as npclass Onnx_clf:def __init__(self, onnx:strdnn_model1/plane02.onnx, img_size640, classlist:list[plane]) -> None: func: 读取onnx模型,并进行目标识别para onnx:模型路径img_size:输出图片大小,和模…...

JVM 11 的优化指南:如何进行JVM调优,JVM调优参数有哪些

这篇文章将详细介绍如何进行JVM 11调优,包括JVM 11调优参数及其应用。此外,我将提供12个实用的代码示例,每个示例都会结合JVM启动参数和Java代码。 本文已收录于,我的技术网站 java-broke.site,有大厂完整面经&#x…...

nginx的配置和使用

一、nginx支持win和linux版本的下载,选择合适的版本进行安装 二、配置文件注解 重点的几个参数进行注释: 1、listen 要监听的服务的端口,符合这个端口的才会被监听 server_name要监听的服务地址,可能是ip,也可能是域名&#xf…...

mysql面试(六)

前言 本章节详细讲解了一下mysql执行计划相关的属性释义,以及不同sql所出现的不同效果 执行计划 一条查询语句经过mysql查询优化器的各种基于成本和各种规则优化之后,会生成一个所谓的 执行计划,这个执行计划展示了这条查询语句具体查询方…...

6.乳腺癌良性恶性预测(二分类、逻辑回归、PCA降维、SVD奇异值分解)

乳腺癌良性恶性预测 1. 特征工程1.1 特征筛选1.2 特征降维 PCA1.3 SVD奇异值分解 2. 代码2.1 逻辑回归、二分类问题2.2 特征降维 PCA2.3 SVD奇异值分解 1. 特征工程 专业上:30个人特征来自于临床一线专家,每个特征和都有医学内涵;数据上&…...

Vue3响应式高阶用法之markRaw()

Vue3响应式高阶用法之markRaw() 文章目录 Vue3响应式高阶用法之markRaw()一、简介二、使用场景2.1 避免性能开销2.2 防止意外修改 三、基本使用3.1 标记对象 四、功能详解4.1 markRaw与reactive的区别4.2 markRaw与ref的区别 五、最佳实践及案例5.1 使用大型第三方库对象5.2 静…...

免费SSL证书的安全性与获取指南

SSL证书是一种数字凭证,用于加密用户与网站之间的信息交换,以确保传输的数据不被第三方窃取。它像是一个数字版的密封印章,为数据的传输过程提供了一层保护膜。 免费的SSL证书通常由CA机构提供,它们同样可以提供基础数据的加密服…...

【CN】Argo 持续集成和交付(一)

1.简介 Argo 英 [ˈɑ:ɡəu] 美 [ˈɑrˌɡo] Kubernetes 原生工具,用于运行工作流程、管理集群以及正确执行 GitOps。 Argo 于 2020 年 3 月 26 日被 CNCF 接受为孵化成熟度级别,然后于 2022 年 12 月 6 日转移到毕业成熟度级别。 argoproj.github.i…...

Unity3D 自定义Debug双击溯源问题详解

前言 在Unity3D的开发过程中,经常需要处理各种交互和事件,其中双击事件是常见的需求之一。然而,由于Unity自带的双击检测机制并不完善,开发者往往需要自定义实现以满足特定需求。本文将详细介绍如何在Unity3D中自定义Debug双击溯…...

环境搭建-Docker搭建ClickHouse

Docker搭建ClickHouse 一、前言二、ClickHouse安装2.1 拉取镜像运行ClickHouse服务 三、测试安装3.1 进入clickhouse容器3.2 命令补充说明 四、测试连接五、设置CK的用户名密码 一、前言 本文使用的Docker使用Windows搭建,Linux版本的搭建方式一样。 Windows系统搭…...

深入理解CSS中的变量(概念篇)

CSS变量,也称为自定义属性,是一种在CSS中定义和重用值的方式。它们允许开发者在一个地方定义样式值,然后在整个样式表中引用这些值,从而提高代码的可维护性和可读性。 1、定义和使用CSS变量 CSS变量的定义和使用非常简单。变量名以两个连字符开头,变量值为任何有效的CSS…...

Prometheus 监控Tomcat等java应用的状态

5月应用服务出现问题,当别的小伙伴问我,有没有Tomcat等应用状态的监控的时候,我有点儿尴尬。所以赶紧抽空部署一下。 在配置之前,就当已经会安装jdk和tomcat了。 一、下载jmx_exporter #linux下 cd /usr/local/prometheus wget …...

c++中的斐波那契数列(Fibonacci Sequence)和背包问题(Knapsack Problem)

前言 hello,大家好啊,我是文宇,不是文字,是文宇哦。 斐波那契数列(Fibonacci Sequence) 斐波那契数列(Fibonacci Sequence)是一个经典的数学问题,其中每个数都是前两个…...

connect的非阻塞模式

本文参考:connect 函数在阻塞和非阻塞模式下的行为 一般情况下,在使用connect连接服务端时,需要等待一会儿才会函数才会返回,导致程序阻塞。为了降低阻塞的影响,我们可能会单独开个线程处理connect请求,例…...

jenkins面试题全集

1. 简述什么是Jenkins ? Jenkins是一个开源的持续集成的服务器,Jenkins开源帮助我们自动构建各类项目。 Jenkins强大的插件式,使得Jenkins可以集成很多软件,可以帮助我们持续集成我们的工程项目,对于我们测试来说&…...

Python中最好学和最实用的有哪些库和框架

Python拥有丰富的库和框架,这些库和框架覆盖了从数据处理、科学计算、Web开发到机器学习等多个领域。以下是一些值得学习的Python库和框架: 数据处理与科学计算 NumPy 描述:NumPy是Python中用于科学计算的一个库,它提供了一个强…...

文件解析的终极工具:Apache Tika

文件解析的终极工具:Apache Tika Apache Tika 简介 Apache Tika 是一个开源的、跨平台的库,用于检测、提取和解析各种类型文件的元数据。 它支持多种文件格式,包括文档、图片、音频和视频。 Tika是一个底层库,经常用于搜索引擎…...

Hadoop 重要监控指标

某安卓逆向课程打包下载(92节课) ​​https://pan.quark.cn/s/53cec8b8055a ​​ 某PC逆向课程(100节课打包下载) ​​https://pan.quark.cn/s/e38f2b24f36c​​ Hadoop 是一个开源的分布式存储和计算框架,广泛应用…...

oracle 查询锁表

oracle 查询锁表 SELECT o.object_name, s.sid, s.serial#, p.spid, s.username, s.program FROM v l o c k e d o b j e c t l J O I N d b a o b j e c t s o O N l . o b j e c t i d o . o b j e c t i d J O I N v locked_object l JOIN dba_objects o ON l.object_id …...

进程概念(三)----- fork 初识

目录 前言1. pid && ppid2. forka. 为什么 fork 要给子进程返回 0, 给父进程返回子进程的 pid ?b. 一个函数是如何做到两次的?c. fork 函数在干什么?d. 一个变量怎么做到拥有不同的内容的?e. 拓展:…...

huawei 路由 RIP 协议中三种定时器的工作原理

RFC2453 定义的三种 RIP 协议定时器 更新定时器(Update Timer):用于触发更新报文的发送,超时时间为 30 秒。老化定时器(Age Timer):如果在老化时间内没有收到邻居发送的响应报文,则…...

HTML常见标签——超链接a标签

一、a标签简介 二、a标签属性 href属性 target属性 三、a标签的作用 利用a标签进行页面跳转 利用a标签返回页面顶部以及跳转页面指定区域 利用a标签实现文件下载 一、a标签简介 <a>标签用于做跳转、导航&#xff0c;是双标签&#xff0c;记作<a></a>&#…...

Python 爬虫入门(一):从零开始学爬虫 「详细介绍」

Python 爬虫入门&#xff08;一&#xff09;&#xff1a;从零开始学爬虫 「详细介绍」 前言1.爬虫概念1.1 什么是爬虫&#xff1f;1.2 爬虫的工作原理 2. HTTP 简述2.1 什么是 HTTP&#xff1f;2.2 HTTP 请求2.3 HTTP 响应2.4 常见的 HTTP 方法 3. 网页的组成3.1 HTML3.2 CSS3.…...

Linux嵌入式学习——数据结构——概念和Seqlist

数据结构 相互之间存在一种或多种特定关系的数据元素的集合。 逻辑结构 集合&#xff0c;所有数据在同一个集合中&#xff0c;关系平等。 线性&#xff0c;数据和数据之间是一对一的关系。数组就是线性表的一种。 树&#xff0c; 一对多 图&#xff0c;多对多 …...

iOS ------ Block的相关问题

Block的定义 Block可以截获局部变量的匿名函数&#xff0c; 是将函数及其执行上下文封装起来的对象。 Block的实现 通过Clang将以下的OC代码转化为C代码 // Clang xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m//main.m #import <Foundation/Foundation.…...

conda issue

Conda 是一个跨平台、通用的二进制包管理器。它是 Anaconda 安装使用的包管理器&#xff0c;但它也可能用于其他系统。Conda 完全用 Python 编写&#xff0c;并且是 BSD 许可的开源。通用意味着大部分的包都可以用它进行管理&#xff0c;很像一个跨平台版本的apt或者yum&#x…...

为了解决地图引入鉴权失败的解决方案

在以下文件中需要添加相应代码 app/controller/CollageProduct.php app/view/designer_page/designer_editor.html app/view/designer_page/designer.html app/controller/Freight.php app\controller\Business.php app\controller\DesignerPage.php 只有这样才能保证htt…...

[ptrade交易实战] 第十八篇 期货查询类函数和期货设置类函数

前言 今天主要和大家分享的是期货查询类的函数和期货设置类的函数&#xff01; 具体的开通渠道可以看文章末尾&#xff01; 一、get_margin_rate—— 获取用户设置的保证金比例 保证金是期货交易中的一个重点&#xff0c;这个函数就是用来获取我们设置的保证金比例的&#…...

STM32智能家居控制系统教程

目录 引言环境准备智能家居控制系统基础代码实现&#xff1a;实现智能家居控制系统 4.1 数据采集模块 4.2 数据处理与分析模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;家居监测与优化问题解决方案与优化收尾与总结 1. 引言 智能家居控制系统通…...