Unity中使用百度中文语音识别功能

下面是API类 
Asr.cs

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 用户解析token的json数据
/// </summary>
class TokenResponse
{
    public string access_token = null;
}

public class Asr
{
    public string SecretKey { get; private set; }

    public string APIKey { get; private set; }
    public string Token { get; private set; }

    public Asr(string apiKey, string secretKey)
    {
        APIKey = apiKey;
        SecretKey = secretKey;
    }

    public IEnumerator GetAccessToken()
    {
        var uri =
            string.Format(
                "https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id={0}&client_secret={1}",
                APIKey, SecretKey);
        var www = new WWW(uri);
        yield return www;

        if (string.IsNullOrEmpty(www.error))
        {
            var result = JsonUtility.FromJson<TokenResponse>(www.text);
            Token = result.access_token;
            Debug.Log("Get access_token successfully");
        }
        else
        {
            Debug.LogError(www.error);
        }
    }

    public IEnumerator Recognize(byte[] data, Action<string> callback)
    {
        var uri =
            string.Format("http://vop.baidu.com/server_api?lan=zh&cuid={0}&token={1}",
                SystemInfo.deviceUniqueIdentifier, Token);

        var headers = new Dictionary<string, string> { { "Content-Type", "audio/pcm;rate=16000" } };

        var www = new WWW(uri, data, headers);
        yield return www;
        if (string.IsNullOrEmpty(www.error))
        {
            Debug.Log(www.text);

            callback(www.text);
        }
        else
            Debug.LogError(www.error);
    }

    /// <summary>
    /// 将Unity的AudioClip数据转化为PCM格式16bit数据
    /// </summary>
    /// <param name="clip"></param>
    /// <returns></returns>
    public static byte[] ConvertAudioClipToPCM16(AudioClip clip)
    {
        var samples = new float[clip.samples * clip.channels];
        clip.GetData(samples, 0);
        var samples_int16 = new short[samples.Length];

        for (var index = 0; index < samples.Length; index++)
        {
            var f = samples[index];
            samples_int16[index] = (short)(f * short.MaxValue);
        }

        var byteArray = new byte[samples_int16.Length * 2];
        Buffer.BlockCopy(samples_int16, 0, byteArray, 0, byteArray.Length);

        return byteArray;
    }
}

下面是测试类

main.cs

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class main : MonoBehaviour {

    public string APIKey = "";
    public string SecretKey = "";
    public Button StartButton;
    public Button StopButton;
    public Text DescriptionText;

    private AudioClip _clipRecord = new AudioClip();
    private Asr _asr;

    void Start()
    {
        _asr = new Asr(APIKey, SecretKey);
        StartCoroutine(_asr.GetAccessToken());

        StartButton.gameObject.SetActive(true);
        StopButton.gameObject.SetActive(false);
        DescriptionText.text = "";

        StartButton.onClick.AddListener(OnClickStartButton);
        StopButton.onClick.AddListener(OnClickStopButton);
    }

    private void OnClickStartButton()
    {
        StartButton.gameObject.SetActive(false);
        StopButton.gameObject.SetActive(true);
        DescriptionText.text = "Listening...";

        _clipRecord = Microphone.Start(null, false, 30, 16000);
    }

    private void OnClickStopButton()
    {
        StartButton.gameObject.SetActive(false);
        StopButton.gameObject.SetActive(false);
        DescriptionText.text = "Recognizing...";
        Microphone.End(null);
        Debug.Log("end record");
        var data = Asr.ConvertAudioClipToPCM16(_clipRecord);
        StartCoroutine(_asr.Recognize(data, s =>
        {

            DescriptionText.text = s;
            StartButton.gameObject.SetActive(true);
        }));

    }
}

 

 

资源来源于关尔Manic的技术园

http://blog.youkuaiyun.com/zhenghongzhi6/article/details/78688571#comments

转载于:https://www.cnblogs.com/Study088/p/8178581.html

Unity使用讯飞语音模型(语音合成+语音识别+语音唤醒)Window端SDK 【注意】在使用up主的demo时,我们需要将自己的dll库存放进去,appid换成我们自己的(APPID 于讯飞开发者控制台创建应用申请所得)在控制台下载对应SDK,由于讯飞官方只提供了C++/C语音版本,我们需要用C#调用下载SDK的dll库文件。另外我们如果要使用语音唤醒功能,还需要wakeupresource.jet拖进Unity项目中。在思考、说话状态我们不进行计时功能,只有在listen状态下开启计时功能。我们在使用语音功能时要先调用登入方法,结束时要调用退出登录的方法。这样,全局可使用可修改。 阅读详情

