日常生活中使用的 4 个核心开发工具

从一张公交卡到门禁卡:拆解ISO/IEC 14443-4协议如何支撑你的日常生活 本文深入解析ISO/IEC 14443-4传输协议如何支撑日常无接触式交互,从公交卡到门禁卡的应用场景。通过拆解RATS请求、ATS响应和PPS调优等关键流程,揭示协议在多卡防冲突、速率协商和能耗优化方面的智慧,提升用户体验。最新协议版本将响应时间缩短至65ms,多卡识别成功率提升至97%。 阅读详情

长话短说

本文列出了 2024 年我作为开发人员在日常生活中最常用的 4 个工具。✅

这些工具旨在提高您的编辑技能、终端导航、笔记以及在应用程序容器化之外使用 Docker。另外,最后我还给大家准备了一个小惊喜。

如果您没有使用本文中至少提到的 1-2 个工具,那么我告诉您,朋友,您就错过了。绝对至少尝试其中的一些。以后你会感谢我的。

动图封面


1.Tmux——终端复用器

ℹ️我认为没有任何理由不使用Tmux。只要您必须在航站楼工作​,相信我,这会让您的生活变得更加轻松。

每次需要在终端中处理其他事情时,您是否都会打开新选项卡,并且当前的终端窗口已被占用?相信我,这件事会让你大吃一惊。

您可以将选项卡/窗口拆分为多个窗格。此外,还有一个会话的概念,它允许您打开多个窗口,完全独立于其他会话,从而可以轻松地同时处理多个项目。

看到图片了吗?我的笔记在另一个窗口中,点文件配置在另一个窗口中。它们之间的切换非常简单和方便。

剧透警告:在终端中工作时,您将永远不想使用鼠标。

我开始使用 Tmux 的时间并不长,但现在它已经成为我离不开的主要核心实用程序。

2.Neovim- 首选代码编辑器

❓ 你喜欢在航站楼工作​​吗?如果是,那么您可能不知道您需要这个代码编辑器。试一试。

我是 VSCode 的忠实粉丝,现在仍然如此。几个月前我对 Vim 和 Neovim 一无所知。但现在,请相信我,在这几个月里,我一次都没有碰过 VSCode。

也许您和我一样是 VSCode 的忠实粉丝,但请尝试将自己切换到 Vim 动作。这是您可以为自己做的提高生产力的最佳事情。一旦您将编辑器转移到终端,您将慢慢开始生活在终端本身中。

尽管终端中的编辑器可能不适合每个人的口味,但至少尝试使用一次,看看它是否是您的选择。


3.Obsidian- 很棒的笔记

我的第二大脑,如果你现在开始使用它,它也将是你的。

我知道您可能正在使用一些很酷的笔记工具,例如 Notion、Evernote 等。但是,您还记得上次打开这些笔记应用程序来实际参考您几个月前写的东西是什么时候吗? 看,你们大多数人都没有答案。所以卸载这些,现在就做!

动图封面

这正是 Obsidian 解决的问题。将其视为您的第二大脑。这个工具非常好,我可以在虚拟桌面上一直打开 GUI,或者在 Tmux 窗口中打开它,这样每当我编写代码并需要引用我的笔记时,我都可以使用obsidian.nvim轻松完成此操作来自我的编辑。 在obsidian.nvim上了解更多信息。

我也从 Notion 切换到 Obsidian。相信我,这是我做出的最好的转变之一,我将终生珍惜这一转变。不用担心,您可以轻松地将现有笔记从笔记工具导入到 Obsidian。

4.Docker- 超越容器化

它不仅仅用于容器化您的应用程序吗?如果没有,我想是时候了。

大多数情况下,当我们想到 Docker 时,我们只是将其视为容器化应用程序的一种方式。我们知道使用 Docker 的方法有很多,但我们只是忽略它们。但是,更像是您的日常司机,而不仅仅是为了一个目的。

