开启VSCode自动保存的4种方式(第3种最实用但少有人知)

vscode自动保存eslint | vue配置eslint规则 配置 https://www.jianshu.com/p/23a5d6194a4b // { // "files.autoSaveDelay": 2000, // "eslint.autoFixOnSave": true // }, // { // "language": "html", // "autoFix": true // },... 阅读详情

第一章:VSCode自动保存功能的核心价值

Visual Studio Code(VSCode)作为现代开发者的首选编辑器之一,其自动保存功能极大地提升了编码效率与工作流的连续性。启用该功能后,开发者无需频繁手动执行保存操作,即可确保代码变更被及时持久化,有效避免因意外崩溃或断电导致的数据丢失。

提升开发专注度

自动保存让开发者将注意力集中在逻辑实现而非文件管理上。配置后,所有修改在满足特定条件时自动写入磁盘,减少中断思维的操作频率。

配置方式与模式选择

VSCode 提供多种自动保存策略,可通过设置面板或配置文件进行调整。常用模式包括:
  • afterDelay:在用户停止输入指定延迟后保存
  • onFocusChange:当编辑器失去焦点时保存
  • onWindowChange:当整个窗口失焦时保存
通过以下 JSON 配置启用基于延迟的自动保存:
{
  // 设置自动保存模式
  "files.autoSave": "afterDelay",
  // 延迟毫秒数(1.5秒)
  "files.autoSaveDelay": 1500
}
上述配置将在用户停止输入1.5秒后触发保存动作,平衡性能与响应速度。

协同工作中的稳定性保障

在结合版本控制(如 Git)或实时协作工具(如 Live Share)时,自动保存确保远程参与者始终看到最新代码状态,降低冲突概率。
模式触发条件适用场景
afterDelay停顿指定时间后日常编码,追求流畅体验
onFocusChange切换文件或窗口时多文件操作,需即时同步
onWindowChange离开 VSCode 窗口时跨应用频繁切换者

第二章:通过图形化界面开启自动保存

2.1 理解设置面板的结构与导航路径

现代应用的设置面板通常采用分层式结构,将功能模块按业务逻辑划分为多个区域,如“账户”、“通知”、“隐私”等。这种设计不仅提升用户体验,也便于权限与状态管理。
典型目录结构
  • 账户设置:管理用户身份与认证信息
  • 安全中心:密码、双因素验证配置
  • 通知偏好:自定义消息推送规则
  • 数据与隐私:控制数据收集与共享策略
前端路由实现示例

// 使用 Vue Router 定义设置页路径
const routes = [
  { path: '/settings/profile', component: ProfileView },
  { path: '/settings/security', component: SecurityView },
  { path: '/settings/notifications', component: NotificationView }
];
上述代码通过声明式路由映射,将不同子路径绑定至对应视图组件,实现无刷新页面跳转。每个路径代表设置面板的一个功能区域,支持独立加载与状态维护。

2.2 定位并启用自动保存选项的操作步骤

界面导航路径
在大多数现代编辑器中,自动保存功能位于“文件”菜单下的“首选项”子菜单中。用户需依次点击 文件 → 首选项 → 设置,进入配置中心。
启用操作流程
在设置搜索框中输入“auto save”,系统将过滤出相关选项。选择“Auto Save”下拉菜单,推荐设置为 afterDelay,表示在指定延迟后自动保存。
  1. 打开编辑器设置面板
  2. 搜索关键字“auto save”
  3. 选择触发模式:off、afterDelay、onFocusChange 或 always
  4. 若选 afterDelay,配置延迟时间(单位:毫秒)
{
  "files.autoSave": "afterDelay",
  "files.autoSaveDelay": 1000
}
上述配置表示在用户停止编辑1秒后触发自动保存。参数 files.autoSave 控制保存策略,files.autoSaveDelay 定义延迟阈值,适用于频繁修改场景,兼顾性能与数据安全。

