被裁员后,我用6个月重新定义程序员价值:2025年最值得关注的3个转型方向

FOC电机控制中电流采样延迟补偿的原理和方法 摘要: FOC电机控制中,电流采样、计算与PWM更新存在固有延迟(约1.5个PWM周期),导致相位滞后,限制电流环带宽。主流补偿方法包括: 一阶前向预测法:基于历史电流值预测未来电流,抵消延迟,工程应用广泛; 相位超前补偿:通过s/z域校正器设计实现等效预测; 状态观测器法(如龙伯格观测器):通过电机模型闭环估计状态,兼具噪声抑制和参数辨识能力,但复杂度高。实际需注意参数敏感性、离散化精度及延迟时间校准,避免过补偿风险。一阶预测法因平衡效果与复杂度成为工业首选。 阅读详情

被裁员后,我用6个月重新定义程序员价值:2025年最值得关注的3个转型方向

被裁员后,我用6个月重新定义程序员价值:2025年最值得关注的3个转型方向

引言:那个被裁的下午,多年的代码生涯仿佛成了笑话

img

下午2点,微信弹出HR的消息:"方便现在来一下会议室吗?“我下意识保存了正在调试的代码,咖啡杯在桌上划出一道水痕——那是我在这家公司写的最后一行代码。
那天晚上,我投了30份简历,收到的回复却只有"您的经验与岗位要求不太匹配”。深夜刷着招聘软件,第一次怀疑:多年的代码生涯,难道真的一文不值?
直到看到蒋同学的故事——他从机电一体化转行程序员,3次进修后成为鸿蒙开发组长,月薪从15K涨到22.5K。那一刻我突然明白:「裁员不是终点,而是重新审视职业价值的起点」。

img

一、重新认识程序员:从"代码工人"到"技术战略家"

行业正在抛弃只会写代码的人

新浪财经最新数据显示:2025年AI工程师、云计算架构师等岗位需求暴涨,资深人才年薪可达百万,但传统Java开发岗位竞争比例已达100:1。Meta等公司已计划用AI接管部分编程工作,扎克伯格预测"2025年AI编程能力将逼近中级工程师水平"。

这意味着什么?「程序员的核心价值不再是"写代码",而是"用技术解决问题"」。就像全栈架构师需要懂业务,AI工程师要理解算法落地场景,新时代的程序员必须成为技术与业务的桥梁。

过去我总以"精通Java"自居,却忽视了公司正在布局的云原生转型。裁员让我看清:技术栈的广度比深度更重要,尤其是在AI能自动生成基础代码的今天。

二、破局之路:我如何用6个月完成技能重构?

1. 技术升级:从"单一技能"到"T型能力"

蒋同学的经历给了我启发——他先后学习前端、产品经理、鸿蒙开发,最终成为复合型人才。我决定从两个方向突破:

「纵向深耕」:选择网络安全领域(优快云数据显示2025年安全人才缺口70万),考取NISP二级证书
「横向拓展」:学习低代码平台开发(OutSystems/Mendix),3周完成第一个企业级应用

我的学习时间表:

  • 每天早上1小时:刷GitHub Trending,跟踪热门项目
  • 晚上2小时:Coursera的"网络安全专项课程"
  • 周末:参与开源项目贡献代码,目前已提交3个PR
2. 软技能突围:程序员的"第二曲线"

《哈佛商业评论》研究显示:企业更看重沟通、团队合作等软技能,这些能力能让你在技术相当的竞争者中脱颖而出。

我开始强迫自己:

  • 每周做1次技术分享,从部门内讲到公司外
  • 在Stack Overflow回答问题,目前已获得500+声望
  • 组织线上技术研讨会,主题从"微服务架构"到"AI伦理"

3个月后,当我在面试中流畅讲解技术方案时,面试官说:“你比其他候选人更懂如何把技术讲清楚。”「原来技术之外的能力,才是职场的"隐形竞争力"」。

三、2025年程序员转型的3条黄金赛道(附真实案例)

1. 技术深耕型:从开发到架构师

「蒋同学的故事」:从机电一体化转行程序员,3次进修后成为鸿蒙开发组长
他抓住国产化替代风口,通过黑马集训营系统学习,现在带领5人团队负责华为合作项目,月薪22.5K。

「行动建议」:

  • 选择一个高增长领域(如AI大模型、云原生)
  • 深耕1-2年,考取行业认证(AWS/Azure认证)
  • 参与复杂项目设计,积累架构经验
