为IT程序员量身定制的12个目标——很经典

对程序员们来说挑战自我非常重要,要么不断创新,要么技术停滞不前。新年伊始,我整理了12个月的目标,每个目标都是对技术或个人能力的挑战,而且可以年复一年循环使用。

01. 变得有耐心

02. 保持健康

03. 拥抱变化带来的不适应

04. 学习一门新的编程语言

05. 自动化

06. 学习更多数学知识

07. 关注安全

08. 备份你的数据

09. 学习更多理论知识

10. 接触艺术和人文

11. 向新的软件学习

12. 完成一个自己的项目

接下来我会对这些建议逐个介绍。

变得有耐心

程序员们会担心锻炼耐心付出的努力得不到应有的回报。其实,培养耐心只要付出很小的投入就能够得到相对而言很大的收获。下面是开始锻炼耐心可以尝试的一个列表,只要全身心投入其中任意一项,都可以在一个月左右脱离门外汉(成为有经验的新手)的阶段:

烹饪、徒步、滑雪、天文、慢跑、木工、武术、舞蹈

保持健康 

程序员通常久坐少动,因此在日常工作中会面临健康问题,但通常都被我们忽略了。一年中花整整一个月来调整你的生活习惯、饮食和生活环境,这会促使你养成持久、健康的生活习惯。每年去一趟诊所检查血压、胆固醇和血糖,看看这些指标最近有什么变化。如果你的手腕开始疼痛或者已经疼了很久,马上停掉手上的工作开始与“鼠标手”(重复性劳损)作战。注意你的坐姿,尤其是肩膀和脖子。我使用了矫姿器来帮助治疗。

跟踪你的体重、摄入以及燃烧的卡路里。如果有必要,可以改变生活方式以养成健康的饮食习惯和减肥。

 

拥抱变化带来的不适

在我20刚出头的时候,通过观察身边年纪稍大一些的伙伴我发现有些人停滞不前而另一些则活力充沛,我试着寻找背后的原因。答案就是舒适感。舒适会让技术停滞不前。当找到一个能够为我所用的系统时,我们会一直使用它。但技术是不断进步的,而那些停留在舒适区的人永远不会意识到这些进步能够为他们带来好处。不破不立,要让自己适应不舒适的感觉。

下面列出的事情一开始可能会让你感到不适应:

  • 使用德沃夏克键盘
  • 使用vim替代emacs,反之亦然
  • 不使用鼠标
  • 使用不同的窗口管理器
  • 喝清咖啡不加奶油和糖,或者喝清茶
  • 尝试一个月“流行且无聊的新事物”
  • 一个星期中有一天不开手机
  • 学习使用一种可以单手输入的设备
  • 尝试一个不同的操作系统
  • 一个星期中有一天不上网
  • 试着对饮食加以限制:尝试吃素,成为纯素食主义者,不吃乳制品,等等
  • 每天吃一种你不喜欢的食物
  • 将你习惯使用的胳膊用绷带绑起来
  • 学习用你不习惯的那只手写字
  • 开一个博客
  • 参加公共演讲
  • 一个月听一种你不喜欢的音乐
  • 去医院或退休家庭护理做志愿者
  • 一个星期有一天快生活
  • 去一个与自己文化或语言不同的国家旅行
  • 读一篇广受好评但却不是你喜欢题材的小说
  • 看一场广受好评但却不是你喜欢风格的电影或演出
  • 学会用变速杆(手动)开车
  • 反对你相信的一些事情

在一个月的尝试之后,你可以决定是否继续采用新方式,或者找到新方式中好的经验与原有方式的结合点。例如,在我从使用了10年的emacs转向vim时,我会为插入模式设置emacs风格快捷键从而继续使用vim。

学习一门新的编程语言

编程语言起起落落。如果只了解一门语言,程序员的解决问题能力以及职业前景都会因此受到限制。花上整整一个月时间吸收一门新语言或者一个新的编程范式,并用它写一个小程序。

下面是一些可以学习但不是非常主流的编程语言:

Racket、 Haskell、Scala、Erlang、Clojure、SML/NJOCaml、Squeak、Prolog、Datalog.

如果你无所不知,那么你可以实现一门新的编程语言。

自动化

