18、计算机图形学中的插值与SVG图像绘制

计算机图形学中的插值与SVG图像绘制

1. 插值的实现

在进行插值操作时,我们首先要创建均匀分布的 t 值序列,然后在此基础上实现缓入缓出的 t 值序列。以下是具体的实现步骤:
1. 创建 interpolation.py 文件 :在 geom2d 文件夹中创建一个名为 interpolation.py 的新文件,并输入以下代码:

def uniform_t_sequence(steps: int):
    return [t / steps for t in range(steps + 1)]

def ease_in_out_t_sequence(steps: int):
    return [ease_in_out_t(t) for t in uniform_t_sequence(steps)]

def ease_in_out_t(t: float):
    return t ** 2 / (t ** 2 + (1 - t) ** 2)
  1. 测试均匀分布的 t 值序列 :在Python shell中重新加载后,尝试以下代码:
>>> from geom2d.interpolation 

相关推荐

stb-translator-data-repository.zip - Web 版翻译者资料库项目源码

本项目是由 VB6/Qt 桌面版《翻译者资料库》移植而来的 Web 版本,采用 Spring Boot 3.3 + Thymeleaf + Bootstrap 5.3 + MySQL 8.0 技术栈,面向翻译与写作场景提供一站式资料管理底座。系统涵盖资料管家、分类词库、句库、文本处理器、中英对照制作、通用查找、数据备份恢复及旧库迁移等核心模块,完整继承桌面版的编号连续、引号规范化、查重、RTF 附件同步等关键业务规则。前端采用服务端渲染配合本地静态资源,支持离线使用;通过 run.bat 一键完成环境检查、建库、编译与启动,访问 http://localhost:8080 即可使用。

利用LQR反馈控制器在不同风况下模拟风力涡轮转速控制的MATLAB.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

基于jdk21、jdk17、jdk8 + SpringCloud + SpringBoot 开发的微服务中后台快速开发平台,专注于多租户、开放平台解决方案,亦可作为普通项目的基础开发框架使用

基于jdk21、jdk17、jdk8 + SpringCloud + SpringBoot 开发的微服务中后台快速开发平台,专注于多租户(SaaS架构)、开放平台解决方案,亦可作为普通项目(非SaaS架构)的基础开发框架使用,目前已实现数据库隔离、字段隔离等租户隔离方案。

【无人机控制】基于MATLAB的侧风扰动抑制与风力模型构建:位置误差评估及风场感知路线规划系统设计 MATLAB 无人机侧风扰动抑制|风力模型与位置误差评估

内容概要:本文档围绕无人机在侧风扰动下的飞行稳定性问题,构建了一个基于MATLAB的完整仿真框架,涵盖风力建模、无人机运动仿真、侧风抑制控制、风场感知路线规划及位置误差评估。项目通过五种独立机制(平均风速、风向投影、阵风、湍流、定位噪声)生成具有物理意义的模拟数据,构建二维无人机运动模型,并设计包含比例-积分-前馈的复合控制器以抑制侧风引起的横向漂移。路线规划采用融合距离、风场与转弯代价的A*算法,实现抗扰路径选择。系统提供多层次误差评价体系,并支持结果可视化与模型部署,适用于低空飞行任务的抗风性能分析与优化。; 适合人群:具备MATLAB编程基础,从事无人机控制、路径规划或自动化系统开发的研发人员,尤其适合工作1-3年、希望深入理解环境扰动建模与控制系统协同设计的工程师。; 使用场景及目标:①研究侧风环境下无人机航迹跟踪的误差来源与抑制方法;②对比不同控制策略(如无补偿、积分补偿、前馈补偿)在侧风扰动中的性能差异;③实现融合风场代价的智能路径规划,提升任务安全性与能效;④基于模拟数据训练误差预测模型,支持数据驱动的飞行优化。; 阅读建议:此资源强调可复现性与工程实用性,建议读者结合代码逐模块运行,重点关注风场建模机制、控制律设计、路线代价函数构建及多指标评估方法。应通过调整参数(如风场权重、控制增益)观察系统响应变化,并利用提供的GUI界面进行交互式调试,以深化对各模块协同机制的理解。