2. 业务融合型:技术产品经理/解决方案架构师

「老王的转型」:前同事从后端开发转型技术产品经理,年薪涨了40%
他说:“程序员懂技术的优势,能让我更好地平衡产品需求与技术实现。”

「核心能力」:

  • 学习用户画像分析、PRD撰写
  • 掌握Axure等原型工具
  • 培养"用技术思维解决业务问题"的能力
3. 跨界创新型:从技术到创业/自由职业

「何方舟的跨界」:从亚马逊工程师到古着创业
他用代码开发球鞋交易平台积累第一桶金,现在通过线下市集实现百万收入,团队规模15人。

「可能性探索」:

  • 技术咨询:为中小企业提供数字化转型方案
  • 独立开发:打造SaaS工具或垂直领域应用
  • 技能变现:像张熹那样转型网约车司机,用Python优化接单路线(他现在是绍兴"单王")

四、写给同行的3个生存建议

1. 建立"技术雷达"

每天30分钟浏览TechCrunch、Hacker News,每周分析一个热门开源项目,每月尝试一个新技术demo(如最近我在用LangChain开发智能客服)。记住:「在IT行业,不进步就是退步」。

2. 打造个人品牌

在知乎/掘金分享技术心得,参与行业会议,甚至开课授徒。我的第一份兼职咨询就是通过博客文章获得的。「你的影响力,就是你的抗风险能力」。

3. 保持职业弹性

不要把自己绑定在某个技术或行业,像水一样适应变化。裁员让我明白:「真正的铁饭碗不是稳定的工作,而是随时能重新开始的能力」。

结语:裁员是最好的礼物

现在回头看,裁员是我职业生涯最好的礼物。它让我跳出"代码舒适区",重新发现程序员职业的无限可能——我们不仅能写代码,更能通过技术改变世界,定义自己的价值。

如果你也正经历职业低谷,不妨问自己:如果不做程序员,我还能靠什么立足?答案或许就在那些你从未尝试过的领域里。

「代码会过时,技术会迭代,但解决问题的能力永远不会贬值。」 与所有正在转型的程序员共勉。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程文末领取哈)
在这里插入图片描述

在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

在这里插入图片描述

黑客资料由于是敏感资源,这里不能直接展示哦!(全套教程文末领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | 优快云大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

ADS基础教程24 - Gerber文件的导入 一、引言二、基本概念1.仿真文件下载2.仿真文件介绍二、导入步骤1.新建workspace2.选择Layout结构3.导入设计4.选择文件类型5.导入文件6.预览文件内容7.铜皮离散问题四、总结选择。通过本文章结束,可以了解ADS中如何将导入Gerber文件,并且对导入的铜皮进行合并。下一步就针对导入的文件进行层叠设置和编辑。END!}}END! 阅读详情

相关推荐

Android12 车载开发TaskView实现分屏

这里只给出TaskView的代码,相关联的源码,请看源码,如果想要使用TaskView需要自己去编译frameWork的源码,打包一个aar,或者jar出来使用,否则无法直接使用。1.如果分屏的应用如启动两个应用按照权重占比,互相不叠加在一起,点触摸击事件都可响应,例如左边启动QQ了,右边启动的是微信,二者窗口都可操作。TaskView是谷歌整合安卓多任务多窗口下交互重新重构的独立出来的module,本身继承自ServiceView,TaskView的相关概念性的东西参考。//创建的taskview。

android_bird_bird的博客 9550

都 2024 年了!程序员的到底出路在哪里!?继续卷技术?晋升管理层?还是转业?

除了上述框架,大数据生态系统还包括其他技术和工具,如NoSQL数据库(如MongoDB、Cassandra)、数据仓库(如Amazon Redshift、Google BigQuery)、数据流处理工具(如Kafka、Storm)以及数据可视化工具(如Tableau、PowerBI)等。考公务员是程序员多元化职业发展路径中的一种选择,它提供了稳定的工作环境和相对固定的工作时间,但同时也可能意味着更多的规范性和程序性工作。如果决定走这条路,就需要做好充分的准备和调整,以适应新的工作环境和职责。

weixin_53543905的博客 9826

RAID 0/1/5/10 性能实测:4块 SATA SSD 组阵列,顺序读写速度对比