程序员拥有最强大的待开发技能就是将虚拟和现实自动化的能力。如果你从来没有造过一个机器人,那么去做一个吧。至少学会使用Lego Mindstorms或者玩一玩 Arduino board。

检查一下你每天的任务,看看其中有哪些可以完全或者部分自动化。自动化在家庭生活里已经有了长足的进步,甚至可以像Insteon那样对系统进行DIY。

投资一个月的时间来进行自动化:

  • 调整你的邮箱过滤器或者设置procmail
  • 为频繁进行的工作编写自动化shell脚本
  • 编写shell脚本帮助写作
  • 学会如何使用cron工具
  • 改造橱柜灯由感应控制
  • 尽可能地用无线替代有线
  • 停止手动同步:将信息存到云端
  • 安装一个远程控制音频系统
  • 通过你的服务器控制家里的空调
  • 安装数字监控摄像头
  • 安装数字内部通话系统,儿童监控系统
  • 让咖啡机自动打开
  • 为宠物安装自动给水槽
  • 为宠物安装自动感应门
  • 将Roomba改造成个人信使

译注:

procmail:procmail软件包包含一个自动的邮件管理器,可以很好的过滤和排序邮件。

cron:linux下的定时执行工具。

Roomba:Roomba是iRobo公司生产的定时智能机器人。

学习更多数学知识

计算机科学本质上讲是数学的一个学科。好的数学家中间会产出优秀的程序员。不要让你的数学能力丧失殆尽。

考虑每年花一个月时间复习列表中的一项:

逻辑学、离散数学、微积分、概率论、统计学、抽象代数、数论、范畴论、偏序理论

关注安全

很少有程序员具备好的安全习惯。如果你对自己的数字安全很在意,你就会对你写的代码安全性更加关心。确保你在每个站点都使用了唯一的高安全系数密码。使用加密的密码管理器来管理你的密码,例如PasswordSafe或者KeePassX。如果你还没有对整个磁盘加密,留出时间完成它。(在Mac上可以轻松完成)

每年都要研究过去12个月中前10位的安全漏洞。他们是如何发生的?在编程中需要怎么做能够避免在你的代码中出现这些漏洞?

下面是另外一些你需要尝试的安全任务:

  • 在Apache中加入SSL验证
  • 使用RSA或AES实现密码系统
  • 试着破译你的无线网络密码
  • 用WireShark侦听你的网络通讯
  • 设置基于密钥的无密码ssh登录
  • 自己运行nmap;配置你的防火墙
  • 建立端口扫描
  • 为USB驱动器加密
  • 监控日志文件
  • 设置cron任务定期更新你的程序

译注:

nmap:linux下的网络扫描和嗅探工具包

备份你的数据

每年花一些时间检查你的备份策略。

花一个月时间将备份花费的时间减到最小。

使用基于云的备份服务,比如Mozy和Carbonite,很容易建立无缝自动备份。

更全面地防御可以选择为每个人分发硬盘,对每台电脑使用像Time Machine这样的自动备份工具进行备份。

对重要文件使用异地远程仓库进行版本控制。

学习更多理论知识

计算机科学有丰富的理论基础。

了解最新进展的同时还要加强对经典开发理论的掌握。

  • 每年在下列主题上花一个月时间:
  • 形式语言
  • 自动机与可计算性理论
  • 计算复杂性理论
  • 形式化方法
  • 语义学
  • 算法与数据结构

译注:

形式语言:按一定规律构成的句子或符号串的有限或无限的集合。

自动机:是有线状态机(FSM)的数学模型。

可计算性理论:研究计算的可行性和函数算法的理论。又称算法理论。它是算法设计与分析的基础,也是计算机科学的理论基础。

计算复杂性理论:计算复杂性理论是理论计算机科学的分支学科,使用数学方法对计算中所需的各种资源的耗费作定量的分析,并研究各类问题之间在计算复杂程度上的相互关系和基本性质,是算法分析的理论基础。

形式化方法:在逻辑科学中是指分析、研究思维形式结构的方法。

语义学:研究自然语言中词语意义的学科。也可以指对逻辑形式系统中符号解释的研究。

对于刚起步的程序员,可以先看一看下列文章:

  • 用Haskell编写CEK风格的解析器(或语义分析器)
  • 通过推导进行语法解析
  • 遗失的方法:如何对Okasaki的红黑树执行删除
  • 通过推导使用Scheme进行正则表达式模式匹配
  • 将郑则表示转换成非确定性自动机(NFA)