高校技术转移办公室人员如何提升技术成果的推介效果和市场转化率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

agent-browser 实战资源包:给 AI Agent 装上浏览器(open/snapshot/click 最小复现 + smoke 脚本 + 中文README)

agent-browser(Vercel Labs 开源、Apache-2.0)实战配套包。本包全部脚本与示例页为作者自写(MIT),不含浏览器二进制、不含任何账号密码。 内容包含: - 中文 README:环境要求、安装、open→snapshot→click 循环讲解、安全注意、许可声明 - scripts/smoke.sh:对本地 samples/ 示例页离线跑通「打开→快照→点击→核对→关闭」,附 out/smoke-output.txt 实测留档 - scripts/demo-csdn.sh:真实站点(优快云 首页)最小演示,ref 动态解析 - package.json + package-lock.json:锁定 agent-browser 0.41.2,便于复现(Node >= 24) 实测环境:agent-browser 0.41.2 / Chrome for Testing 157 / Linux x86_64 / Node 24。 Chrome 需使用者自行 agent-browser install 下载(约 190MB,本包不代分发)。 关联博客:https://blog.youkuaiyun.com/mtl1994/article/details/170340810

两相交错并联BuckBoost变换器仿真模型(Simulink仿真实现)

内容概要:本文档系统整合了电力电子与新能源领域的Simulink仿真资源,聚焦于两相交错并联Buck-Boost变换器的双闭环PWM控制建模与仿真,同时涵盖多种典型拓扑结构,包括交错并联Boost、PFC功率因数校正、LLC谐振变换器、双向CLLC、DAB变换器、VIENNA整流器等。资源体系完整,包含仿真模型、设计报告、计算书、PPT说明文档及Matlab/Python代码,覆盖从基础建模到高级控制策略(如软开关技术、谐波抑制、状态估计、双闭环控制)的全流程。此外,还拓展至状态估计(卡尔曼滤波、粒子滤波)、智能优化算法、机器学习、信号处理、路径规划等多个交叉学科方向,构建了一个面向科研与工程应用的综合性技术平台。; 适合人群:电气工程、自动化、电力电子、新能源科学与工程等专业的硕士博士研究生、高校科研人员,以及从事新能源发电、智能电网、电动汽车、电力传动等领域技术研发的工程师。; 使用场景及目标:①开展电力电子变换器(如Buck-Boost、LLC、DAB、PFC等)的建模、控制与仿真研究;②支撑课程设计、学位论文、科研项目中的系统仿真与算法验证;③学习并复现高水平期刊(如EI)提出的先进控制策略,如基于KKT条件的最优控制、扩展移相调制、恒压恒流双环竞争控制等;④结合智能算法(如粒子群、秃鹰算法)进行微电网调度、储能配置、路径规划等多目标优化问题的研究与快速原型开发。; 阅读建议:建议依据提供的资源目录循序渐进地查阅资料,优先选取与自身研究方向高度契合的内容进行深入学习;应结合仿真模型与配套文档动手实践,调试参数并分析结果,充分利用百度网盘与公众号渠道获取完整资源,提升科研工作的系统性、规范性与创新性。

【基于Zernike矩的良性和恶性肿块的分类】应用于乳腺癌诊断中的快速相反权重学习规则(Matlab代码实现)

