Origin图表批量导出JPG:统一尺寸与分辨率的终极解决方案

android 2.3 电量管理 1.     介绍.... 4 2.     电池管理.... 4 2.1.      FrameWork.. 5 2.1.1.       监听... 5 2.1.1.1.     UEventObserver的实现... 6 2.1.1.2.     uevent 8 2.1.2.       状态读取... 9 2.1.3.       更新显示... 9 2.2. 阅读详情

1. 项目缘起:一个看似简单却常被忽略的痛点

做科研、写报告、整理数据,Origin 几乎是理工科学生和研究人员绕不开的工具。我们花大量时间调整坐标轴、美化曲线、设置图例,最终得到一张满意的图表。然而,当我们需要将这张图导出为 JPG 图片,用于插入 PPT、Word 文档或者上传到某些在线系统时,问题就来了:导出的图片要么尺寸忽大忽小,要么分辨率模糊不清,要么在不同设备上显示的比例失调。更麻烦的是,当你需要批量处理几十张图表,要求它们拥有完全一致的宽度、高度和文件大小时,手动一张张调整导出设置,无异于一场噩梦。

这个痛点,我称之为“最后的 1 公里障碍”。图表内容本身已经完美,却卡在了输出格式的统一性上。尤其是对于需要严格遵循投稿格式的学术论文,或者需要保持视觉一致性的项目报告,图片尺寸的参差不齐会显得非常不专业。网络上相关的求助和讨论也很多,从“Origin 导出 JPG 不清晰”到“如何批量导出固定尺寸的图片”,都指向了同一个核心需求:我们需要一种可靠、高效的方法,从 Origin 中导出宽高、大小、格式完全统一的 JPG 图片。

本文将彻底解决这个问题。我不会只告诉你软件界面上那几个简单的输入框怎么填,而是会深入剖析 Origin 导出机制背后的逻辑,解释每一个参数设置的实际影响,并分享一套经过实战检验的流程,包括单张图片的精细控制方法和基于脚本的批量处理方案。无论你是偶尔需要导出一两张图,还是经常面临成百上千张图的导出任务,这篇文章都能让你告别手动调整的繁琐,实现“一次设置,处处统一”的高效工作流。

2. 理解核心:JPG 导出参数背后的“像素世界”

在开始操作之前,我们必须先理解几个关键概念。Origin 导出图片,本质上是在将软件内矢量或高精度的图形数据,按照我们设定的规则,“渲染”成一个由像素点组成的位图文件(如 JPG)。这个过程涉及几个核心参数,它们共同决定了最终图片的“统一性”。

2.1 图片尺寸(Image Size):宽度与高度的绝对控制

这是控制图片“形”的统一性的首要参数。在 Origin 的“导出”对话框中,通常以“宽度”和“高度”来设置,单位可以是英寸(in)、厘米(cm)或像素(px)。

  • 英寸/厘米 vs 像素 :这是一个关键选择。如果你导出的图片最终用于打印(如论文插图),使用英寸或厘米作为单位是更科学的选择,因为这关联着打印的物理尺寸。但如果你主要用于电子屏幕显示(如网页、PPT),那么直接使用像素(px)作为单位更为直接和精确。 为了实现严格的宽高统一,我强烈建议在跨平台、跨设备的电子文档场景下,直接使用像素(px)作为设置单位。 例如,你可以统一设定为“宽度:1200 像素,高度:800 像素”。
  • 锁定纵横比 :对话框里通常有一个“锁定纵横比”的复选框。如果你勾选了它,那么当你修改宽度时,高度会自动按原图比例变化,反之亦然。 要实现自定义的、统一的宽高,你必须取消勾选“锁定纵横比” ,然后分别输入你想要的宽度和高度值。这意味着你可以强制将一张原本是方形的图拉成长方形,反之亦然,所以需要谨慎,确保不会严重扭曲图中的科学内容。

2.2 分辨率(DPI):清晰度的“密度”定义

DPI(Dots Per Inch,每英寸点数)是另一个极易混淆的参数。它不直接决定图片在屏幕上显示的物理尺寸(那是像素的职责),而是决定了 打印时 的清晰度,或者更准确地说,它定义了“像素密度”。

  • DPI 与像素的关系 :一张 1200 像素宽、800 像素高的图片,如果设置其分辨率为 300 DPI,那么在打印时,它的物理宽度将是 1200 / 300 = 4 英寸。如果分辨率设为 150 DPI,那么打印宽度就是 1200 / 150 = 8 英寸。 关键在于:对于屏幕显示,绝大多数软件和网页只关心图片的总像素数(1200x800),而几乎忽略 DPI 信息。 高 DPI(如 300 或 600)设置主要影响打印质量,以及在 Word、PPT 等软件中插入图片时,软件内部换算显示的尺寸。
  • 统一性的意义 :为了确保所有导出的图片在打印或插入文档时具有一致的“质感”,我们需要统一 DPI 设置。学术期刊通常要求 300 DPI 或 600 DPI。 对于我们的统一导出目标,建议固定一个 DPI 值(例如 300 DPI),然后结合固定的像素尺寸,这样就能从源头上保证每张图的“像素密度”一致。
  • </
