[视频编码] 质量衡量指标

点云质量评估:BD-BR和BD-PSNR计算 目录 1、BD-BR和BD-PSNR的简介 2、率失真曲线 3、VCEG Excel 使用说明 4、MATLAB程序 1、BD-BR和BD-PSNR的简介 BD-BR:Bjøntegaard delta bit rate 表示了在同样的客观质量下,两种方法的码率节省情况 BD-PSNR:Bjøntegaard delta peak signal-to-noise rate... 阅读详情

1.PSNR(Peak Signal to Noise Ratio)

2.MSE(Mean Squared Error),表示当前图像X和参考图像Y的均方误差。图像压缩中典型的信噪比在20~40dB之间,越高越好。

3.SSIM(structural similarity)结构相似性,也是一种全参考的图像质量评价指标,它分别从亮度、对比度、结构三方面度量图像相似性。SSIM取值范围[0,1],值越大,表示图像失真越小。

4.error(误码率),目标比特率与实际比特率的比值。

5.BD-BR(Bjøntegaard delta bit rate )表示了在同样的客观质量下,两种方法的码率节省情况(Rate/distortion curves 画一条水平线)。该值为负则表示优化后算法的编码性能得到了提高。

6.BD-PSNR(Bjøntegaard delta peak signal-to-noise rate)表示了在给定的同等码率下,两种方法的PSNR-Y的差异(Rate/distortion curves 画一条垂直线)。

7.BD-rate 是两种算法对应的两条RD曲线的差值的均值,具体需要通过对测试的几个(一般是4个)点进行曲线拟合,再做差值,最后取平均。BD-rate 负的值时,表示相同PSNR条件下,码率减少,性能提高。

详细情况请参考(内用调用方法):

https://blog.youkuaiyun.com/yangxiao_xiang/article/details/8445452?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162693166216780357280761%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162693166216780357280761&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-8445452.first_rank_v2_pc_rank_v29&utm_term=BDBR&spm=1018.2226.3001.4187

https://blog.youkuaiyun.com/guoyaoyao1990/article/details/20844489

https://blog.youkuaiyun.com/tengqi200/article/details/102780620?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.control

https://blog.youkuaiyun.com/u012868357/article/details/79360240?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162484577516780274145783%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162484577516780274145783&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-3-79360240.first_rank_v2_pc_rank_v29&utm_term=BD-rate&spm=1018.2226.3001.4187