内容概要:本文详细介绍了基于Plecs软件构建的全桥LLC谐振变换器仿真模型,重点阐述了其在软开关技术条件下的建模方法与仿真分析过程。该模型能够精确模拟LLC谐振变换器在不同运行工况下的动态响应特性,涵盖开环与闭环控制策略的设计与实现,适用于研究变换器的效率优化、谐振参数匹配、系统稳定性及软开关性能等问题。相较于Simulink等传统仿真工具,Plecs在高频电力电子系统仿真中展现出更高的仿真速度与数值精度,尤其适合用于复杂电力电子拓扑的快速原型验证与优化设计。; 适合人群:具备扎实电力电子技术基础和仿真经验,从事高频功率变换器设计、新能源电源开发、电力电子系统研究的研发工程师及高校研究生。; 使用场景及目标:①深入理解全桥LLC谐振变换器的工作原理与软开关实现机制;②掌握在Plecs环境中搭建高精度、高效率电力电子系统仿真模型的方法;③开展变换器控制策略(如变频控制、闭环稳压)的仿真验证与参数优化;④为科研课题、学位论文或工业项目提供可靠的仿真平台与技术支持。; 阅读建议:建议结合相关电力电子教材与LLC变换器设计指南,深入掌握谐振参数计算与系统稳定性分析方法,并通过反复调试仿真模型,观察关键波形(如原边电流零点切换、副边整流波形),以全面理解软开关过程的物理本质与控制实现细节。

产业园区运营负责人如何提升园区内技术成果与企业需求的精准对接效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何利用数智平台提升核心技术攻关与成果转化协同能力?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何高效完成技术成果的筛选与推介?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

里面有DoTweenPro

里面有DoTweenPro

三电平维也纳VIENNA双闭环控制整流器仿真(Simulink仿真实现)

内容概要:本文档详细介绍了一个基于Simulink的三电平维也纳(VIENNA)整流器双闭环控制系统仿真模型,重点实现了电压外环与电流内环的双闭环PI控制策略,并结合空间矢量脉宽调制(SVPWM)技术实现中点电位平衡控制。该模型全面涵盖了三相三电平整流器的数学建模、坐标变换(如abc/dq)、控制器设计、调制算法实现及系统稳定性分析,能够有效验证整流器在高功率因数、低谐波畸变和稳定直流电压输出方面的优异性能,适用于电力电子系统中的高性能整流应用研究与教学演示。; 适合人群:电力电子、电气工程及其自动化等相关专业的研究生、高校教师、科研人员以及从事新能源变换器、工业电源系统开发的工程技术人员。; 使用场景及目标:①深入理解三电平VIENNA整流器的工作原理与拓扑优势;②掌握双闭环PI控制器在dq坐标系下的设计方法与参数整定技巧;③学习SVPWM调制技术在中点电位平衡控制中的实现机制;④支撑科研课题、学位论文仿真验证、课程设计或实际工程项目的技术预研。; 阅读建议:建议结合《电力电子技术》《现代控制理论》等教材同步学习,重点关注仿真模型中各模块的信号流向与控制逻辑,建议动手调整PI参数、负载条件及电网扰动,观察动态响应波形,深入掌握系统鲁棒性与控制精度之间的权衡关系。

两相交错并联Buck/Boost变换器仿真模型(Simulink仿真实现)

内容概要:本文提供了一个两相交错并联Buck/Boost变换器的Simulink仿真模型,旨在通过高精度建模实现对这类双向DC-DC变换器的动态特性分析与控制策略验证。该仿真模型详细构建了主电路拓扑结构,包含两个交错并联的Buck/Boost单元、电感、开关器件及滤波元件,并集成了闭环控制模块,如电压/电流双闭环PI控制器、PWM调制单元以及驱动逻辑,支持升压(Boost)与降压(Buck)两种工作模式的平滑切换。模型充分体现了交错并联技术在减小输入输出电流纹波、提升系统效率与功率密度方面的优势,适用于研究均流控制、软开关实现、动态响应优化等关键技术问题。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生、科研人员以及从事新能源发电、电动汽车、储能系统等领域研发的工程技术人员。; 使用场景及目标:①掌握两相交错并联Buck/Boost变换器的工作原理与建模范式;②设计与验证针对此类变换器的先进控制算法(如均流控制、模式切换平滑控制);③分析系统在负载突变、输入电压波动等工况下的动态性能与稳定性;④为实际硬件开发提供前期理论仿真与参数优化依据。; 阅读建议:使用者应具备一定的电力电子变换器基础知识和Simulink/MATLAB操作能力,建议在学习过程中结合相关文献深入理解控制策略的设计逻辑,并尝试修改电路参数或控制算法以观察系统响应变化,从而加深对变换器动静态特性的理解。