本文通过实测对比了RAID 0/1/5/10在4块SATA SSD上的顺序读写性能,详细展示了不同RAID级别的配置方法、理论性能与实际测试数据。测试结果显示,RAID 0在顺序读写速度上表现最佳,而RAID 10则在性能与数据安全之间取得了平衡,适合数据库服务器等关键应用场景。

weixin_33462167的博客 424

为什么我劝所有的程序员都应该搞点副业?

了解我的人,都知道我在大厂996,同时还在休息日搞项目。那么我都副业大半年了,收获了啥,这条路能走通吗?还能不能继续走下去?下面我们复盘一下来寻找答案。从我开始回答这个程序员在 35 岁后绝大多数都会被淘汰吗?这个问题开始,我就选择了一条两条腿走路的副业之路:自媒体加独立开发自媒体这块,一是因为我本来就只服务于一个很小众的群体:程序员;二是我立的是一个虚拟人设,全赞工程师并不是具体的某个人,我希望每个普通的程序员都能成为全赞工程师;

m0_59162559的博客 855

三维旋转详细解读(Rodrigues‘ Roatation Formula 罗德里格旋转公式)

三维旋转引言三维旋转1)欧拉角2)轴角式旋转分解1)V||的旋转2)V⊥的旋转3)V的整体旋转 引言 前面我们了解了 复数在二维旋转中的作用与联系 而四元数与三维旋转之间的关系与复数对二维旋转有很多类似的地方,下面我们就先来详细了解一下三维旋转的过程。 三维旋转 首先讨论一下三维旋转,我们了解到常用的三维旋转有两种方式: 1)欧拉角 即按照一定的顺序,分别对X, Y, Z三个轴进行旋转 θ 角。绕各旋转轴的旋转矩阵为: 然后任意的三维旋转可以分解成上述三种旋转方式的组合。(注意:三个旋转的顺序是非常重要的

晓晨的博客 1万+

利用Arcgis提取nc数据并计算区域年均温

1.下载数据。2.解压数据至不含中文的路径中。打开工具箱中的多维分析工具-创建NetCDF栅格图层,导入数据。3.打开工具箱中的数据管理工具-图层和表视图-创建栅格图层,导入数据,对输出数据进行命名,得到月均温栅格数据。4.选择工具箱-Spatial Analyst工具(空间分析工具)-地图代数-栅格计算器,计算全国一年年均温。​5.将其导出为.tif格式数据,方便后期使用。6.选择工具箱-Spatial Analyst工具(空间分析工具)-区域分析--以表格显示分区统计,得到分区域的气温数据。

什么都学亿点点的博客 7992

疫情被裁员,大专毕业宅家6个月,逆袭月薪2w+

世界上只有一种真正的英雄主义,那就是在认清生活的真相后依然热爱生活

自动化测试技术栈 573

ISO2626 --- Item Definition相关项定义

本文并不是针对ISO26262的一个项目,而是针对ISO26262的规范,我们在相关项定义阶段,我们需要做什么,我们的文档需要包含哪些内容的一个描述。

wj博客 909

被裁员后,我用6个月重新定义程序员价值:2025年最值得关注

被裁员后,我用6个月重新定义程序员价值:2025年最值得关注的3个转型方向现在回头看,裁员是我职业生涯最好的礼物。它让我跳出"代码舒适区",重新发现程序员职业的无限可能——我们不仅能写代码,更能通过技术改变世界,定义自己的价值。如果你也正经历职业低谷,不妨问自己:如果不做程序员,我还能靠什么立足?答案或许就在那些你从未尝试过的领域里。「代码会过时,技术会迭代,但解决问题的能力永远不会贬值。与所有正在转型的程序员共勉。文章来自网上,侵权请联系博主。

2401_84215240的博客 717

微信小程序 - 获取当前日期时间(函数封装)

效果图 前言 摘自微信小程序demo程序中utils.js方法。 普通newDate()出来的日期时间,并不是我们想要的格式,所以要进行格式整理。 解决方案 打开utils.js文件(随意),复制以下代码: /** *获取当前时间 *@description自定义日期分钟秒数 *@param{Object}date-newData()对象 *@returnString */ functionformatTime(date){ //年月日

🏆 前端领域优质创作者 2843

科研牛马千万不要错过!手把手教你用AI精准匹配真实参考文献,仅需一个专业应用+两个提示词指令

当然也可以借助生成式AI,如GPT-5.2、Gemini 3 Pro粘贴段落,输入设计好的提示词,让模型根据段落内容匹配参考文献,并正确引用到段落合适位置,再按规范格式输出参考文献列表。阅读我提供的【正文文本】,为其中的关键论点寻找真实的、权威的参考文献(优先来源于Nature, Science, IEEE, ACM, PubMed等),并插入引用。若在段落中已经引用好了参考文献,也有参考文献列表,担心引用位置不当或论点、论述逻辑与文献不够契合,则可以用以下结构化提示词,让AI辅助审查。

智能AI让学术科研更容易 1032

中年程序员被裁,我总结了25年最值得关注的三个转型方向!

摘要: 本文分享了一位程序员被裁员后6个月的转型经历与思考。作者通过行业数据指出,2025年程序员核心竞争力将从"写代码"转向"用技术解决问题",并强调技术广度与业务理解的重要性。他通过纵向学习网络安全、横向拓展低代码开发等策略重构技能,同时提升沟通表达等软技能。文章最后提出2025年三大转型方向:技术深耕(如架构师)、业务融合(如技术产品经理)和创新跨界(如AI伦理顾问),结合真实案例给出行动建议,为程序员职业发展提供新思路。

zz96405784848的博客 1818

温度PID控制PLC程序

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

2025年北上广程序员转型指南:应对裁员与AI冲击,掌握大模型技能,找到职业新方向!

文章分析了2025年程序员面临的就业挑战,包括裁员潮、薪资分化和AI冲击。指出程序员需从"代码工人"转变为复合型人才,提出了三大转型方向:技术深耕(如AI工程师)、业务融合(如技术产品经理)和创新探索(如鸿蒙开发者)。强调持续学习、拥抱变化是关键,通过掌握大模型等前沿技能,程序员可穿越行业周期,找到属于自己的破局之路。

m0_65555479的博客 1444

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

AI大模型时代程序员转型指南:2025年职业发展终极攻略,应对裁员潮与薪资分化!

2025年程序员就业市场面临挑战,包括裁员潮和薪资分化。AI技术既是冲击也是机遇,AI编程工具崛起,AI工程师需求激增。程序员需通过三大路径转型:技术深耕(如AI/ML工程师)、业务融合(如技术产品经理)和创新探索(如鸿蒙开发者)。核心在于持续学习、拥抱变化、提升自我,才能在行业变革中找到出路。

Z4400840的博客 2579

深度学习工具包 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&#39;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(&#39;DeepLearnToolbox&#39;));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(&#39;state&#39;,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&#39;); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand(&#39;state&#39;,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 = &#39;sigm&#39;;%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, &#39;Too big error&#39;);```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(&#39;state&#39;,0)sae = saesetup([784 100]);sae.ae{1}.activation_function = &#39;sigm&#39;;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)&#39;)% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;;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, &#39;Too big error&#39;);```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x&#39;,28,28,60000))/255;test_x = double(reshape(test_x&#39;,28,28,10000))/255;train_y = double(train_y&#39;);test_y = double(test_y&#39;);%% 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&#39;ll get around 1.2% errorrand(&#39;state&#39;,0)cnn.layers = { struct(&#39;type&#39;, &#39;i&#39;) %input layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 6, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 2) %sub sampling layer struct(&#39;type&#39;, &#39;c&#39;, &#39;outputmaps&#39;, 12, &#39;kernelsize&#39;, 5) %convolution layer struct(&#39;type&#39;, &#39;s&#39;, &#39;scale&#39;, 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, &#39;Too big error&#39;);```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(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex2 neural net with L2 weight decayrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex3 neural net with dropoutrand(&#39;state&#39;,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, &#39;Too big error&#39;);%% ex4 neural net with sigmoid activation functionrand(&#39;state&#39;,0)nn = nnsetup([784 100 10]);nn.activation_function = &#39;sigm&#39;; % 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, &#39;Too big error&#39;);%% ex5 plotting functionalityrand(&#39;state&#39;,0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);%% 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(&#39;state&#39;,0)nn = nnsetup([784 20 10]); nn.output = &#39;softmax&#39;; % 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, &#39;Too big error&#39;);```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: 攻防一篇文章带你搞懂蜜罐,从零基础入门到精通,收藏这一篇就够了!
下一篇: 逃离内卷!这个被低估的行业,应届生年薪15W起,岗位空缺超300万,比程序员还多!
网络安全_入门教程
博客等级 码龄4年 1万+粉丝 2151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值