相关推荐

Unity集成百度云语音识别API开发指南

语音识别技术作为人机交互的重要方式,通过将声音信号转换为文本实现自然语言输入。其核心原理包括音频采集、特征提取和模式匹配等环节,百度云等AI平台通过深度学习模型大幅提升了识别准确率。在Unity游戏开发中,集成语音识别API可以为游戏控制、教育应用等场景增添创新交互方式。本文以百度云语音识别服务为例,详细讲解如何实现从麦克风音频采集到文字转换的完整流程,包括PCM格式转换、API调用优化等关键技术点,帮助开发者快速构建稳定可靠的语音输入系统。

weixin_29003437的博客 282

【语音助手】在Unity中接入语音相关功能——实现语音指令任务

通过调用Android平台的三方语音SDK,结合语音唤醒、语音识别、语音合成接口,实现语音指令任务。

一个XR(AR|VR|MR)程序猿的博客(EQ-雪梨蛋花汤) 4443

Unity集成Vosk离线语音识别:5分钟实现中文语音指令控制

语音识别作为人机交互的关键技术,其核心原理是将声音信号转化为文本信息。传统在线方案依赖网络,存在延迟、流量消耗和隐私风险。离线语音识别技术通过在本地设备完成计算,实现了毫秒级响应和零数据外传,在游戏开发、物联网设备等对实时性和隐私要求高的场景中价值凸显。Vosk作为一款轻量级开源离线语音识别引擎,以其完全免费、多语言支持和易于集成的特点,成为Unity开发者实现本地语音交互的理想选择。本文聚焦于【Vosk】在【Unity】中的实战集成,详细解析从模型选型、环境搭建到核心代码实现的全流程,帮助开发者快速构建稳

weixin_30562507的博客 467

【亲测免费】 探索语音控制的未来:Unity中的Speech Recognition引擎

探索语音控制的未来:Unity中的Speech Recognition引擎 随着技术的不断进步,人机交互的方式也在经历革命性的变化。今天,我们向您隆重介绍一个结合了尖端技术和游戏开发框架的创新项目——Speech Recognition in Unity。这个项目通过C#编程语言和Unity3D平台,开辟了一条全新的道路,让您的游戏和应用程序能够倾听用户的声音,响应他们的命令。 项目介绍 spee...

gitblog_00937的博客 582

Unity内置语音识别:离线关键词唤醒与本地化语音控制实战

语音识别作为人机交互的核心技术,其实现方式主要分为云端连续识别与本地关键词识别。云端方案依赖网络与外部服务,而本地关键词识别则基于声学模型匹配,在设备端实时比对预设指令,具备响应快、零延迟、隐私安全等优势。在Unity开发中,对于需要离线运行、高隐私保护或简单语音控制的场景,如培训模拟器、展厅互动、AR/VR指令操作,引擎内置的`UnityEngine.Windows.Speech`命名空间提供了成熟的本地解决方案。通过`KeywordRecognizer`类,开发者可快速实现如“开始”、“暂停”等关键词的

weixin_29534421的博客 345

ROS语音控制TurtleBot实战:从麦克风到小车运动的完整链路

语音控制机器人是人机交互的基础能力,其本质是将语音信号经采集、识别、语义解析后映射为运动指令的闭环过程。核心依赖ROS通信机制(Topic/Service)、离线ASR引擎(如pocketsphinx)与差速轮运动学模型。技术价值在于绕过复杂视觉与建图,快速验证真实硬件上的感知-决策-执行链路,显著降低ROS初学者的实践门槛。典型应用场景包括教育机器人演示、服务机器人基础交互及嵌入式AI落地验证。本文聚焦turtlebot入门-语音控制这一高频搜索需求,深入解析麦克风驱动、中文词典定制、/cmd_vel安全

weixin_30660027的博客 362

Unity百度语音识别

unity3d 百度语音识别API

W_king_9的博客 1728

使用Unity实现语音识别功能