科技中介服务机构如何借助平台实现服务模式的数智化升级?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

bili-comments-sidebar-1.7.0.zip

扩展升级到 1.7.0。 这次主要改动: 一条笔记可以插入多个时间戳。 一条笔记可以截取多张画面。 可以连续点击「截取画面」,不需要清空编辑器。 编辑器中会显示所有待保存截图。 每张截图都可以单独移除。 已保存笔记中的所有时间戳都可以点击跳转。 已保存笔记中的所有截图都可以点击放大查看。 截图会显示对应的时间。 Markdown 导出会包含一条笔记中的全部截图。 兼容之前版本只有单张图片的旧笔记。 编辑区域纵向高度从原来的约 100px 增加到 220px。 笔记中的时间戳支持类似: [00:32] 看这一段 01:25 很重要 1:23:45 安装方式仍然是: 解压 ZIP。 打开 chrome://extensions/。 开启「开发者模式」。 移除旧版扩展。 点击「加载已解压的扩展程序」。 选择解压后的文件夹。 建议用新版本打开旧笔记测试一下。旧笔记会自动兼容读取,新保存的笔记会使用多截图格式。

【交替方向乘子法】ADMM和光谱近邻算子在高光谱宽带相位恢复中的应用于定量相位成像(Matlab代码实现)

内容概要:本文详细介绍了基于Plecs软件构建的全桥LLC谐振变换器仿真模型,旨在深入分析该高效、高功率密度DC-DC变换器的动态特性与性能优化。模型完整涵盖全桥逆变器、由谐振电感、谐振电容和励磁电感组成的谐振腔,以及中心抽头全波整流电路,能够精确模拟其在不同负载与输入电压条件下的软开关过程、谐振波形、电压增益及转换效率。用户可通过该模型设计并验证开环与闭环控制策略(如变频控制PFM),并系统研究谐振频率、品质因数、电感比等关键参数对系统性能的影响,为实际硬件开发提供坚实的理论依据和前期验证平台。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生、从事开关电源研发的工程师以及对LLC谐振变换器设计与仿真有深入研究需求的科研人员。; 使用场景及目标:① 系统学习LLC谐振变换器的工作原理并掌握Plecs仿真建模方法;② 探究不同谐振参数对变换器电压增益曲线和转换效率的作用机制;③ 设计、实现并验证全桥LLC变换器的变频控制等闭环控制策略;④ 为实际工程项目进行预研分析和关键参数优化,缩短研发周期。; 阅读建议:建议使用者在动手仿真前,结合电力电子技术的经典教材或权威文献,深入理解LLC谐振变换器的基础理论与工作模态,然后通过在模型中主动调整各项参数进行仿真实验,仔细观察并记录关键电气波形(如开关管电压电流、谐振电流、输出电压)与性能指标(如效率、电压增益)的变化趋势,从而深刻掌握其内在工作机理与设计精髓。

从 MuJoCo 仿真到重力补偿:具身智能机械臂 Day 1-2 全景拆解

从 MuJoCo 仿真到重力补偿:具身智能机械臂 Day 1-2 全景拆解

保姆级教程:在阿里云ECS上用Docker一键部署EMQX MQTT服务器(Ubuntu 20.04)

