[Linux Audio Driver] 高通音频相关汇总(持续更新)

高通 AudioReach 框架简介 从实现上,AudioReach 的 Linux ASoC 驱动是 AudioReach 能力的代理,或者适配器,它通过核间通信机制和 DSP 上运行的 AudioReach 通信,对于 Linux 内核,它实现 ASoC 的 PCM 和 compress 接口,向用户空间提供访问音频能力必不可少设备文件等接口。除了运行于 DSP 的 AudioReach 和它的 Linux ASoC 驱动程序,拓扑配置是整个子系统运行的另一个组成部分,Audioreach 的拓扑配置文件可以参考。 阅读详情
AI摘要

本文汇总了作者关于高通平台音频的深入研究,包括I2S配置、ACDB加载、声卡调试、问题诊断如GMS认证、POP音处理、GPIO控制等内容,全面展示了音频开发与调试的关键步骤。

高通名词解释 TBOX:是汽车⽹络通讯的重要部件,⼀个带通讯功能的盒⼦,内含⼀张SIM卡,配套硬件还有GPS天线、4G天线等,可以提供位置定位、移动⽹络服务。简单理解它就是⼀个内置SIM卡的⽆线WIFI,不同之处是在于它还⽀持拨打电话,⼀般只能拨打常规号码,如:道路救援电话、⼚商客服电话、110等紧急电话。系统级芯片,低端的SOC就是在MCU的基础上加了一些定制化的功能,比如蓝牙协议,Zigbee协议,或者解码功能,和MCU功能上没什么大区别,其他的在差别就是在跑操作系统上。 阅读详情

相关推荐

车载音频开发实战:从驱动到应用的全链路系统化工程指南

音频子系统是嵌入式与Linux开发中的核心模块,其原理涉及从硬件编解码器(Codec)到应用层的完整信号链。在技术实现上,它基于ALSA(高级Linux声音架构)和ASoC(片上系统音频)框架,通过驱动层管理硬件接口(如I2S、I2C),并在用户空间提供音频服务。这套技术的工程价值在于将零散的音频功能调优转变为系统化的、可调试的工程实践,尤其对于解决播放卡顿、录音噪音、多路混音等复杂问题至关重要。其典型应用场景广泛覆盖车载信息娱乐系统、智能座舱仪表盘等需要高可靠性音频处理的领域。本文以车载音频开发为具体切入

weixin_34214500的博客 443

【转载】高通msm8996平台的ASOC音频路径分析(基于androidN及linux3.1x)

高通msm8996平台的ASOC音频路径分析(基于androidN及linux3.1x) tags : msm8996 sound linux android 目录: 前言 0 ASOC音频子系统模型 1 关于高通平台 2 音频数据流视角的音频链路 2.1 音频数据流工作过程 2.1.1 pcm open 2.1.2 hw/sw parameter 2.1.3 prepare ...

qianxuedegushi的博客 1万+

高通车载平台EDL刷机与QCN恢复实战指南

车载嵌入式系统中的启动调试,本质是围绕Secure Boot安全机制与多域隔离架构展开的技术实践。高通SA8838/8155/8295等车规级芯片采用QNX+Android Automotive双OS协同、Hypervisor虚拟化分隔及eMMC RPMB密钥保护等设计,使传统安卓fastboot刷机逻辑完全失效。其核心挑战在于EDL模式受硬件禁用、USB VID/PID绑定和eMMC状态三重限制,而QCN文件实为融合Secure Boot Key Hash、CAN校准参数与芯片身份标识的二进制密钥包。典型

cqwmy840702的博客 457

Qualcomm audio培训

高通audio培训。

编程菜汝狗 3962

UNIHIKER M10嵌入式音频 recorder 设计与实现

嵌入式音频采集是边缘计算与现场声学研究的关键技术基础,其核心在于硬件确定性、音频链路可控性与离线实时处理能力。基于ARM Linux平台的便携式录音设备,需兼顾ALSA底层驱动稳定性、Python轻量服务架构与I2S硬件直连可靠性,避免USB声卡抖动、内核缓冲区欠载等常见问题。此类系统广泛应用于田野录音、生态声学监测、无障碍辅助及硬件原型开发等对原始数据保真度要求严苛的场景。本文以UNIHIKER M10为主控平台,详解从I2S麦克风接入、ALSA配置固化、pyalsaaudio低延迟采集,到Flask W