2.3 不同自动保存模式的理论差异与适用场景

触发时机与数据粒度
定时保存(如每30秒)适合低频编辑场景,而变更即存(on-change)对实时协作系统更关键。二者在吞吐与一致性上存在本质权衡。
同步策略对比
模式延迟资源开销崩溃恢复保障
内存快照低高弱(依赖GC周期)
增量日志中低强(WAL可重放)
典型实现逻辑
// 增量日志写入器:仅序列化变更字段
func (w *LogWriter) WriteDelta(delta map[string]interface{}) {
  w.encoder.Encode(struct {
    Timestamp int64 `json:"ts"`
    Patch     map[string]interface{} `json:"patch"`
  }{time.Now().UnixMilli(), delta})
}
该实现避免全量序列化开销,delta为字段级差异映射,ts支持时序回溯;配合后台异步刷盘,兼顾性能与持久性。

2.4 实践配置 onFocusChange 与 afterDelay 模式

在处理表单输入的实时校验与数据同步时,`onFocusChange` 结合 `afterDelay` 是一种高效的响应策略。该模式避免频繁触发事件,提升性能与用户体验。
核心配置逻辑
const config = {
  onFocusChange: (event) => {
    console.log('焦点状态变更:', event.target.name);
  },
  afterDelay: 300 // 延迟300ms触发,防止过度渲染
};
上述代码定义了一个带延迟执行的焦点变化监听器。`onFocusChange` 在元素获得或失去焦点时被调用,而 `afterDelay` 确保回调不会立即执行,而是等待用户操作稳定后运行,适用于搜索建议、表单验证等场景。
应用场景对比
场景是否启用 afterDelay效果
实时搜索是减少请求频率,降低服务器压力
焦点提示否即时反馈,适合轻量操作

2.5 验证配置效果并排查常见界面设置问题

检查界面渲染状态
使用浏览器开发者工具验证 CSS 变量是否生效:
:root {
  --ui-font-size-base: 14px; /* 基础字号,影响全局文本缩放 */
  --ui-theme-color: #4a6fa5; /* 主题色,用于按钮与高亮边框 */
}
该声明需在 <head> 中的 <style> 或外联 CSS 文件最前端加载,否则变量将无法被后续规则继承。
常见失效原因速查表
现象可能原因验证命令
字体未按预期缩放CSS 自定义属性被重复覆盖getComputedStyle(document.documentElement).getPropertyValue('--ui-font-size-base')
暗色模式切换失败prefers-color-scheme 媒体查询未绑定window.matchMedia('(prefers-color-scheme: dark)').matches
强制重绘调试流程
  1. 清除 localStorage 中缓存的主题偏好:localStorage.removeItem('ui-theme')
  2. 触发强制样式刷新:document.body.classList.toggle('force-repaint')
  3. 检查 DevTools 的 Rendering 面板中「Paint flashing」是否响应变化

第三章:利用 settings.json 文件实现精准控制

3.1 掌握 VSCode 配置文件的优先级机制

VSCode 的配置系统支持多层级覆盖,理解其优先级对团队协作与环境一致性至关重要。配置从全局到项目逐步细化,高优先级配置会覆盖低优先级同名设置。
配置文件层级顺序
  • defaults:内置默认值
  • user settings:用户全局配置(settings.json)
  • workspace settings:工作区根目录下的 .vscode/settings.json
  • folder settings:多根工作区中各文件夹独立配置
  • language-specific:按语言重写配置(如 [javascript])
典型配置覆盖示例
{
  // 用户设置 - 全局开启格式化
  "editor.formatOnSave": true,

  // 工作区设置 - 特定项目关闭
  "[typescript]": {
    "editor.formatOnSave": false
  }
}
上述配置中,TypeScript 文件在该工作区内将禁用保存时格式化,体现语言级配置的高优先级。
优先级对照表
层级作用范围优先级
默认配置所有编辑器实例1
用户配置当前用户全部项目2
工作区配置当前项目3
语言专属配置特定语言文件4