锂电池的充电原理以及快充原理 参考资料: 电池研究 | 锂离子电池快充原理 解析锂电池的充电的整个过程! 1. 锂电池充电过程 锂离子电池的充电过程可以分为四个阶段:涓流充电(低压预充)、恒流充电、恒压充电以及充电终止。 锂电池充电器的基本要求是特定的充电电流和充电电压,从而保证电池安全充电。增加其它充电辅助功能是为了改善电池寿命,简化充电器的操作,其中包括给过放电的电池使用涓流充电、电池电压检测、输入电流限制、充电完成后关断充电器、电池部分放电后自动启动充电等。 锂电池的充电方式是限压恒流,都是由IC芯片控制的,典型的充电方式如下: 阅读详情

相关推荐

Origin科研绘图:一键批量导出统一尺寸与分辨率的JPG图片全攻略

在科研绘图与数据分析中,图像导出是确保成果呈现专业性的关键环节。其核心原理在于控制图像的物理尺寸、分辨率(DPI)和文件格式参数,以实现视觉一致性与印刷清晰度。这项技术的价值在于能显著提升学术图表在论文、报告及演示文稿中的标准化程度,避免因尺寸不一、分辨率参差导致的版面混乱问题。具体到应用场景,无论是期刊投稿插图、学术海报制作,还是日常数据报告,都需要对导出流程进行标准化配置。本文聚焦于利用Origin软件,通过**页面设置(Page Setup)** 与**导出参数(Export Graphs)** 的精

weixin_34235457的博客 745

Origin科研绘图高清导出全攻略:从原理到实践,解决图片模糊与DPI难题

在数据可视化与科研绘图领域,图像输出质量直接影响成果呈现的专业性。其核心原理在于理解像素图与矢量图的根本区别:像素图由固定栅格构成,放大易失真;矢量图基于数学描述,可无限缩放。这一差异决定了技术选型,高清输出的关键在于有效控制分辨率(DPI)与渲染过程。对于学术出版、报告展示等场景,掌握正确的导出设置能显著提升图表清晰度与视觉冲击力,避免因图片模糊、边缘锯齿等问题影响沟通效率。本文聚焦Origin软件,深入解析其图形系统原理,并提供针对TIFF、PNG、PDF等格式的出版级输出方案与批量处理技巧,助力科研工

weixin_30421809的博客 352

Origin高清出图全攻略:从DPI设置到格式选择,解决科研绘图输出模糊难题

在科学绘图与数据分析中,图像输出质量直接影响研究成果的呈现效果。其核心原理在于理解矢量图形与栅格图像的区别,以及分辨率(DPI)与输出尺寸的匹配关系。掌握正确的参数设置技术,能够确保数据可视化结果在从屏幕显示到印刷出版的各个环节中保持清晰、精准,这对于提升学术交流与出版物的专业性具有重要价值。特别是在科研绘图、论文投稿和学术海报制作等应用场景中,高清输出是保障图像细节不失真的关键。本文聚焦于Origin软件,深入解析如何通过设置DPI、选择TIFF/PNG等格式以及优化工作流程,实现从“能看”到“能发表”的

weixin_33978044的博客 408

Origin科研绘图效率革命:从零配置专属模板与自动化工作流

在科研数据处理与可视化领域,数据绘图软件是研究人员将复杂数据转化为直观图表的核心工具。其核心原理在于通过预设的图形引擎和渲染管线,将数值映射为视觉元素。掌握软件的高效使用,不仅能提升图表产出速度,更能确保学术图表在格式、样式上的统一性与出版级质量,这对于论文撰写、项目报告等场景至关重要。本文聚焦于OriginPro这一专业工具,深入探讨如何通过系统性的初始化设置与模板化配置,构建个人专属的绘图流水线。我们将从解决“origin出现demo字样”、“origin ok dll 下载”等常见安装与配置问题切入,

weixin_34290631的博客 455

Origin 2018保姆级安装与论文绘图避坑指南(附百度网盘链接)