本篇文章将介绍如何在Unity中实现语音识别功能,并提供相应的源代码。通过这种方式,你可以在Unity项目中集成语音识别功能,为用户提供更加丰富和便捷的交互方式,增强应用程序的用户体验。方法中,我们创建了语音识别请求的配置,并将录音数据添加到请求中。然后,我们使用语音识别客户端发送了识别请求,并等待响应结果。最后,我们从响应结果中获取识别的文本,并更新UI元素来显示结果。在上述代码中,我们创建了一个名为"SpeechRecognition"的MonoBehaviour脚本,并在其中实现了语音识别的逻辑。

BinzTcl的博客 1756

Hololens 离线中文语音识别

Hololens 离线中文语音识别 Hololens自从去年11月份首推中文系统后,Hololens本身已经支持中文语音识别了 Hololens 中文系统升级 既然系本身已经支持,我们就可以像Win10一样简单方便的使用小娜,再也不用使用第三方服务(百度/讯飞/必应…)了 下面就是在Unity中简单的一种应用 using UnityEngine; using UnityEngine.Windows...

第五君 2155

unity语音识别

游戏语音识别项目,帮助大家进行游戏语音识别的学习,为自己的项目添加风采

交流伺服电机绝对式位置控制实战指南

伺服电机控制是工业自动化的核心技术之一,其核心原理是通过闭环反馈实现精确位置控制。绝对值编码器作为关键传感器,能提供单圈内的绝对位置信息,避免了增量式编码器的累计误差问题。在工程实践中,电子齿轮比配置、位置环PID调节等技术直接影响系统动态性能。本文以包装机械为典型场景,详细解析了从硬件选型到参数整定的全流程实现方案,特别是针对单圈绝对值编码器初始化和限位保护等易错环节,给出了经过验证的解决方案。通过合理设置17位编码器的电子齿轮比和优化运动控制算法,最终实现了±0.05°的高精度定位。

weixin_42531588的博客 281

U3D C# 中文语音识别功能 之 Hololens篇----百度语音识别REST API