译注:

CEK:CEK机器是由Matthias Felleisen和Dan Friedman开发的λ-演算的力学模型。

Haskell:一种纯函数式编程语言,以美国数学家Haskell Brooks Curry命名。

接触艺术和人文

工程师往往轻视艺术。他们没有意识到艺术和人文是基础升华的重要因素。史蒂夫·乔布斯乐于指出将技术与人文结合的重要性,事实也却是如此。

艺术和设计原则同样适用于人和计算机之间的交互。不要忽视这些原则。艺术和人文的训练让直觉更加敏锐,而这方面的练习是难以用数字来计量。工程师需要知道如何衡量那些他们不能计量的事物,而不是只是统计他们可以计量的内容。

每年至少有一个月学习下面列出的主题:

  • 工业设计
  • 哲学
  • 摄影
  • 绘画
  • 素描
  • 音乐及音乐理论
  • 电影
  • 文学

社会科学同样会对计算机科学家有很大帮助,尤其是经济学和哲学。

向新的软件学习

一个为自己的软件寻找灵感的好办法就是向新的或新型应用程序学习。例如,如果你从来没有尝试过3D建模软件,可以尝试Blender。抑或是,如果你从来没有接触过LaTeX,请真诚地试着去了解它。

在学习过程中,请注意你喜欢什么和讨厌什么。真诚地问自己,这些观察到的内容是否在你的软件中存在。在工作中很难看到自己的缺点,但发现别人的不足却很容易。天下没有哪个父母认为自己的孩子长得难看。请学习看到自己作品的不足。

完成一个自己的项目

如果你整天为别人写代码,那么为自己写程序能让你记得当初为什么会成为程序员。每年为自己选择的项目分配一个月的时间,完成核心功能,将其开源发布。

 

 

从IT菜鸟变为“IT骨干开发者”的11个建议

程序员发展应该尽早明白13个道理

程序员编程技术迅速提高的终极攻略

最新“特色985”大学高校名单

中国最高等级实验室——“国家实验室”名单(仅20所)

2011年3月最新“211工程”大学名单(共112所)

技术精英谈IT程序员的出路在哪里——很经典

让IT人远离慢性疲劳,长时间操作电脑需要养成的几个好习惯

技术开发人员为什么会无奈苦逼?

成为Java高手的25个学习目标--非常经典

周立功谈嵌入式:我的25年嵌入式生涯

印度和中国程序员的区别 

技术开发人员应该多吃的15种健康食品 

IT技术开发人员获得成功的六大步骤

开发人员的7大坏毛病

 老程序员的忠告:不要做浮躁的软件工程师

 为程序开发人员量身定制的12个目标

IT技术开发人员35岁之前应该做的十件事

2011年中国百万开发者大调查:程序员的薪水不错

转载于:https://www.cnblogs.com/alexhg/p/7660287.html

程序员的目标 程序员应该具备哪些目标?本文告诉你什么样的目标才是程序员的目标 立即下载

相关推荐

四足机器人——机械结构

目录 一、四足机器人腿型: 1、并联腿 2、串联腿 3、 腿的布局(关节配置) 二、四足机器人足端设计: 三、四足机器人膝关节驱动: 1、皮带轮驱动: 2、四连杆或者推杆驱动 四、四足机器人机械整体结构设计细节 一、四足机器人腿型: 1、并联腿 优点:受力角度来说,并联腿比串联腿好,并联腿较为灵活。 2、串联腿 优点:运动范围大 3、 腿的布局(关节配置) 为了使机器人具有较好的稳定性,一般会采用比较低的重心。这就导致了机器人腿的髋关节位置需要位于机器人身体的两侧..

m0_58585940的博客 3万+

为程序员量身定制的12个目标

  ugmbbc发布于 2012-01-15 11:53:19| <script src="/counter.php?sid=169509"></script> 4308 次阅读 字体:大 小 打印预览 <script type="text/javascript"></script> 感谢伯乐的投递对程序员们来说挑战自...

iteye_9684的博客 1040

Prompt Airlines CTF通关实战:从提示词注入到多模态攻击的AI安全攻防演练