3.2 编辑 settings.json 启用自动保存的实操方法

定位配置文件路径
在 Visual Studio Code 中,settings.json 文件用于存储用户自定义配置。可通过命令面板(Ctrl+Shift+P)输入“Preferences: Open Settings (JSON)”快速打开该文件。
启用自动保存功能
在打开的 settings.json 文件中添加以下配置项:
{
  "files.autoSave": "afterDelay",
  "files.autoSaveDelay": 1000
}
上述配置表示在用户编辑文件后,若无操作持续 1000 毫秒(即 1 秒),则自动保存文件。afterDelay 是最常用的自动保存模式,兼顾性能与数据安全。
可选保存策略对比
  • off:禁用自动保存
  • afterDelay:延迟后保存(推荐)
  • onFocusChange:窗口失焦时保存
  • onWindowChange:窗口切换时保存

3.3 配置参数详解:files.autoSave 与延迟时间设定

核心行为控制
`files.autoSave` 决定编辑器是否自动保存文件,支持三种模式:"off"、"afterDelay" 和 "onFocusChange"。最常用的是延迟保存,需配合 files.autoSaveDelay 使用。
延迟配置示例
{
  "files.autoSave": "afterDelay",
  "files.autoSaveDelay": 1000
}
该配置表示在最后一次编辑操作后等待 1000 毫秒(1 秒)无输入再触发保存。延迟过短易引发频繁 I/O;过长则增加数据丢失风险。
延迟策略对比
延迟值(ms)适用场景风险提示
500高频小修改(如代码补全)CPU/磁盘负载升高
2000文档类长文本编辑意外中断可能丢失 2 秒内容

第四章:工作区与多环境下的自动保存策略

4.1 工作区设置覆盖全局配置的原理分析

在现代开发工具中,工作区(Workspace)配置能够覆盖全局(Global)配置,其核心机制在于配置加载的优先级设计。系统通常采用“就近原则”解析配置文件,工作区级配置被视为更接近当前运行环境的设定,因此具有更高优先级。
配置层级与合并策略
配置系统一般按以下顺序加载:
  1. 默认内置配置
  2. 全局用户配置(如 ~/.gitconfig)
  3. 工作区本地配置(如 .git/config)
后加载的配置项会覆盖先前同名字段。
代码示例:Git 配置覆盖行为

# 全局设置
git config --global user.name "Alice"

# 工作区设置
git config --local user.name "Bob"
执行后,在该工作区内 `user.name` 的值为 "Bob"。`--local` 参数指定的配置写入工作区 `.git/config` 文件,查询时优先读取。
优先级决策流程图
[默认配置] → [应用全局配置] → [应用工作区配置] → [最终生效配置]

4.2 为特定项目定制自动保存策略的实践操作

在复杂项目中,统一的自动保存策略可能无法满足所有场景需求。通过精细化配置,可针对不同模块设定差异化的保存机制。
配置示例与代码实现

// 自定义自动保存策略
const autoSaveConfig = {
  debounceTime: 1000, // 防抖时间(毫秒)
  conditions: {
    formActivity: true,
    networkStatus: 'online'
  },
  excludeFields: ['temporaryCache']
};
该配置通过防抖机制减少频繁写入,仅在表单活动且网络正常时触发保存,并排除临时字段,提升性能与数据一致性。
策略控制参数说明
  • debounceTime:设置延迟保存时间,避免高频触发
  • conditions:定义触发条件,确保环境安全
  • excludeFields:指定不参与自动保存的字段列表

4.3 多人协作中配置同步与冲突规避技巧

数据同步机制
在多人协作开发中,统一的配置管理是保障系统一致性的关键。推荐使用中心化配置仓库(如 Git)进行版本控制,并结合自动化拉取策略确保各节点配置实时更新。
  • 每次变更前执行 git pull --rebase,避免本地提交产生分叉
  • 通过分支隔离不同环境配置(dev/staging/prod)
  • 使用语义化提交信息,明确配置修改意图