最近,我想尝试使用 Arch,所以我可以说,“我使用 Arch,顺便说一句! ” 但我不想从头开始安装一个全新的 Linux 发行版,只是为了看看我是否不想继续使用 Arch。为此,我只是用 Arch 镜像启动了一个 Docker 容器并开始使用它。如果我将来不喜欢它,我会简单地删除该该死的图像及其容器。就这样,我恢复正常了。

⁉️为什么不针对该用例使用虚拟机?

在虚拟机中,你必须分配所有资源,说实话,这会感觉更臃肿。但通过这种方法,您将拥有一个完整、完全流畅的操作系统,而无需从头开始手动执行任何操作。

另外,最近我必须处理通过 SSH 连接到远程服务器的问题,而我的基于密钥的身份验证不起作用。为了调试问题是否出在我这边,我只需使用 Alpine 启动一个 Docker 容器,在那里设置我的 SSH 密钥,然后它就成功连接了。主要问题是由于文件中的ssh-daemon错误配置,导致服务器本身不接受基于密钥的身份验证。PubKeyAuthentication no/etc/ssh/sshd_config

Docker 太漂亮了,尝试经常使用它。

Python,Rust 语言开发日常生活技能赚钱APP 开发一款结合Python与Rust的日常生活技能赚钱APP,需充分发挥两者的互补优势:**Python**用于快速原型开发、数据分析和AI推荐,**Rust**则保障高性能核心模块和内存安全。- **消息队列**:Rust的**Tokio**异步运行时处理实时事件,Python的**Celery**处理离线分析任务。- **Rust**(Actix-web/Axum框架):核心业务逻辑、高并发交易系统、实时任务匹配引擎。- **PostgreSQL**:存储结构化数据(用户档案、技能任务、订单记录)。 阅读详情

相关推荐

日常生活美学工作室:提升生活品质的艺术课程

1.1日常生活美学的问题背景1.1.1问题概述1.1.2美学在生活中的重要性1.1.3日常生活美学的定义与边界1.2核心概念与联系1.2.1美学原理1.2.2生活美学要素1.2.3美学与其他学科的关系2.1美学原理的基本概念2.1.1美的概念2.1.2美的本质2.1.3美学的基本原理2.2美学原理在生活中的应用2.2.1美学在个人形象设计中的应用2.2.2美学在室内设计中的应用2.2.3美学在园林设计中的应用。

AI天才研究院 883

如何实现白嫖的平板端obsidian多端互通(基于git+termux+github)

obsidian,一款免费且灵活的笔记软件,以markdown的形式进行笔记的撰写,并附带有诸多好用的功能和庞大的插件社区,不过不好的是官方多端同步不免费。所以,下面我们带来基于git和termux的免费多端同步,让我们在平板上也能和电脑互通。设备:安卓平板(我使用的是华为平板,鸿蒙4.3,经测试一样可行)、个人电脑必要工具:Termux、Git(Termux 内安装)、Obsidian、GitHub 账号远程仓库:GitHub(HTTPS + Personal Access Token)

2504_94478003的博客 1691

生命美学课程:提升日常生活的艺术感

生命美学可以被视为一种美学实践的延伸。传统的美学主要关注艺术作品和自然景观的美,而生命美学则将这些理念扩展到日常生活中。视觉美学:视觉美学关注生活中的色彩、形状、线条等视觉元素,旨在创造一个美观、和谐的环境。听觉美学:听觉美学则关注生活中的声音,如音乐、自然声等,通过声音的和谐来提升生活质量。触觉美学:触觉美学关注触感,如材质、温度等,通过触感的舒适和温馨来提升生活的质感。视觉美学是指通过视觉元素(如色彩、形状、线条等)的组合和搭配,创造出一种美观、和谐的视觉效果。

AI天才研究院 1070

FlashAI Vision个人使用:日常生活助手

在数字化时代,我们每天都需要处理大量的文档、图片、音频和视频内容。无论是学习外语资料、整理旅行照片,还是处理工作文件,传统的人工处理方式既耗时又容易出错。FlashAI Vision作为一款完全离线的多模态AI工具,为个人用户提供了前所未有的智能化生活助手体验。 ## FlashAI Vision核心功能解析 ### 多模态内容处理能力 FlashAI Vision具备强大的多模态处理能力,...