weixin_34387468的博客 511

Android蓝牙日志抓取与分析全攻略:从BTSnoop到Wireshark实战

在移动开发与物联网领域,蓝牙协议栈是设备间无线通信的核心基础。其工作原理涉及HCI(主机控制器接口)、L2CAP、RFCOMM等多层协议,通过定义标准的命令、事件与数据包格式,实现设备发现、连接配对与数据传输。掌握底层通信原理的技术价值在于,开发者能超越应用层表象,直接诊断连接不稳定、音频卡顿、数据传输失败等复杂问题,将调试从“黑盒猜测”升级为“数据驱动决策”。在Android应用开发、蓝牙外设联调、车联网和音频设备集成等场景中,系统级的蓝牙日志成为关键证据。本文聚焦于Android平台,详解如何通过开启B

weixin_30565327的博客 359

基于Zephyr RTOS的micro:bit v2音频开发实战:从硬件到实时处理

实时操作系统(RTOS)是嵌入式开发中实现确定性响应和多任务管理的核心技术,其核心原理在于通过任务调度、中断管理和资源同步机制,确保关键任务在严格时限内完成。在音频处理等对时序敏感的嵌入式应用中,RTOS的技术价值尤为突出,它能有效管理音频流数据、协调采集与播放任务,并保证低延迟处理。Zephyr RTOS作为一款开源、可扩展的实时操作系统,专为资源受限的嵌入式设备设计,提供了标准化的驱动框架和丰富的内核服务。在BBC micro:bit v2这类集成了I2S、PDM等音频接口的教育与创客平台上,利用Zep

weixin_30520015的博客 328

Android Framework学习路线:从Binder到SystemServer的系统进阶指南

Android系统架构中,应用层与底层之间的桥梁是Framework,它承载着跨进程通信、消息驱动与系统服务调度等关键机制。其中,Binder作为Android核心IPC通信骨架,依靠mmap实现一次拷贝,为应用与系统服务的高效交互提供基础;Handler消息循环则保障了单线程模型下任务的有序执行,是主线程稳定运行的根基。理解这些原理,不仅有助于优化应用性能,更是掌握系统定制与问题定位的前提。从应用启动到视图绘制,从触摸事件分发到画面合成,Framework贯穿始终。本文将结合实际工程视角,系统梳理从Bin

weixin_34209851的博客 352

SM8350音频系统拆解:bolero/wcd9385/CS35L41协同调试

在嵌入式音频系统设计中,从SoC到外置音频器件之间的链路往往决定整机音质与稳定性。以高通SM8350平台为例,其音频子系统采用bolero作为内部路由核心,通过SoundWire总线连接wcd9385编解码器与CS35L41智能功放,形成从数字信号处理到模拟放大、再到扬声器保护的完整通路。理解这一架构,有助于开发者快速定位无声、底噪、爆音等问题。实际调试中,优先确认SoundWire枚举、时钟与设备树配置,再逐段检查音频通路,可大幅提升效率。文章围绕硬件拓扑、器件分工、数据流与排查方法进行完整拆解,为音频驱

weixin_34037515的博客 349

高通Qualcomm 音频文件升级小工具

应用于高通音频tunning后,方便更新音频文件(ACDB)

高通audio入门

介绍了高通audio入门 1.Audio软硬件系统框架 2.Audio bringup 3.ACDB校准 4.how to debug

ESP32 S3+INMP441嵌入式音频采集实战:I2S精准配置与WAV稳定录制

WAV格式是嵌入式音频采集中最易落地的无损容器,因其无需解码库、兼容性高、可裸机DMA直写;而I2S作为硬件级同步串行总线,是保障采样精度与抗抖动能力的核心机制。在ESP32系列中,S3型号凭借双核Xtensa LX7、增强型I2S外设及USB OTG支持,成为驱动INMP441等高性能MEMS麦克风的理想平台。其关键价值在于规避了软件模拟时序导致的采样率漂移与丢帧问题,特别适用于语音识别、声学监测等对时间敏感的应用场景。本文聚焦I2S物理层配置、电源完整性设计与WAV头动态生成三大技术支点,解决底噪大、采