冲突预防策略
# config/database.yml
production:
  host: db.prod.example.com
  port: &port 5432
  pool_size: 20
上述 YAML 配置中使用锚点(&port)和引用可减少重复定义,降低多人修改同一参数的概率。建议对高频变更字段建立“配置锁”机制,在 CI 流程中加入配置校验步骤,检测潜在冲突项。
策略作用
配置版本快照便于回滚与差异比对
预提交钩子(pre-commit hook)自动格式化并检查语法合法性

4.4 结合 Settings Sync 实现跨设备一致体验

数据同步机制
VS Code 的 Settings Sync 功能通过微软账户或 GitHub 账户实现配置、扩展、快捷键及代码片段的云端同步。用户在任一设备上启用同步后,所有个性化设置将自动加密上传至云端,并在其他登录设备上无缝还原开发环境。
启用与管理同步项
可通过命令面板执行以下操作:
> Preferences: Turn On Settings Sync
系统将提示选择要同步的数据类型,包括:
  • 设置(Settings)
  • 扩展(Extensions)
  • 键盘快捷方式(Keybindings)
  • 代码片段(Snippets)
  • UI 布局(UI Layout)
同步状态监控
VS Code 提供状态栏图标实时显示同步状态:绿色表示同步完成,黄色为同步中,红色则提示冲突或错误。用户可随时通过“查看同步活动日志”排查问题。

第五章:第3种方法为何最实用但鲜为人知

隐藏在文档角落的解决方案
许多开发者在处理高并发任务调度时,倾向于使用消息队列或定时轮询。然而,第三种方法——基于事件驱动的异步回调机制——虽在性能和资源利用率上表现卓越,却因缺乏主流教程推广而被忽视。
实战案例:支付系统中的应用
某电商平台在订单超时关闭场景中采用该方法,通过监听 Redis 键过期事件触发回调,避免了频繁轮询数据库。配置如下:

# 启用 Redis 键空间通知
redis-cli config set notify-keyspace-events Ex
当订单 TTL 到期,Redis 发布 `__keyevent@0__:expired` 事件,服务端通过订阅通道即时响应。
优势对比分析
方法延迟资源消耗实现复杂度
定时轮询高高低
消息队列延时投递中中中
事件驱动回调低低高
实施要点
  • 确保事件总线的可靠性,建议结合重试机制
  • 使用独立消费者进程处理回调,避免阻塞主服务
  • 对关键操作记录审计日志,便于追踪事件流

// Go 示例:监听 Redis 过期事件
pong, _ := redis.Subscribe("__keyevent@0__:expired")
for msg := range pong.Channel() {
    go handleOrderExpiration(msg.Payload)
}
运维系列【亲测有效】:VSCode 设置代码自动保存!!! VSCode 设置代码自动保存!!! 阅读详情

相关推荐

POWER(十一)charge pump原理

电荷泵是一种基于电容充放电原理的DC-DC转换电路,通过开关控制实现电压转换,包括升压、降压和负压输出。其核心是利用电荷守恒原理,通过电容存储和转移电荷来改变输出电压。典型拓扑结构包括倍压电路和多阶升压电路,具有结构简单、体积小等优势。关键参数包括转换效率、输出电流能力和开关频率,适用于芯片供电、显示屏驱动等低功耗场景。LVDS部分补充说明了自举电路在驱动电路中的应用及其自同步特性。

zhlwsh的博客 2810

vscode设置自动保存

学习记录提示:以下是本篇文章正文内容,下面案例可供参考【Files:Auto Save】中包含不同的方式1、off:默认(不保存)2、afterDelay:配置后会自动保存更改后的内容3、onFocusChange:当编辑器失去焦点时,会自动保存4、onWindowChange:当窗口失去焦点时,会自动保存。