gitblog_00697的博客 742

23、使用光线引导来构建日常生活

本文探讨了光线引导技术在日常生活中的应用,包括智能家居、医疗保健、教育和零售等场景,并分析了其设计原则与用户体验考量。通过实际案例展示了光线引导技术如何提升生活质量,改善人机交互体验,并展望了未来的发展趋势与面临的挑战。

garlic的博客 104

微信小程序制作日常生活首页

微信小程序制作日常生活首页

日常笔记 | 干货分享 | 毕设源码 | 毕设指导 | 答辩指导 4973

人工智能在日常生活中的十大应用

随着经济和社会发展,技术变得越来越复杂,用人工智能来提升决策效率极大地减轻了人类的负担。因此,世界经济论坛将人工智能描述为第四次工业革命的关键驱动力。 在新冠肺炎疫苗开发过程中,人工智能发挥了关键作用。但你可能还没有意识到,很多习以为常的事物同样依赖人工智能。从过滤垃圾邮件到帮助火车准点运行,日常生活的背后随处可见人工智能的影子。 下面编者将为大家盘点日常生活中常见的十大AI应用。 1. 电子邮件 一般来说,电子邮件供应商会使用人工智能算法来过滤垃圾邮件。考虑到全球77%的电子邮件都是垃圾邮件,这是

卡莎的博客 2万+

AI Agent: AI的下一个风口 具身机器人在日常生活中的应用

AI Agent: AI的下一个风口 具身机器人在日常生活中的应用 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 关键词: AI Agent 具身机器

AI架构师小马 884

php Nodejs java python 日常生活垃圾分类微信小程序

为用户提供一个基于日常生活垃圾分类微信小程序小程序,同时方便管理员对用户信息进行管理。该系统满足了用户对日常生活垃圾分类微信小程序信息获取的需求,并且信息可以及时、准确、有效地进行查看并且系统化、标准化和有效的工作。微信开发者工具现在已经被小程序开发团队开发运行,目前微信开发者工具任然在不断的完善中,在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具,开发者工具将使用这个微信帐号的信息进行小程序的开发和调试。基于日常生活垃圾分类微信小程序的设计基于现有的智能手机上运行,可以实现服务端;

QQ_402205496的博客 784

Stable Diffusion 生成现实主义:日常生活的 AI 描绘

随着AI生成内容(AIGC)技术的普及,用户对"真实感"的需求从虚拟幻想转向日常生活场景的高精度还原。本研究聚焦这一开源扩散模型,探讨其在生成"看似真实"的日常生活图像(如家庭场景、城市街景、日常活动)中的技术细节。覆盖从模型原理、参数调优、提示词设计到实际应用的全链路知识。核心概念:解析Stable Diffusion与现实主义生成的技术关联;算法原理:从扩散模型数学基础到条件控制机制;实战指南:包含环境搭建、代码实现与参数调优;应用场景:覆盖设计、娱乐、教育等领域的具体落地;

AI 原生应用开发的博客 1119

日常生活活动与痴呆患者生活质量的关系

研究发现,养老院中患有痴呆的居民在穿衣、如厕等基本日常生活活动中独立性越高,其健康相关生活质量评分也越高。功能独立性评定量表(FIM)显示与生活质量显著相关,而RAI‐MDS的关联较弱。结果支持将FIM作为评估痴呆患者生活质量的替代指标,并强调提升日常功能对改善生活质量的重要性。

r7s8t的博客 311

浅谈AI对于日常生活的影响和未来发展方向

AI已深度融入日常生活,在智能家居、医疗健康、交通出行、教育娱乐等领域显著提升效率与体验。技术趋势上,多模态融合、算力革命及行业重构成为核心,元宇宙、脑机接口等新兴领域蓄势待发。社会层面,AI催生新职业的同时冲击传统岗位,算法偏见与数据隐私引发伦理挑战。未来,AI将从工具演化为“生活伙伴”,经历专用AI普及、AGI原型出现到人机共生社会形成三阶段,需技术、伦理与监管协同保障可持续发展。