在U3D 开发适用于 Hololens 的 UWP 平台的 语音识别功能。 U3D 的UWP 不支持比如`FileStream`,` Directory`,` File类取读写文件。 U3D Hololens的中文语音识别。

Edwin Lee的博客 5370

playwright-mcp 安装使用的详细教程

Playwright MCP 快速入门指南 Playwright MCP Server 是由微软开发的浏览器自动化服务,通过 MCP 协议为 AI/Agent/LLM 提供网页交互能力。它基于可访问性树而非屏幕截图,支持多种浏览器和运行模式。 安装要求: Node.js v18+ 命令行操作能力 支持 MCP 的客户端 安装方式: 通过 npx 快速启动:npx @playwright/mcp@latest 项目依赖安装:npm install @playwright/mcp 主要特性: 支持 Chrome

上善若水 7996

Unity AI聊天工具包终极指南:如何为游戏角色注入智能对话能力

Unity-AI-Chat-Toolkit是一个专为Unity开发者设计的强大工具包,它让游戏角色拥有智能对话能力变得前所未有的简单。无论你是想创建会聊天的NPC、开发虚拟助手,还是为游戏添加语音交互功能,这个工具包都能帮你快速实现。本文将为你提供完整的实施指南,帮助你充分利用这个工具包的核心功能。 ## 🧠 核心价值:为什么你的Unity项目需要AI对话功能 想象一下,你的游戏角色不再只是

gitblog_00617的博客 1024

Kalibr标定避坑指南:如何用AprilGrid板快速完成双目IMU标定

本文详细介绍了使用AprilGrid板进行Kalibr双目IMU联合标定的实战技巧,包括标定工具选型、数据采集优化、标定流程及结果验证。通过AprilGrid板的唯一标识性和抗遮挡优势,结合IMU静止标定和运动激励设计,显著提升标定精度。文章还提供了常见报错处理和高级优化技巧,帮助开发者高效完成传感器标定。

sunny的博客 282

软考中级信息系统监理师(第二版)-第21章基础设施工程监理

由于网络信息技术的飞速发展,变化日新月异,网络设计不但要保证目前网络传输容量的要求,也要考虑今后网络的发展,满足当前以及今后相当一段时间内的网络需求,便于向新技术的升级和衔接,同时又需要保护原有的投资。通用布缆系统工程中,承建单位的竣工文档主要包括以下内容:承建合同,招标文件,投标文件,设计方案,工程实施组织设计方案,工程施工报告,隐蔽工程记录,变更记录,自测报告,信息点分布图(表),园区、楼宇、水平配线表,楼层平面图及无线设备点位图,无线设备信息表,竣工图纸等。多排安装时,列间距不应小于1200mm。

2301_78583973的博客 1400

【英语学习系统】unity3d下的语音识别与语音合成

查阅unity api unity5.5.0以上版本可使用win10自带语音识别功能,语音合成采用百度语音api

sd_ck的博客 976

[UE5蓝图基础二]1.[1d混合空间] 走和跑的动画切换(shift切换)

再双击”run”进去 我们需要给他指定一个动画姿势,这里就需要给他我们前面做的”1d”混合空间,然后可以看到”1d” 上有个speed参数,代表的速度 从前面的逻辑来看需要通过控制速度来切换动画,那么必然不能写死速度,把速度提升为变量传递进来即可,所以就得到以下蓝图节点。混合空间的概念:混合空间就是可以将角色多个动画混合在一起 ,我们创建动画类就是创建个”Animation”文件夹 在文件夹内创建混合空间。我们目前要实现的是一个走和跑的功能 那么创建1d即可。到这一步混合空间已经做完 下一步做”动画蓝图”

qq_30584617的博客 3299

从零实现Unity语音交互毕设:技术选型、场景集成与避坑指南

最近在帮学弟学妹看Unity毕设,发现很多想做“语音交互+3D场景”的同学,第一步就卡在了技术选型上。网上的方案五花八门,有直接用在线API的,有折腾本地模型的,还有用各种SDK的,到底哪个适合毕业设计?好不容易选好了,又把语音识别的代码和场景控制逻辑写得一团糟,后期加个新指令都得改半天。今天,我就结合自己的踩坑经验,聊聊怎么从零开始,搭建一个既稳定又好扩展的Unity语音交互毕设。

2600_94960054的博客 889

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

海康visionmaster-渲染结果:通过绑定流程或模块获取 渲染结果的方法

视觉人机器视觉的博客 2639

181、LLC谐振变换器的PCB设计实战(文件归档)

PCB设计实战经验总结:LLC谐振变换器的关键要点 本文通过实际案例总结了LLC谐振变换器PCB设计中的核心经验和常见误区。重点包括: 文件命名规范(项目代号_板卡类型_版本号_日期格式) 四层板标准层叠结构设计要点 谐振回路走线原则(宽度、长度控制) 地线处理技巧(功率地/控制地隔离) 散热设计注意事项(MOSFET过孔阵列、变压器布局) 完整的文件归档清单(Gerber、钻孔、装配图等) 作者特别强调,良好的设计归档习惯能显著降低生产问题概率,建议采用双重备份机制。文中多个真实案例(如谐振频率偏移、EM

Jack010169的博客 43

基于Qwen3-ASR-0.6B与gRPC实现Unity游戏实时语音交互

自动语音识别(ASR)是人工智能领域的关键技术,其核心原理是将音频信号转换为文本信息。该技术通过深度学习模型(如Transformer架构)提取音频特征并进行序列建模,实现高精度识别。其技术价值在于为人机交互提供了自然、高效的入口,广泛应用于智能助手、实时字幕和交互式娱乐等领域。在游戏开发中,本地化ASR模型结合实时音频流处理,能创造沉浸式的语音交互体验。本文以开源轻量模型Qwen3-ASR-0.6B为例,详解如何通过gRPC框架构建Unity与Python服务间的进程间通信(IPC)架构,实现低延迟的流式

weixin_29015801的博客 348

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Unity3d中使用百度语音识别及语音合成【含源码】

本文首发于“洪流学堂”公众号。 洪流学堂,让你快人几步 源码地址 https://github.com/zhenghongzhi/WitBaiduAip 功能概述 1 语音识别 从麦克风录制音频 AudioClip的音频数据转换为百度语音识别的PCM16格式 百度语音识别Restful接口的封装以及一个测试场景 2 语音合成 百度语音合成Restf...

大智_Unity探路者 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

深度学习工具包 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")

上一篇: Android studio报Error:(26, 13)-v7:27.错误的解决方法
下一篇: Unity中Terrain中刷出的树木模糊解决办法
bake2003
博客等级 码龄10年 4粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值