ZzzzJYy的博客 7342

Informer:比Transformer更有效的长时间序列预测

目录 AAAI 2021最佳论文:比Transformer更有效的长时间序列预测 Background Why attention Methods:the details of Informer Solve_Challenge_1:最基本的一个思路就是降低Attention的计算量,仅计算一些非常重要的或者说有代表性的Attention即可,一些相近的思路在近期不断的提出,比如Sparse-Attention,这个方法涉及了稀疏化Attention的操作,来减少Attention计算量,然后涉及的

To be a better man 1万+

【VsCode】设置文件自动保存

设置文件自动保存

水w的博客 6934

LAMMPS in文件详解:从零开始手把手教你配置金属分子动力学模拟

本文详细解析了LAMMPS in文件的配置方法,手把手教你完成金属分子动力学模拟的全流程。从软件环境准备、势函数选择,到使用Materials Studio构建模型、编写in文件进行能量最小化与系统弛豫,再到实施单轴拉伸生产模拟并提取应力应变数据,最后通过Python和OVITO进行结果分析与可视化,提供了完整的实战指南和常见问题排查技巧。

weixin_28475533的博客 527

IFIX数据库Datebase当前值问号

IFIX数据库Datebase当前值问号,已解决,亲测有效 在OPC PowerTool有数据的情况下,IFIX数据库Datebase当前值显示???? 问题分析及解决方法 我的IFIX5.8版本,其它版本可参考 打开IFIX工作台:应用程序–任务控制–I/O驱动–OPC Client;查看OPC驱动是否被禁用,点击启动,变成激活状态即可;若点击启动无法激活OPC驱动,需要重新安装OPC驱动,方法如下: 下载I/O Driver文件 下载链接:https://download.youkuaiyun.com/down

Ron_Tso的博客 2759

vscode设置自动保存步骤

ps:1000毫秒=1秒 100毫秒=0.1秒。这里我设置为0.1秒,差不多相当于敲完就可以“实时”保存了。vscode设置自动保存就不用每次要运行时候去先保存一下才能加载新页面了。打开vscode,找到左下角的这个设置点击打开。把这个x掉就可以自动保存了。这样自动保存就设置完成了。

快乐学习 9608

使用 Simulink + Simscape Electrical 对 级联H桥多电平整流器并网功率分配 进行建模与仿真

摘要:本文详细介绍了基于Simulink对级联H桥(CHB)多电平整流器并网功率分配进行建模的方法。内容包括系统组成、功率分配意义、Simulink建模流程、PWM控制策略实现、功率分配算法设计以及仿真分析。重点阐述了主电路搭建、双环控制结构(外环功率分配+内环电流控制)和载波层叠PWM调制技术,并提供了功率分配算法示例。通过优化参数和控制算法,可提升系统性能。该建模方法为电力电子变换器和新能源并网系统研究提供了有效工具。

amy_mhd的博客 251

VSCode设置自动保存[全教程]

VSCode设置自动保存

Roger_Spencer的博客 1万+

波士顿房价预测分析----以线性回归LinearRegression为例

波士顿房价数据集包括506个样本,每个样本包括13个特征变量和该地区的平均房价,房价显然和多个特征变量相关,先选择一元线性回归与多个特征建立线性方程,观察模型预测的好坏,再选择多元线性回归进行房价预测。13个特征变量缩写含义CRIM城镇人均犯罪率ZN住宅用地所占比例INDUS城镇中非住宅用地所占比例CHAS虚拟变量,用于回归分析NOX环保指数RM每栋住宅的房间数AGE1940 年以前建成的自住单位的比例DIS距离 5 个波士顿的就业中心的加权距离RAD。

我走的每一步都算数 842

【GB28181】wvp-GB28181-pro++ZLMediaKit编译安装国标流媒体服务器教程(Windows平台)