提示词注入(Prompt Injection)是当前大语言模型(LLM)应用面临的核心安全威胁之一,其原理在于攻击者通过精心构造的用户输入,覆盖或绕过系统预设的指令,从而操控模型行为。这种攻击手法的技术价值在于揭示了AI系统在理解与执行指令时存在的逻辑边界模糊性,可能导致数据泄露、越权访问等严重风险。在应用场景上,从基础的客服对话到结合视觉识别的多模态系统,都可能成为攻击面。本文以一场名为“Prompt Airlines CTF”的实战挑战为例,深入剖析了包括指令遗忘、上下文注入、工具调用滥用及多模态提示注

aodan5477的博客 517

程序员如何明确职业与人生的目标

 3.4明确自己人生与事业的目标面试的时候,我经常会问候选人:“说下你5年或者10年后的目标吧。”刚进入社会的毕业生给我回答多是:“时间太久了,没想过。”他们的意思是:这世界变化太快了,制定目标也没什么用,计划赶不上变化。如果不知道自己要去哪里,我们就极有可能走错地方。这就是为什么,写到现在我才谈及目标这个话题的原因——只有真正走入职场的人,才会有切身感受,才有可能真正理解人生与事业目

张大志Leo 9253

Virtualbox “Kernel driver not installed (rc=-1908)”问题全面解析与修复指南

本文全面解析了Virtualbox出现'Kernel driver not installed (rc=-1908)'错误的原因及修复方法。详细介绍了如何通过重新安装virtualbox-dkms、处理Secure Boot特殊情况等步骤解决该问题,并提供了预防措施与最佳实践,帮助用户避免类似错误再次发生。

weixin_30352645的博客 530

Gemma 4 12B QAT+MTP小显存部署实战指南

大语言模型本地部署的核心瓶颈在于显存与推理效率的平衡。量化感知训练(QAT)通过在训练阶段模拟低精度计算,显著提升模型对INT4量化的鲁棒性;多令牌预测(MTP)则通过并行解码优化KV Cache复用,降低GPU kernel调用频次。二者协同可在8GB显存设备上稳定运行12B级模型,兼顾精度、速度与上下文长度。该方案适用于开发者本地AI助手、技术文档生成、SQL翻译等轻量但高交互需求场景,是当前Windows环境中小显存高效落地Gemma系列模型的工程最优解。

weixin_30934229的博客 377

开发程序的目标

开发程序的目标 1.让队友可以看懂 2.计算机可以正常执行,并输出正确结果 3.核心模块要兼顾测试验证 4.方便使用 5.易维护【日志,状态 设计到位】 6.可扩展【软件抽象,配置设计合理】

可克技术 867

Windows 11 系统部署 OpenClaw 完整指南:从零到一的 AI 助手搭建

OpenClaw(昵称“小龙虾”)是一款开源 AI 代理工具,定位为“AI 指挥官”,能够接收指令、调用工具并自动化处理任务。它支持对接国内外多款大模型,所有数据本地存储,兼顾实用性与安全性。本文将详细介绍在 Windows 11 系统上部署 OpenClaw 的完整流程。OpenClaw 在 Windows 11 上的部署虽然有一定技术门槛,但按照本文的步骤操作,大多数用户都能顺利完成安装。环境准备是基础:确保 Node.js ≥22 版本,使用管理员权限操作安装方式灵活选择。

weixin_41484939的博客 800

程序员度量:改善软件团队的分析学

《程序员度量:改善软件团队的分析学》前言 让我们不要太确信,我们没有错过一些重要的东西。 ——比尔·詹姆斯(棒球统计学家和作者),摘自“Underestimating the Fog” 《程序员度量:改善软件团队的分析学》是一本关于程序员、软件开发团队的度量和模式的书。本书的一些想法源于我在多年前开始的对软件开发团队构成的思考:无论好坏,所有细微贡献以及无名英雄的辛勤汗水都是项目成功的关键...

华章IT官方博客 455

白话讲解帕累托前沿点(Pareto Frontier)基础知识与实例解析

排除所有“劣解”,缩小决策范围;量化目标间的“权衡关系”(如“每增加1千元成本,续航提升多少小时”);支持不同场景下的个性化选择,平衡冲突目标。无论是手机选购、汽车设计,还是城市规划,帕累托前沿都是从“混乱的多目标”到“清晰的权衡”的关键桥梁,是现代决策科学中不可或缺的工具。通过数学建模,工程很多问题都可以建模成帕累托前沿求解问题,通过线性规划CPLEX、Gurobi 等优化工具,可以方便进行求解。