weixin_30235225的博客 378

ISP之LSC(Lens Shading Correction)

LSC - Lens Shading Correction即镜头暗影校正。

IQ_WXY的博客 5098

高通SA8838车机EDL抢救指南:QCN恢复与QFIL实战避坑

EDL(Emergency Download Mode)是高通车载SoC底层固件修复的关键入口,其本质是Boot ROM级硬件通信协议,而非软件模式切换。理解EDL需从USB物理层握手、VBUS供电稳定性、eMMC/UFS时序容限等硬件原理切入,技术价值在于绕过崩溃操作系统直接访问存储与基带,支撑QCN校准数据恢复、射频参数重载、IMU零偏补偿等关键功能。典型应用场景包括车机黑屏变砖、ADB失联、Wi-Fi/蓝牙MAC丢失、ADAS传感器精度异常等产线及售后故障。本文聚焦SA8838平台真实断点,深度解析E

weixin_30247781的博客 220

实战指南:在摩尔线程GPU上部署AI模型的完整流程

本文提供了一份详尽的实战指南,手把手教你如何在摩尔线程GPU上成功部署AI模型。内容涵盖从驱动安装、Docker环境配置,到核心的代码适配与模型运行全流程,并分享了性能调优技巧与常见避坑方法,旨在帮助开发者高效利用国产硬件进行AI应用开发。

weixin_29271263的博客 541

使用openair包分析气象数据

气象数据通常是有规律的时间序列,分析气象数据时需要对空气质量测量、气象数据和扩散模型输出进行分析。openair 是用于分析空气质量数据或更广泛的大气成分数据的R软件包。该软件包广泛应用于学术界、公共和私营部门。该项目最初由英国自然环境研究委员会(NERC)资助,并由英国环境部(Defra)提供额外资金。

Christina 2519

Linux下用Real-Time-Voice-Cloning实现本地语音克隆实战指南

语音克隆是将短段真人录音转化为可复述任意文本的AI语音模型的技术,其核心在于声纹编码、声学建模与神经声码三阶段解耦架构。基于Tacotron 2与WaveRNN/HiFi-GAN组合,该技术可在消费级GPU(如GTX 1050 Ti)上完成端到端本地推理,避免云端依赖与隐私泄露。相比拼接式TTS,它具备更自然的语调、停顿与气息感;相比SOTA扩散模型,它显著降低显存占用与训练门槛。典型应用场景包括智能硬件语音助手、游戏NPC配音、个性化语音提醒等。本文聚焦Ubuntu环境下的全流程复现,覆盖录音规范、中文支

weixin_34242331的博客 372

给STM32 LWIP做一次‘性能体检’:手把手教你用Wireshark和iperf诊断网络瓶颈

本文详细介绍了如何使用Wireshark和iperf工具对STM32 LWIP网络性能进行全面诊断,帮助开发者精准定位网络瓶颈问题。通过搭建测试环境、集成iperf测试框架、深度报文分析和LWIP配置优化,实现从9KB/s到80MB/s的性能飞跃,特别适用于解决TCP发送速率和卡死问题。

weixin_29631169的博客 289

AF驱动调试日志:嵌入式音视频HAL层硬件级问题排查指南

AF驱动调试日志是Android音视频框架(Audio/Camera Framework)中,Vendor HAL与SoC硬件IP核交互时生成的底层结构化日志,其核心价值在于暴露寄存器读写、DMA传输、时钟配置等硬件级执行细节。它基于轻量环形缓冲区设计,通过内核态二进制记录+用户态符号解析实现低开销高精度追踪,技术原理涵盖时间戳同步、模块掩码过滤、物理地址映射与电源域感知。相比通用系统日志,AF日志专为实时性敏感的嵌入式驱动调试而生,支撑I2C超时诊断、DMA中断丢失定位、ISP流控失败归因等关键场景。本文

weixin_34150830的博客 306

【GameFramework框架】二、GameFramework框架介绍