本文基于ZMLMediaKit+WVP-PRO在windows平台进行编译部署GB28181平台,网上教程也比较多,都大同小异,实际操作过程中容易出错的地方也比较多:redis安装无密码,mysql安装后密码的修改以及wvp数据可的创建,配置文件侧修改,尤其是和端口相关的项,再就是运行服务时各种错误需要注意,常见的错误已经做了汇总,遇到问题大家不要怕,找到报错的地方查看定位即可。

废人一枚的博客 4477

【VSCode自动保存设置全攻略】:3步开启自动保存,告别文件丢失烦恼

解决文件未保存导致的丢失问题,教你快速找到vscode自动保存功能在哪里开启。通过设置菜单、快捷键或配置文件,3步实现编辑时自动保存,提升开发效率。支持定时与焦点切换保存模式,操作简单高效,值得收藏。

LiteTrans的博客 1116

android osmdroid 加载常用离线地图格式(开源的在线地图)

osmdroid是(几乎)完整/免费更换为Android MapView(v1 API)类。它还包括一个模块化的瓷砖供应商系统支持众多的在线和离线瓷砖来源和覆盖支持内置覆盖绘制图标,跟踪位置和形状。如果想在你项目中使用osmdroid,绝对是灵活度最高,不用申请百度,高德等的key。还有一堆规则要遵循。osmdroid可以支持多图层叠加,绘制自已的图层。离线加载常用地图格式zip,sqlite,.

mmsx990的博客 1万+

VScode开启自动保存功能

在设置面板中,搜索 "Auto Save" 或直接定位到 "Files: Auto Save" 选项。打开 VS Code 并进入设置:点击左侧的侧边栏图标(看起来像一个齿轮),然后选择 "设置"。在 "Files: Auto Save" 下拉菜单中,选择你想要的自动保存模式。现在,当你编辑文件时,根据你选择的自动保存模式,VS Code 将会自动保存你的更改。选择适合你需求的自动保存模式后,设置将自动保存文件的频率。关闭设置面板,你的更改将会自动保存。或者你也可以使用快捷键。(Mac)直接打开设置。

invilued的博客 2万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

VSCode自动保存功能开启方法(新手必看配置技巧)

解决VSCode编辑烦恼,教你快速找到自动保存设置。vscode 自动保存功能在哪里开启?通过“文件”菜单进入设置,搜索“auto save”并选择“afterDelay”即可实现编辑时自动保存,提升编码效率避免丢失内容,新手配置必看技巧,值得收藏。

VarChat的博客 762

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

VSCode自动保存到底藏在哪?一文破解这个困扰万人的谜题

轻松解决VSCode编辑烦恼,教你快速找到自动保存功能在哪里开启。支持编辑器设置一键启用,适用于编程、写作等多场景,避免内容丢失提升效率。图文指引清晰易懂,值得收藏。

FuncIsle的博客 360

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

vscode保存代码,自动格式化代码设置方法

1.安装eslint依赖 在package.json中安装eslint的依赖 "eslint": "^4.19.1", "eslint-friendly-formatter": "^4.0.1", "eslint-loader": "^2.0.0", "eslint-plugin-html": "^4.0.3", 2.自动格式化设置 1、window电脑: 文件 > 首选项 > 设...

y562363753的博客 3万+

vscode 使用eslint(保存自动格式化)

前提:在package.json中安装了eslint的依赖 1.在项目跟目录添加.eslintrc.js 文件 // https://cn.eslint.org/docs/rules/ // /* * "off"或者0,不启用这个规则 * "warn"或者1,出现问题会有警告 * "error"或者2,出现问题会报错 */ module.exports = { root: true, //此项是用来告诉eslint找当前配置文件不能往父级查找 env: { //环配置 如 "bro

SHUIYI_24的博客 1万+

eslint 保存自动修复_vscode配置eslint保存自动修复