图像质量指标:峰值信噪比PSNR和结构相似性SSIM 图像质量指标 PSNR(Peak Signal-to-Noise Ratio 峰值信噪比) PSNR(Peak Signal-to-Noise Ratio),峰值信噪比,是一个表示信号最大可能功率和影响它的表示精度的破坏性噪声功率的比值的工程术语。由于许多信号都有非常宽的动态范围,所以峰值信噪比常用对数分贝单位来表示。 以灰度图为例,设大小均为m×nm \times nm×n原始图像和处理图像分别为IoI_oIo​和IpI_pIp​,均方误差(MSE)定义为 MSE=1mn∑i=0m−1∑j=0m−1[Io 阅读详情

相关推荐

几个常用的视频编码质量评价的指标介绍

对于不同特征视频源、编码失真及失真程度,各个评价指标各有优劣,奈飞使用机器学习算法,为每个基本指标分配一定权重,最终“融合”为一个指标,这样不仅保留每个基本指标的评价优势,还能得到更精确的评价分数,这是vmaf的核心理念。PSNR计算公式中,将方差作为分母后取对数,这样MSE越小,PSNR值越高,图像质量越好。视频编码评价包括主观评价和客观评价,主观评价需要设计相应的实验,组织人员观看视频图像,打出分数,最后综合分数,给出最终的主观评价分数,而视频的客观评价主要利用统计学的概念来评判视频的质量。

showerlxy的博客 3432

PSNR以及SSIM

PSNR(Peak Signal to Noise Ratio)峰值信噪比,一种全参考的图像质量评价指标。 其中,MSE表示当前图像X和参考图像Y的均方误差(Mean Square Error),H、W分别为图像的高度和宽度;n为每像素的比特数,一般取8,即像素灰阶数为256. PSNR的单位是dB,数值越大表示失真越小。图像压缩中典型的信噪比在20~40dB之间,越高越好。 PSNR是最

OPPOA113的专栏 6272

视频编解码技术-2: H.264和VP9视频编码质量评估

通过对OpenH264和VP9在不同分辨率视频、不同比特率下的测试,结果表明,在实时场景下,限制同样的比特率,VP9在视频质量方面表现优于OpenH264。无论是低分辨率的CIF视频还是高分辨率的1080P视频,VP9编码后的视频在PSNR和SSIM指标上均高于OpenH264。H.264和VP9是两种广泛使用的视频编码标准,它们在不同的应用场景中各有优劣。SSIM曲线(图2)也呈现类似趋势,VP9的SSIM值始终高于OpenH264,表明在CIF分辨率下,VP9编码后的视频在结构相似性上更接近原始视频。

sqmeeting的博客 1605

PSNR SSIM BD-rate BD-PSNR

1.PSNR PSNR:peak signal to noise ratio 峰值信噪比。两幅图像间的psnr越大,则越相似,普遍基准为30dB,低于30dB图像劣化比较明显。 PSNR=10log10(MAX2MSE)PSNR=10log10(MAX2MSE)PSNR=10log_{10}(\frac{MAX^2}{MSE}) MAX:图像颜色的最大值,8bit为255; MSE:均方...

VioletHan7的博客 3720

SSIM、PSNR、LPIPS、MUSIQ、NRQM、NIQE 六个图像质量评估指标

详细解释了SSIM、PSNR、LPIPS、MUSIQ、NRQM、NIQE这六个指标。

qq_45987837的博客 4318

图像处理之图像质量评价指标PSNR(峰值信噪比)

3、对于以上提出的三种方法,不论使用哪种方法计算PSNR都无所谓,只要保持实验部分都使用同一种方法即可。1、对于RGB图像计算的PSNR值最小,两个方法计算的灰度图像的PSNR基本一样,对于YCbCr图像的Y通道的PSNR值最大。2、注意每次运行主函数main.m文件,输出的PSNR值都会有细微差别,可以对比上下两张图。,可以与上方得到方差为0.001的PSNR结果。4、仅以高斯噪声的参数为讨论,我们将主函数main.m文件的高斯噪声的方差改为。其中MAXI为图像的最大像素值,PSNR的单位为dB。

qq_44111805的博客 11万+

限制码率的视频编码标准比较(包括MPEG-2,H.263, MPEG-4,以及 H.264)

Thomas Wiegand等人在论文《Rate-Constrained Coder Control and Comparisonof Video Coding Standards》中对比了几种编码器的效率,包括MPEG-2,H.263, MPEG-4,以及H.264/AVC。在此记录一下关键实验数据。 总体结论: 同等码率的前提下,各种标准的视频质量如下所示: MPE...

dianyimo9099的博客 463

图像处理:质量评估指标与应用实战

图像质量可视为图像对特定应用目的的适用程度的度量。它可以从多个角度进行考量,包括但不限于视觉质量、结构保真度、色彩一致性等。图像质量的好坏直接关系到图像分析的准确性以及图像在实际应用中的表现。

weixin_42230607的博客 1257

视频编码器质量评价---你需要知道的一切

首先,对于单个的视频编码器,它将一个原始的YUV输入序列,经过有损压缩编码之后,变成视频码流,当我们将得到的码流再次解码为YUV序列的时候,由于视频编码环节中的变换量化环节,使得原YUV中的一些信息丢失了,那么如何衡量这些丢失数据对原始输入造成的损害,就成为评价一个编码器,编码质量的重要客观指标,而这个客观指标就是PSNR。 对于原始YUV与压缩后YUV的每一帧求取PSNR值,对整个序列求PSN...

uestccxh的博客 1237

计算两个 420YUV 的 Y-PSNR、U-PSNR、V-PSNR 和 YUV-PSNR

计算两个 420YUV 的 Y-PSNR、U-PSNR、V-PSNR 和 YUV-PSNR,c++代码,计算细节和 HM 代码一致

在Unity3d使用yolov8的onnx模型

输出OUTPUTS是float32[1,35,8400],表示它会输出一个大小为[1, 35, 8400]的浮点数张量。这个输出张量的维度表示了检测到的目标的数量、每个目标的预测参数以及网格单元的数量。输出张量的第一个维度1表示检测到的目标数量。每个目标由35个值组成,表示目标的类别、置信度、边界框的坐标及10个特定点的位置。要取得8400个数据中置信度最高的数据,然后获取该数据其他channel的数据。运行结果:(蓝色是检测手的边框,红点是自定义的点),其中的四个数字分别表示不同的维度。

shenqingyu0605202324的博客 5603

[视频编码] BD-rate和BD-PSNR

BD-rate BD-rate即Bjøntegaard-delta-rate的缩写。在[1]中作为RD性能的衡量。 BD-rate概念 BD-rate定义为两条RD-cost曲线的平均差,这个平均差又定义为下曲线的面积积分除以积分区间与上曲线的面积积分除以积分区间之差[2]。BD-rate表示在同一视频客观质量的情况下,所优化后算法与原始算法相比的速率增加量(RD-cost画水平线)。BD-...

tengqi200的博客 1万+

别再死记硬背了!用MaxDEA软件实操SBM、DDF、NDDF模型,手把手教你测算绿色全要素生产率

本文深度解析如何使用MaxDEA软件实操SBM、DDF、NDDF模型,手把手教你测算绿色全要素生产率(GTFP)。通过详细的模型选择对比、数据准备策略和MaxDEA操作流程,帮助研究者科学构建指标体系并准确解读结果,提升环境管理研究的实证分析能力。

weixin_28731231的博客 314

视频编码失真测度:SAD、SATD、SSD、MSE、PSNR

一、定义 SSD:平方误差和 —— Sum of Squared Difference MSE:均方误差 —— Mean Squared Error SAD:绝对误差和 (时域)—— Sum of Absolute Difference SATD:绝对误差和(频域,也可叫HAD) —— Sum of Absolute Transformed Difference PSNR:峰值信噪比 —— Pe...

BigDream123的博客 9649

实战指南:在UE5中高效集成Entt(ECS)框架

本文提供了一份在虚幻引擎5中高效集成Entt ECS框架的实战指南。针对UE5项目在处理大规模动态实体时的性能瓶颈,详细讲解了如何通过数据驱动的ECS架构进行优化。内容包括前期环境准备、核心构建步骤、创建首个ECS子系统以及与UE原生系统的数据同步技巧,旨在帮助开发者快速掌握集成方法,提升游戏逻辑的执行效率。

weixin_29002209的博客 158

【FPGA】Robei EDA 的使用(7)—— Robei文件上板试验

#沐朝露兮以自华,觅大道兮以求成 我又滚过来了,研究了20多天RISCV,结果最后因为硬件问题导致无法在比赛中使用RISCV CPU,虽然已经临近比赛后期了,非常的崩溃,但是也没有什么办法。唉,一切不过是从头再来罢了。(写写博客舒缓我心中苦闷) ————————————————进入正文的分割线———————————————— 今天介绍一下如何利用 Robei EDA 生成文件,导入vivado中,综合下载到开发板里。拿我一个PWM控制舵机的代码为例。 Robei EDA设置 假设代码模块(model文件)经

Ninquelote的博客 2564

视频编码基础知识及环路滤波

其中,形容结果的两项指标往往联合使用,因为单纯的高质量和单纯的低码率都很难说明编码性能如何,一般公认的是固定单一变量来对比另一个变量,例如相同视频质量下的码率变化率(BD-BR)或相同码率下的 PSNR 变化量(BD-PSNR)。峰值信号的能量与噪声的平均能量之比,通常表示的时候取log变成分贝,由于MSE为真实图像与含噪图像之差的能量均值,而两者的差即为噪声,因此PSNR即峰值信号能量与MSE之比。个人见解:码率一定,即单位时间内使用的数据流量一定,如果分辨率越大,那说明颜色深度越小,就说明越糊?

Aure219的博客 2764

Keil环境下单片机串口通信实战:如何用printf发送中文(附完整代码)

本文详细解析了在Keil开发环境下,单片机通过串口通信发送中文信息时产生乱码的根本原因及解决方案。核心在于理解并统一编码(如GB2312或UTF-8),并正确重定向printf函数。文章提供了针对STC89C52和STM32F103的完整代码示例,涵盖工程配置、编码设置、调试技巧,帮助开发者实现稳定可靠的中文串口输出。

weixin_29168675的博客 467

SSIM vs PSNR:图像质量评估指标对比及适用场景分析

本文深入对比了SSIM(结构相似性指数)与PSNR(峰值信噪比)在图像质量评估中的差异与应用场景。通过分析两者的设计哲学、数学本质及计算特性,为工程师提供了针对视频编码优化、医学影像分析等不同场景的指标选择策略,并探讨了混合指标的新趋势与工程实践建议。

swift5iosmith的博客 308

【Educoder作业】※ 数字图像——绿幕抠像

这次作业比上一篇博客基本得多,大多都是基础函数的运用。没啥说的,就整个sizesizesize即可。 T2 获取一个像素 T3 图像反色 T4 修改透明度 ′RGBA′'RGBA'′RGBA′也是一种图像格式 T5 抠图 T6 添加场景 这个主要是pastepastepaste函数里面的maskmaskmask参量没整明白,转载一篇博客供参考。...

JZYshuraK的博客 7571

《UDS协议从入门到精通》系列——图解0x22:通过ID读数据

如何向车辆ECU通过DID写入数据?有哪些注意事项?图解+示例带你快速上手0x22服务!!

车载系统攻城狮 8712

视频编码名词参数解释

GOP(Group of Pictures) 策略影响编码质量:所谓GOP,意思是画面组,一个GOP就是一组连续的画面。MPEG编码将画面(即帧)分为I、P、B三种,I是内部编码帧,P是前向预测帧,B是双向内插帧。简单地讲,I帧是一个完整的画面,而P帧和B帧记录的是相对于I帧的变化。没有I帧,P帧和B帧就无法解码,这就是MPEG格式难以精确剪辑的原因,也是我们之所以要微调头和尾的原因。GOP 越长,B 帧所占比例更高,编码的率失真性能越高。 In Video coding, a group of pict

Lce的专栏 1749

uniapp(微信小程序) - 实现uniapp小程序电子签名板,横屏手写姓名签名专用写字画板,客户专用签字板,手写签名签字画板组件,手写签名,(详细运行示例,一键复制开箱即用)

uniapp实现微信小程序的电子签名效果,uniapp微信小程序 电子签名 写字板,用uniapp实现微信小程序的电子签名,uniapp微信小程序canvans实现手写签名,记录一个uniapp写的小程序的手写板,横屏,用于签名,unniapp实现电子签名,uniapp怎么做横屏的手写签名,uniapp如何实现签字板,uniapp小程序平台下怎么做电子签名板组件,uniapp电子签名插件,uniapp最好用的电子写字板插件组件源码,实现uniapp 手写签名功能,手写板、签字板,uni-app插件市场最好的

✅ 精选推荐文章 1万+

PSNR计算小结

一、概述 PSNR峰值信噪比的定义如下: MSE为两个m×n单色图像I和K(I为一无噪声的原始图像,K为I的噪声近似。例如:I为未压缩的原始图像,K为I经过压缩后的图像)残差值的平方。计算公式如下: 需要注意这里特别强调是单色图像,若文件是RGB24格式,计算出来的PSNR就有PSNR_R/PSNR_G/PSNR_B三个分量。若文件是YUV格式,那么计算出来的PSNR就有PSNR_Y/PSNR_U/PSNR_V三个分量。 MAXI是表示图像点颜色的最大数值,如果每个采样点用 8 位表示,那么

CrystalShaw的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

探索FFmpeg质量指标工具:深度解析与应用指南

探索FFmpeg质量指标工具:深度解析与应用指南 在数字视频处理领域,是由开发者slhck创建的一个FFmpeg扩展,专注于计算和比较视频的质量指标,为视频压缩和优化提供了宝贵的参考数据。本文将深入探讨该项目的功能、技术实现和应用场景,并展示其独特之处。 项目简介 ffmpeg-quality-metrics是一个Python脚本,它利用FFmpeg内置的功能,测量并比较不同视频编码设置下的质量指...

gitblog_00057的博客 892

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

DXVK与Vulkan视频编码质量比较:主观测试

在现代图形渲染技术中,视频编码质量是衡量图形API性能的重要指标之一。DXVK作为基于Vulkan的D3D9/D3D10/D3D11转换层,其视频渲染质量一直是用户关注的焦点。本文将通过主观测试方法,对DXVK与原生Vulkan的视频编码质量进行比较分析,为用户提供参考。 ## 测试环境 ### 硬件配置 | 组件 | 规格 | |------|------| | CPU | Intel C...

gitblog_00147的博客 715

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

上一篇: 视频编码基础知识--《自检模块》2021.7.22
下一篇: AVS3 <lookahead.c>部分解读
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值