Steven的博客 3320

leader-hotkeys-obsidian:将引导键(tmux样式)用于Obsidian.md中的热键

黑曜石领袖热键 将热键分配给命令时,请使用引导键。 可用于黑曜石中的任何命令,甚至是其他插件添加的命令! 在分配的热键之前,按了领导键,类似于tmux或Vim中的热键。 默认情况下,未定义任何领导者密钥。 我个人使用ctrl + b ,但是您可以像其他任何热键一样在黑曜石热键设置页面中配置任何引导键。 默认情况下,配置以下命令: 领队热键 行动 领导者j 专注于下面的窗格 领导者k 专注于上方的窗格 领导者h 专注于左侧窗格 领队l 专注于右边的窗格 如何安装 从黑曜石内部 从Obsidian v0.9.8 +起,您可以通过执行以下操作在Obsidian中激活此插件: 打开设置>第三方插件 确保安全模式已关闭 单击浏览社区插件 搜索“高级表” 点击安装 安装完成后,关闭社区插件窗口并激活新安装的插件 更新 您可以按照相同的步骤来更新插件 (感谢@deathau提供借用的

未来已来,智能化开发工具让编程不再遥不可及

最新接入DeepSeek-V3模型,点击下载最新版本InsCode AI IDE 标题:未来已来,智能化开发工具让编程不再遥不可及 在数字化时代的大潮中,技术的飞速发展正在改变着我们的生活与工作方式。曾经,编程被视为一项高深莫测的技能,只有少数专业人士才能驾驭。然而,随着新一代智能化开发工具的诞生,这一切正在被重新定义。今天,我们将探讨一款革命性的工具如何让普通人也能轻松参与软件开发,开启属于自己...

QuartzLynx65的博客 857

microblaze之Video Processing Subsystem调试误区

内容:总结video processing subsystem调试中遇到的问题,以及在解决问题中的思路方法论,引为前车之鉴。 1,我的目的是希望采用vps中的scaler模块对图像进行拉伸缩小。IP的配置如下: 2,整个系统的框架图如下,仅比上期的内容增加了scaler模块,如下: 3,查手册,可以知道这个scaler only组件分成了hscale,vscale和GPIO,其中GPIO是控制上下游stream流控设备复位用,暂时忽略。 hscale和vscale的寄存器空间如下,主要关注图

YDY5659150的专栏 3556

GLMM(广义线性混合模型)原理以及分析步骤

广义线性混合模型(GLMM)是生态与进化研究中处理非正态数据的定制化工具,能同时分析固定效应和随机效应。它通过链接函数连接响应变量与预测因子,支持二项分布、泊松分布等非正态数据。研究流程包括:明确分析目标(固定效应影响与随机效应方差)、选择合适变量与分布、数据验证、参数估算(需根据模型复杂度选择PQL、拉普拉斯近似等方法)及模型优化(检验过离散与残差,通过信息准则或假设检验筛选最优模型)。GLMM能有效解决传统方法无法处理的"伪重复"和推广性问题,为复杂生物数据提供可靠分析框架。

wewil_lwin的博客 4998

人工智能:革新医疗、企业与日常生活的未来

人工智能正以前所未有的速度改变着我们的世界,从医疗到企业管理,再到日常生活,它的应用已经无处不在。虽然我们在享受AI带来的便利时,也需要正视它所带来的挑战。然而,AI的潜力依然巨大,它将继续引领我们走向更加智能化和高效的未来。对于我们每个人而言,了解和适应AI的变化,将是未来成功的关键。

zentao_pms的博客 1079

SAP SD科目确定:从配置到凭证的财务集成核心

本文深入解析SAP SD科目确定的核心价值与配置实践,涵盖从主数据准备到财务凭证生成的全流程。通过六步配置法和KOFI00过程拆解,帮助企业实现销售与财务模块的高效集成,确保收入、成本等数据准确归集至对应会计科目,提升财务自动化水平与数据准确性。

weixin_33491377的博客 251

生活管家 - OpenClaw让日常生活更智能

在技术爆炸的时代,我们常常被各种"智能"产品包围,但它们真的让生活更轻松了吗?很多时候,反而增加了复杂度。技术应该隐形,服务应该贴心。它不追求炫酷的功能,而是专注于解决真实的生活痛点。从记住买牛奶到关心你的健康,从管理家庭财务到促进亲子关系,OpenClaw正在重新定义"智能生活"的含义——不是冷冰冰的自动化,而是有温度的服务。生活本应简单而美好。让OpenClaw处理琐事,你把时间留给更重要的人和事。

KobeCode24‌ 556

DeepSeek+Dify实战:零代码构建智能SQL生成器

本文详细介绍了如何利用DeepSeek和Dify零代码构建智能SQL生成器,帮助非技术人员通过自然语言查询数据库。文章涵盖从数据准备、知识库设计到Agent配置的全流程,并提供了优化技巧和实际应用案例,显著提升团队数据查询效率。

weixin_29311017的博客 419

AHB—SRAMC项目(结构图,核心代码、Testbench架构)

文章目录一、AHB_SRAMC项目介绍1.1.AHB总线控制单元(ahb_slv_if.v)1.2.SRAM控制单元(sramc_top.v)1.3.主要的传输路径二、结构框图2.1.AHB_SRAMC结构图(重点)2.2.总线控制单元与SRAM控制单元结构图三、部分核心代码(重点理解)四、SystemVerilog Testbench架构(重点)五、目录结构 一、AHB_SRAMC项目介绍 本项...

Mr.翟的博客 3万+

【大模型】LLMs被广泛地融入日常生活的未来场景分析

大语言模型(LLMs)在当前已经被广泛应用于各种领域,从自然语言处理到个性化推荐等。未来,随着技术的不断进步和应用场景的不断拓展,LLMs将继续深度融入我们的日常生活。本文将探讨LLMs在未来的日常生活中可能出现的场景,并对其影响和潜在发展进行详细分析。LLMs将成为人们日常生活中不可或缺的智能助手和虚拟伴侣。它们可以在各种设备上提供个性化的服务和支持,包括智能手机、智能音箱、智能家居设备等。

瓦罗兰特顶级C位的博客 1110

数控系统(CNC)系列:Fanuc 31i-B_(16).CNC系统的网络连接与数据传输

硬件连接:包括网络接口的类型、连接方式等。网络协议:常用的网络协议包括Ethernet、Modbus TCP、Profinet等。网络配置:如何在CNC系统中配置网络参数,使其能够正确接入网络。在网络化的现代工业生产环境中,CNC系统的网络连接和数据传输能力变得越来越重要。通过以太网、Modbus TCP和Profinet等网络协议,可以实现CNC系统与上位机、其他CNC系统以及各种工业设备之间的高效通信。

2401_87715305的博客 2437

简要谈谈日常生活中的AI运用

人工智能(AI)已经从实验室走入了我们的日常生活,无论是智能语音助手、个性化推荐系统,还是自动驾驶技术,AI正在以各种方式改变我们的世界。本文将探讨AI在日常生活中的主要应用场景,以及它如何提高我们的生活质量和工作效率。

2501_91479538的博客 1351

【原理图与PCB专题】使用Cadence如何在Layout时直接互换相同功能的PIN

Cadence允许我们在PCB中互换管脚,最后再反标给原理图。集成TVS管、排阻、DDR、FPGA有一些PIN是完全相同功能,可进行管脚互换的,建议使用这个功能。可降低硬件工程师与Layout工程师之间沟通成本,加快设计进度。

一点硬件 801

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

上一篇: 构建开源可观测平台
下一篇: 通过自动化部署消除人为操作:不断提高提交部署比率
优维科技EasyOps
博客等级 码龄5年 1483粉丝 395原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值