本文提供Origin 2018的详细安装指南与科研绘图避坑技巧,涵盖软件安装、初始配置、期刊级图表制作规范及高级图表技巧。通过可验证的安装方案和全流程制作技巧,帮助科研人员高效生成符合期刊要求的图表,避免常见问题如字体变化和分辨率降低。

weixin_30954265的博客 367

Origin Digitizer:从图表图片中精准提取数据点的完整指南

在科研与工程实践中,数据可视化图表是传递信息的核心载体。然而,当需要基于已有图表进行二次分析、数据验证或模型拟合时,获取其背后的原始数据矩阵往往成为关键挑战。这涉及到从像素图像到数值坐标的转换原理,即通过坐标系标定建立图像空间与数据空间的映射关系。掌握这项技术具有重要的技术价值,它不仅是文献数据复现与验证的合法途径,也是历史数据电子化与跨平台数据迁移的有效手段。其应用场景广泛,涵盖从论文图表、实验截图到各类科学图像的数据提取。本文聚焦于利用Origin软件内置的Digitizer工具,系统讲解如何通过严谨的

weixin_34265814的博客 360

Origin科研绘图实战:从数据组织到出版级图表的高效进阶指南

在科研与工程领域,数据可视化是呈现研究成果、揭示数据规律的关键环节。其核心原理在于通过图形化手段,将抽象数据转化为直观的视觉信息,从而高效传达科学发现。掌握专业的绘图工具与技术,不仅能提升图表的美观度与规范性,更能显著增强数据分析的说服力与沟通效率。在众多工具中,Origin以其强大的图形界面与专业的可视化效果,成为科研绘图领域广泛应用的利器。本文聚焦于Origin软件的高阶应用,深入剖析从数据组织、核心图表绘制到图形美化的全流程实战技巧。通过系统讲解折线图、柱状图、箱线图等核心图表类型的绘制与优化,并结合

weixin_30954265的博客 431

告别模糊:LaTeX论文排版中JPG/PNG转EPS的高清转换实战

本文详细介绍了LaTeX论文排版中JPG/PNG转EPS的高清转换实战技巧,帮助解决学术论文中图片模糊问题。通过命令行工具bmeps、专业软件Origin和Photoshop的进阶设置,以及在线工具的避坑指南,确保图片转换后保持高清质量。特别适合需要提交EPS格式图片的SCI期刊投稿者,提升论文排版的专业性和通过率。

weixin_28709649的博客 297

Origin绘图实战:如何用FDTD仿真数据生成专业电场图(附等高线vs热图对比)

本文详细解析了如何利用Origin将FDTD仿真数据转化为专业电场图的全流程,特别对比了等高线图与热密度图在科研绘图中的适用场景与优化技巧。通过实际案例演示数据预处理、导入设置、图表优化及出版级设计,帮助研究人员高效生成符合学术期刊要求的可视化结果。

water的专栏 1151

位图与矢量图:从原理到实战,解决图片模糊与格式选择难题

在数字图像处理领域,理解图像的基本构成原理是确保视觉内容质量的关键。图像主要分为位图和矢量图两大类,其核心区别在于存储和渲染方式。位图基于像素网格,记录每个点的颜色信息,擅长表现照片等连续色调,但放大易失真;矢量图则通过数学公式定义图形,可无限缩放且保持清晰,适用于Logo、图标等。掌握这一原理,对于内容创作、网页设计、印刷出版等场景具有重要技术价值,能有效避免图片模糊、格式不兼容等问题。本文结合【投稿被拒】和【图片模糊】等常见痛点,深入解析如何根据应用场景(如屏幕显示、高清印刷、品牌标识)精准选择JPG、

weixin_33672400的博客 402

Origin制作渐变色卡并应用于PPT:科研与商业报告的专业配色方案

数据可视化与科学绘图是科研汇报和商业分析中的核心环节,其关键在于通过精准、协调的色彩传递信息并提升视觉说服力。颜色管理作为其中的基础技术,涉及RGB/HEX等色彩模型,其原理在于通过数值化定义确保色彩在不同设备和软件间的一致性。掌握科学的配色方法,能显著提升图表的信息传达效率和演示文稿的专业质感,广泛应用于学术论文插图、项目答辩以及数据分析报告等场景。本文聚焦于利用Origin软件强大的渐变填充功能,创建自定义渐变色卡,并解决如何将色卡颜色精准应用到PowerPoint中的实际问题,实现配色方案的高效复用,

weixin_30587927的博客 500

安卓手机电池电量电压动态曲线的绘制

利用Handler+timer机制和第三方开发包achartengine实现动态绘制安卓手机充放电曲线的应用