本文提供在阿里云ECS上使用Docker一键部署EMQX MQTT服务器的详细教程,涵盖从实例创建、Docker环境配置到EMQX部署与优化的全流程。适合物联网开发者快速搭建高效、安全的MQTT消息服务器,适用于智能家居、工业物联网等场景。

weixin_28739079的博客 308

Kettle下载与安装教程【保姆版】

Kettle简介 Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。后来Kettle重命名为Pentaho Data Integration 。 它由Java开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。 主要功能 Pentaho D

weixin_43407520的博客 12万+

股票交易接口TDX量化下单接口

对于需要同时操作多只股票的投资者而言,这一功能可以一次性处理多个交易指令,大大提高了交易的效率。通过回测,投资者可以发现策略中的不足之处,进而进行优化和调整,提高策略的可靠性。根据通达信提供的安装指南,下载相应的安装程序并进行安装。这包括设置交易账户的相关信息,如账户名、密码等,以及连接到正确的交易服务器。不同的情况可能会有不同的标准,有的可能要求账户使用达到一定的时长,有的可能对账户内的资产金额有最低要求。可以通过接口提供的监控功能或者第三方工具,实时查看交易状态、交易数据等信息,确保交易按照预期进行。

2401_88470113的博客 1288

Python 领域 vllm 知识蒸馏的实践经验

知识蒸馏(Knowledge Distillation)是一种将大型、复杂模型(教师模型)的知识转移到小型、高效模型(学生模型)的技术。在大型语言模型(LLM)时代,这项技术变得尤为重要,因为它可以在保持模型性能的同时显著降低计算资源需求。本文专注于在Python生态中使用vLLM(Very Large Language Model)框架实现知识蒸馏的实践经验。vLLM是一个专为大型语言模型设计的高效推理和服务框架,它通过创新的注意力机制和内存管理技术,显著提高了LLM的推理速度。

AI Python 编程之道的博客 777

使用 MATLAB/Simulink + Simscape Electrical + Simulink Design Optimization,构建一个沙漠环境中光伏组件灰尘积累与效率下降仿真模型

本文通过,构建了沙漠环境中光伏组件灰尘积累与效率下降仿真模型✅ 建立了风速-沙尘-积尘速率的物理关系✅ 仿真了灰尘积累过程及其对Isc 和 Pmax的影响✅ 量化分析了不同清洁策略的经济性✅ 提出了优化设计与智能运维建议。

xiaoheshang_123的博客 122

OpenClaw 在 Docker 容器中的部署实战——零配置启动

本文介绍了OpenClaw在Docker容器中的快速部署方法,对比了本地部署与容器化部署的优势。通过官方镜像和Docker Compose两种方式,5分钟即可完成部署,并详细讲解了配置管理方案(挂载配置文件和环境变量)。文章还提供了飞书集成配置方法,以及生产环境下的日志管理、资源限制、健康检查等优化建议。最后包含常见问题排查指南,帮助开发者快速实现OpenClaw的容器化部署。

刘一说的IT专栏 904

X书x-mini-sig_x-mini-mua

X书的tiny风控代码,成功运行x-mini-sig|x-mini-mua

Codeooo 博客 1万+

使用Simulink进行四足机器人的非线性动力学建模与仿真

四足机器人的运动包含多个自由度(DOF),包括腿部的摆动和支撑阶段的动力学特性。由于存在接触力、摩擦以及不同地形的影响,四足机器人的动力学行为呈现出高度的非线性特征。因此,构建准确的非线性动力学模型对于研究机器人的运动学和动力学特性至关重要。定义代表机器人状态的变量,如位置、速度、角度和角速度。matlab深色版本通过本指南,我们介绍了如何基于Simulink搭建一个四足机器人的非线性动力学模型,并进行了详细分析。

xiaoheshang_123的博客 311

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

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 52、计算机电话通信系统的技术与操作系统解析
下一篇: 19、SVG 图像绘制:从基础到 Python 实现
五行擒拿术
博客等级 码龄26年 54粉丝 1361原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值