在多人开发项目中公司都统一eslint代码检测,也是为了统一代码风格,方便后期维护。。。这是我自己的setting配置,望参考。。。{"workbench.editor.enablePreview":false,//打开文件不覆盖"search.followSymlinks":false,//关闭快速预览"liveServer.settings.donotShowInfoMsg":tru...

weixin_39965881的博客 1430

VSCode保存时自动格式化代码(复制即用)

Vue项目保存自动根据eslint格式化代码前提 前提 编辑器 Visual Studio Code(VS code) 插件 eslint 和 vetur 用户配置 文件 -> 首选项 -> 设置 settings.json { "eslint.autoFixOnSave": true, "eslint.options": { "extensions": [ ...

陈坚泓的博客 8773

vscode编辑如何保存时自动校准eslint规范

  在日常开发中,一个大点的项目会有多人参与,那么可能就会出现大家的代码风格不一,各显神通,这个时候就要祭出我们的eslint。 在这之前磨刀不误砍柴工,我们先来配置一下我们的代码编辑工具,如何在vscode下保存代码时让代码自动以eslint标准来保存呢。 首先下载vscode就不用说了吧,那么在打开编辑器后我们在扩展商店先下载一个eslint插件 ok,下载完了让我们打开vscode...

weixin_30344995的博客 809

vscode Eslint 保存时自动修复

vscode Eslint 保存时自动修复 今天在配置eslint自动修复的时候发现,网上找的有些配置已经弃用了 后来发现的可以用的配置: 在首选项setting.json里面配置: "editor.codeActionsOnSave": { "source.fixAll.eslint": true } 注: "editor.formatOnSave": true这个配置不是必须的 ...

qq_32587863的博客 5279

5分钟用VSCode自动保存搭建原型系统

VSCode的自动保存功能在设置里就能开启,建议选择"onFocusChange"模式(窗口失去焦点时自动保存),这样既不会频繁触发又足够及时。现在每当你修改代码,控制台就会彩色打印出类似"[15:30] styles.css updated"这样的日志,修改历史一目了然。前端开发最让人头疼的就是改完代码要手动刷新浏览器,今天分享一个超实用的技巧——利用VSCode自动保存功能实现代码实时预览。他们的Web IDE自带实时预览,代码改动直接同步到右侧窗口,对于临时想测试个前端效果特别方便。

GoldenleafRaven13的博客 692

vue-cli4项目开启eslint,保存时自动格式

最近新建一个vue-cli4的项目,初始化的时候没开启eslint,后面想开启的时候不好配置,这里就做个开启eslint和保存时自动修复格式的总结 vscode首先安装eslint插件 配置vscode的自动保存eslint格式 Ctrl+shift+p 把下面代码复制到里面 "editor.tabSize": 2, "eslint.alwaysShowStatus": true, "eslint.autoFixOnSave": true, "eslint.packageManage

c347087870的博客 3665

vscode实用配置、常用插件

在Files: Auto Save Delay中配置延迟保存的时间。在Files:Auto Save中 选择afterDelay。文件--首选项--设置--输入“自动保存”-

筑释科长的博客 7184

vue-cli4中使用eslint,保存时自动格式

在代码规范的道路上,我们终极目标是: 团队中的所有开发人员用一套代码规范规则,并且无需我们花太大的精力去为了格式而格式。希望有一套自动化工具,帮我们检测代码是否规范,如果不规范,则自动能够帮我们按照既定规范格式化。 背景: 新建一个vue-cli4的项目,初始化的时候没开启eslint,后面想开启的时候不好配置,这里就做个开启eslint和保存时自动修复格式的总结 vscode首先安装eslint插件 配置vscode的自动保存eslint格式 按下:Ctrl+shift+p 把下面代码复制

田兴的博客 1222
上一篇: 如何确保容器按顺序启动?docker-compose depends_on使用陷阱全曝光
下一篇: 【Python读取大文件Excel避坑指南】:如何避免内存溢出的5种高效解决方案
Instrustar
博客等级 码龄1年 182粉丝 2225原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值