别再只看图了!代谢组学OPLS-DA分析,R2Y和Q2Y到底怎么看才不踩坑?

本文深入解析代谢组学OPLS-DA分析中的关键指标R2Y和Q2Y,揭示如何避免过拟合陷阱。通过详细解读模型解释能力(R2Y)和预测能力(Q2Y),结合置换检验方法,提供完整的模型评估流程与实战建议,帮助研究者获得可靠的分析结果。

weixin_42638178的博客 186

STM32驱动AS5600磁性旋转位置传感器模块

文章目录简介引脚定义I2C接口写数据读数据从指定的地址开始读数据驱动程序cubeMX配置驱动程序`bsp_as5600.h``bsp_as5600.c`测试程序参考资料 简介 AS5600 是一款易于编程的磁性旋转位置传感器,具有高分辨率 12 位模拟或 PWM 输出。 这种非接触式系统测量径向磁化轴上磁铁的绝对角度。 该 AS5600 专为非接触式电位计应用而设计,其坚固的设计消除了任何同质外部杂散磁场的影响。 引脚定义 I2C接口 7位设备地址为0x36(二进制表示为0110110) 支持标准模式和

ApexYuan 1万+

RapidScada在windows下的安装(详细)

1.下载地址:RapidScada官网 2.版本说明 有Linux版本和Windows版本,看自己的需求下载,推荐下载最新稳定版本。 3.系统要求 4.安装前的准备(windows10) 首先打开Windows功能: 先关闭 Microsoft .NET Framework3.5的 Windows Communication Foundation 子组件。如下图: Microsoft .NET Framework配置按下图勾选: iis安装的功能: 5.安装 解压..

m0_51275803的博客 4255

spring-ai学习(四)-MCP

创建一个springai项目1.依赖。

zql1455890112的博客 1377

从零搭建风电场:手把手教你用WAsP+WindPRO完成风资源评估全流程

本文详细介绍了从零开始搭建风电场的全流程,重点讲解如何使用WAsP和WindPRO进行风资源评估和风场布局优化。内容包括软件配置、数据采集规范、风图谱建模实战、机组选型策略以及常见问题解决方案,帮助工程师掌握风电开发的核心技术,提升项目成功率。

year5的博客 358

嵌套学习 (Nested Learning, NL):赋予AI持续学习能力的革命性范式

嵌套学习(Nested Learning, NL)的核心哲学在于彻底颠覆传统深度学习中将模型架构(Architecture)与优化算法(Optimization)视为两个独立组件的“扁平化”视角 。传统方法通常将神经网络的结构设计和其训练过程分离开来,模型架构是预先定义好的静态蓝图,而优化算法(如SGD、Adam)则是一个外部的、统一的规则引擎,负责在训练期间调整模型参数 。这种分离的视角隐藏了模型内部不同组件之间复杂的梯度流和动态更新过程,将整个学习系统视为一个单一层次的优化问题。然而,嵌套学习范式提出,

步子哥的博客 482

算法 | A*算法实现最优路径规划

启发式探索是利用问题拥有的启发信息来引导搜索,达到减少探索范围、降低问题复杂度的目的。A*寻路算法是启发式探索的一个典型实践,在寻路搜索的过程中,给每个节点绑定了一个估计值(即启发式),在对节点的遍历过程中采取估计值优先原则,估计值更优的节点会被优先遍历。...

不断学习,不断进步,提高自己 6619

Vue3 - 详解实现网站接入微信扫码登录功能,微信授权生成登录二维码用户用手机扫描二维码登陆,微信扫描二维码登录详细流程及示例代码,支持弹框式、浏览器单独新开页显示,最新vue集成微信扫码授权登录!

vue3,nuxt3,PC网站,网页,微信扫码登录,微信登陆,vue3微信扫码登录,获取个人信息,扫码登录后如何获取用户手机号,微信扫码授权登录,vue3详细实现微信扫一扫登陆,pc网页微信登录,vue3集成微信扫码登录,详细流程和示例源码,第三方扫码登录,vue3微信扫码登录怎么新开一页,跳页显示二维码,内嵌登录二维码,iframe,iframe新页面弹出,弹出一个小窗口显示登录二维码,登录报错,微信扫码没反应,解决手机点登录报错没反应,官方文档,手机扫描微信二维码登录网站,最好用的插件,vue-wxlo

🏆 前端领域优质创作者 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Camera2Demo

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

上一篇: CentOS 7.9 编译部署 ZLMediaKit 流媒体服务器全攻略
下一篇: QGIS加载天地图瓦片请求重试错误排查与解决方案
anfeng3664
博客等级 码龄10年 62粉丝 279原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值