Game Framework框架是由E大(Ellan Jiang)开源的一款基于Unity的通用游戏框架。Game Framework框架提供了游戏开发中常用的框架基础模块,将基础模型进行了封装,在资源管理和资源更新方面比较完善,可以大大加大开发进程,加快开发速度,并且还在在此此处上保证产品质量。实在是代码开发、框架学习、编程进阶、居家旅行哦不对,是提升自己的最佳实践。Game Framework框架。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 5849

【Davinci开发】:CS接口创建及连接

AUTOSAR SWC之间添加CS-port :详细讲解step

2528

ARM芯片电源域管理与PPU功耗控制原理

电源域(Power Domain)是现代SoC实现精细化功耗管理的基础物理单元,其本质是将芯片逻辑按供电边界划分为可独立开关的子系统;PPU(Power Policy Unit)作为策略中枢,通过P/Q-Channel协议协调状态转换,结合PCSM实现全链路监控,在漏电主导的先进工艺节点下,成为突破DVFS瓶颈的关键技术路径;该机制广泛应用于移动终端、车载电子与AIoT设备的低功耗设计中,支撑suspend-to-RAM、深度休眠等核心电源状态落地。

weixin_34279246的博客 318

YOLOv11改进 - C3k2融合 | C3k2融合CBSA 收缩 - 广播自注意力:轻量级设计实现高效特征压缩,优化处理效率 | NeurIPS 2025

本文介绍收缩 - 广播自注意力(CBSA)((Contract-and-Broadcast Self-Attention))机制,并将其集成到YOLOv11中。传统注意力机制存在黑盒难理解、计算复杂度高的问题,CBSA通过算法展开推导出本质上可解释且高效的注意力机制。它先从输入数据中选出少量代表性tokens,接着对代表进行收缩计算,再将结果广播给所有原始数据。该机制计算量线性增长,具有明确数学解释,还能统一多种注意力机制。我们将CBSA代码集成到YOLOv11的C3k2模块中。实验证明,改进后的YOLOv

魔改工程师的博客 852

Android性能分析:systrace全局时序诊断原理与实战

systrace是Android系统级性能分析的核心工具,其本质基于Linux ftrace内核跟踪机制,通过统一时间轴对齐CPU调度、Binder通信、图形合成、电源管理等多维度事件,提供跨进程、跨硬件模块的全局时序视图。相比火焰图等单点采样工具,systrace擅长定位‘低CPU高卡顿’‘后台异常耗电’‘音画不同步’等典型疑难问题,技术价值在于揭示系统协同瓶颈而非局部热点。广泛应用于App启动优化、UI动画调优、车载HMI卡顿治理及SoC级硬件协同验证等场景,尤其在Android TV、车机、AR眼镜等

weixin_33798152的博客 314

在群辉(NAS)中安装虚拟机套件(Virtual Machine Manager)

一、在群辉中下载虚拟机套件Virtual Machine Manager ①启用Open vSwitch(网络-->管理--启用Open vSwitch) ②打开“套件中心” ③查找到Virtual Machine Manager套件点击“安装套件” 二、安装虚拟机套件(Virtual Machine Manager) ①打开虚拟机套件运行设置向导 ②选择存储空间...

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 2万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

星火化学大模型与文生音效模型:可本地部署的垂直AI基础设施

垂直领域大模型正从通用能力转向专业可信、可解释、可嵌入工作流的技术范式。化学AI需突破SMILES字符串表征局限,融合分子图结构与物理化学先验;文生音效则需摆脱纯数据驱动,引入声学物理约束以保障生成真实性。这类模型的核心价值在于支持本地化部署、LoRA微调、CLI集成及跨平台嵌入,显著降低科研与内容生产中的专业门槛。典型应用场景涵盖有机反应预测、实验报告自动生成、仪器声学仿真、化学教育声景构建等。讯飞开源的星火化学大模型与文生音效模型,正是面向计算化学与音效工程两大硬需求打造的可落地基础设施。

daxi1047的博客 361

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: [Linux Device Driver] 分区大小导致的adb remount失败解决方法
下一篇: [Linux Audio Driver] 高通TDM总线配置
1byte ≠ 8bit
博客等级 码龄8年 7242粉丝 170原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值