2138

2ED2410-EM的使用

2ED2410-EM的使用

让你爱上电路设计 975

刚毕业?程序员如何度过试用期

计划1.收集背景2.与经理设定期望3.了解公司4.认识核心团队5.了解产品和习惯6.了解你负责的部分7.开始准备目的利用你的新人优势了解你的经理充分利用一对一了解产品、了解习惯了解你的部分反思你的经历。

喵喵喵喵~我是一个程序员而已 1077

无刷电机FOC硬件电路设计

本文先对MIT无刷电机FOC硬件电路分析做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章软件程序在我另外一个博客【嵌入式–伺服电机】MIT无刷电机FOC驱动程序分析。

qq_35635374的博客 574

为IT程序员量身定制的12个目标

对程序员们来说挑战自我非常重要,要么不断创新,要么技术停滞不前。新年伊始,我整理了12个月的目标,每个目标都是对技术或个人能力的挑战,而且可以年复一年循环使用。 01. 变得有耐心 02. 保持健康 03. 拥抱变化带来的不适应 04. 学习一门新的编程语言 05. 自动化 06. 学习更多数学知识 07. 关注安全 08. 备份你的数据 09. 学习更多理论知识 10. 接触

AlienTech for better life!~ 880

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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

SITE: Simple IT English - 为程序员量身定制的英语学习宝典

SITE: Simple IT English - 为程序员量身定制的英语学习宝典 项目介绍 在IT领域,英语是不可或缺的交流工具。然而,对于非英语母语的开发者来说,掌握专业英语词汇往往是一项艰巨的任务。为了解决这一痛点,SITE: Simple IT English 项目应运而生。该项目旨在为程序员和软件工程师提供一个专门针对IT社区的英语词汇库,帮助开发者更轻松地阅读和撰写技术文档、参与技术讨...

gitblog_00713的博客 570

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

仅为您量身定制的AI:超上下文化的力量

在re:Invent的亚马逊云科技活动中,本次演讲主要关注了一个名为StackSpot AI的超上下文相关的人工智能助手,该助手专为软件开发人员设计。演讲者首先阐述了StackSpot AI的目标,即通过运用人工智能加速并强化编码过程,以提高开发人员的生产力、遵循公司最佳实践以及提供简化的开发体验。其中一个核心优势是,StackSpot AI能够根据开发人员的具体上下文生成定制的代码片段,包括他们的技术栈、API和业务规则。相较于阅读文档和手动集成API,这种方法可以节省大量时间。

weixin_40272094的博客 1694

jre9下载 jdk9

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

关于程序员的几个笑话

笑话一: 程序员的愿望   有一天一个程序员见到了上帝.   上帝: 小伙子,我可以满足你一个愿望.   程序员: 我希望中国国家队能再次打进世界杯.   上帝: 这个啊!这个不好办啊,你还说下一个吧!   程序员: 那好!我的下一个愿望是每天都能休息6个小时以上.   上帝: 还是让中国国家打进世界杯.   笑话二: 高效的程序员   当世界末日还

编程小丫 2104

IT人和普洱茶

IT人与普洱茶 来自:http://blog.chinaunix.net/uid-20639775-id-3831957.html 作为一个平凡的IT人,在小孩眼中我就像黑客帝国的主角一样了不起;在亲戚眼中我是在写字楼做办公室吹空调的人;在朋友眼中我就是一个会写代码、掌握高科技术的人;在女友眼中我是一个在名气工作的工程师。在兄弟严重我是一个拿“高薪”的人;我理想中的样子应该是像乔布斯、比尔盖

让我们的手指敲起锋利的代码勇敢前进! 1373

短短几个十年,一个IT的程序员之路,说不尽的泪

如果你是程序员,好好打工就对了,其他不用想了。

weixin_55419849的博客 706

程序员们移民的底气在哪里?

现在最容易移民的职业,程序员一定是位列其中的。原因如下:

zhaolongyimin的博客 338
上一篇: 采集电脑摄像头和mic,rtp端口推送音视频工具
下一篇: 印度人是怎样开发软件的?
daru9708
博客等级 码龄11年 7粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值