IntelliJ IDEA 常用快捷键及重构必备(2023)

JetBrains IntelliJ IDEA 2023 for Mac v2023.3.6 Java平台IDE IntelliJ IDEA 2023 for Mac是一款专为Mac用户设计的集成开发环境(IDE),它为Java开发者以及其他使用多种编程语言的开发者提供了高效、强大的开发工具。这款软件具备智能代码编辑、代码质量分析、版本控制集成以及丰富的插件和工具,旨在提升开发者的编程效率和代码质量。在代码编辑方面,IntelliJ IDEA 2023 for Mac提供了智能代码补全、代码导航和重构功能,这些功能能够根据上下文和语义提示开发者,并帮助他们更快地编写和调试代码。 阅读详情
AI摘要

本文详细列举了IntelliJIDEA中常用的快捷键,包括文本查找、替换、撤销、重构操作、代码编辑、导航、版本控制等,帮助开发者提升工作效率。

一、日常必备

快捷键介绍
Ctrl + F在当前文件进行文本查找 (必备)
Ctrl + R在当前文件进行文本替换 (必备)
Ctrl + Z撤销 (必备)
Ctrl + Q光标所在的变量 / 类名 / 方法名等上面(也可以在提示补充的时候按),显示文档内容,查看变量类型时特别有用
Ctrl + Y删除光标所在行 或 删除选中的行 (必备)
Ctrl + D复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 (必备)
Ctrl + W递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选中范围 (必备)
Ctrl + /注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号 (必备)
Ctrl + Space基础代码补全,默认在 Windows 系统上被输入法占用,需要进行修改,建议修改为 Ctrl + 逗号 (必备)
Alt + EnterIntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同 (必备)
Ctrl + Alt + L格式化代码,可以对当前文件和整个包目录使用 (必备)
Ctrl + Alt + O优化导入的类,删除没用到的,合并写分开的。可以对当前文件和整个包目录使用 (必备)
Ctrl + Alt + 左方向键退回到上一个操作的地方 (必备)(注意与其他软件快捷键冲突)
Ctrl + Alt + 右方向键前进到上一个操作的地方 (必备)(注意与其他软件快捷键冲突)
Ctrl + Shift + F根据输入内容查找整个项目 或 指定目录内文件 (必备)
Ctrl + Shift + R根据输入内容替换对应内容,范围为整个项目 或 指定目录内文件 (必备)
Ctrl + Shift + J自动将下一行合并到当前行末尾 (必备)
Ctrl + Shift + Z取消撤销 (必备)
Ctrl + Shift + N通过文件名定位 / 打开文件 / 目录,打开目录需要在输入的内容后面多加一个正斜杠 (必备)
Ctrl + Shift + U对选中的代码进行大 / 小写轮流转换 (必备)
Ctrl + Shift + /代码块注释 (必备)
Alt +“x”"x"是图标上的关闭按钮,关闭所有非活动选项卡(低估)
Ctrl+F12按文件结构导航卡(低估)
Alt +Shift+↑/↓移动光标所在行(低估)
Ctrl + F11选中文件 / 文件夹,使用助记符设定 / 取消书签,Ctrl+标签符跳到标签处(低估)
Ctrl+`更改视图模式View Mode->Distraction Free Mode (低估)
Ctrl+G转到行:列,代码报错时使用(低估)
Ctrl -/+收起和展开代码块(低估)
F2跳转到下一个高亮错误 或 警告位置 (必备)
Alt + F7查看光标所在的方法 / 变量 / 类所有被调用的地方

二、重构必备

快捷键介绍
Alt + DeleteSafe Detele ( 安全删除,可用在方法上进行快速删除 )
Shift + F6重命名
F5/F6复制/移动元素
Ctrl + Alt + M抽取方法
Ctrl + Alt + C抽取 常量
Ctrl + Alt + F抽取字段
Ctrl + Alt + P抽取参数
Ctrl + Alt + V抽取变量
Ctrl + Alt+Shift + P抽取函数参数
Ctrl + Alt + NInline ( 转换为内联、方法链形式的调用 ,抽取方法的反操作)
Ctrl + F6Change Signature ( 修改方法、类的签名,含参数、返回值类型等 )

Ctrl+Alt+M 提取方法:
在这里插入图片描述
Ctrl + Alt + C 抽取 常量:在这里插入图片描述
Ctrl + Alt + F 抽取字段:
在这里插入图片描述
Ctrl + Alt + P 抽取参数:
在这里插入图片描述
Ctrl + Alt + V 抽取变量:
在这里插入图片描述

Ctrl + Alt + N 内联方法:
在这里插入图片描述

Ctrl + F6 更改签名:
在这里插入图片描述

三、其他字典

Ctrl

快捷键介绍
Ctrl + F在当前文件进行文本查找 (必备)
Ctrl + R在当前文件进行文本替换 (必备)
Ctrl + Z撤销 (必备)
Ctrl + Y删除光标所在行 或 删除选中的行 (必备)
Ctrl + X剪切光标所在行 或 剪切选择内容
Ctrl + C复制光标所在行 或 复制选择内容
Ctrl + D复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面 (必备)
Ctrl + W递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选中范围 (必备)
Ctrl + E显示最近打开的文件记录列表
Ctrl + N根据输入的 类名 查找类文件
Ctrl + G在当前文件跳转到指定行处
Ctrl + J插入自定义动态代码模板
Ctrl + P方法参数提示显示
Ctrl + Q光标所在的变量 / 类名 / 方法名等上面(也可以在提示补充的时候按),显示文档内容
Ctrl + U前往当前光标所在的方法的父类的方法 / 接口定义
Ctrl + B进入光标所在的方法/变量的接口或是定义出,等效于 Ctrl + 左键单击
Ctrl + K版本控制提交项目,需要此项目有加入到版本控制才可用
Ctrl + T版本控制更新项目,需要此项目有加入到版本控制才可用
Ctrl + H显示当前类的层次结构
Ctrl + O选择可重写的方法
Ctrl + I选择可继承的方法
Ctrl + +展开代码
Ctrl + -折叠代码
Ctrl + /注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号 (必备)
Ctrl + [移动光标到当前所在代码的花括号开始位置
Ctrl + ]移动光标到当前所在代码的花括号结束位置
Ctrl + F1在光标所在的错误代码出显示错误信息
Ctrl + F3调转到所选中的词的下一个引用位置
Ctrl + F4关闭当前编辑文件
Ctrl + F8在 Debug 模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点
Ctrl + F9执行 Make Project 操作
Ctrl + F11选中文件 / 文件夹,使用助记符设定 / 取消书签
Ctrl + F12弹出当前文件结构层,可以在弹出的层上直接输入,进行筛选
Ctrl + Tab编辑窗口切换,如果在切换的过程又加按上delete,则是关闭对应选中的窗口
Ctrl + Enter智能分隔行
Ctrl + End跳到文件尾
Ctrl + Home跳到文件头
Ctrl + Space基础代码补全,默认在 Windows 系统上被输入法占用,需要进行修改,建议修改为 Ctrl + 逗号 (必备)
Ctrl + Delete删除光标后面的单词或是中文句
Ctrl + BackSpace删除光标前面的单词或是中文句
Ctrl + 1,2,3…9定位到对应数值的书签位置
Ctrl + 左键单击在打开的文件标题上,弹出该文件路径
Ctrl + 光标定位按 Ctrl 不要松开,会显示光标所在的类信息摘要
Ctrl + 左方向键光标跳转到当前单词 / 中文句的左侧开头位置
Ctrl + 右方向键光标跳转到当前单词 / 中文句的右侧开头位置
Ctrl + 前方向键等效于鼠标滚轮向前效果
Ctrl + 后方向键等效于鼠标滚轮向后效果

Alt

快捷键介绍
Alt + `显示版本控制常用操作菜单弹出层
Alt + Q弹出一个提示,显示当前类的声明 / 上下文信息
Alt + F1显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择
Alt + F2对于前面页面,显示各类浏览器打开目标选择弹出层
Alt + F3选中文本,逐个往下查找相同文本,并高亮显示
Alt + F7查找光标所在的方法 / 变量 / 类被调用的地方
Alt + F8在 Debug 的状态下,选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果
Alt + Home定位 / 显示到当前文件的 Navigation Bar
Alt + EnterIntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同 (必备)
Alt + Insert代码自动生成,如生成对象的 set / get 方法,构造函数,toString() 等
Alt + 左方向键按左方向切换当前已打开的文件视图
Alt + 右方向键按右方向切换当前已打开的文件视图
Alt + 前方向键当前光标跳转到当前文件的前一个方法名位置
Alt + 后方向键当前光标跳转到当前文件的后一个方法名位置
Alt + 1,2,3…9显示对应数值的选项卡,其中 1 是 Project 用得最多
Alt +“x”关闭所有非活动选项卡(低估)

Shift

快捷键介绍
Shift + F1如果有外部文档可以连接外部文档
Shift + F2跳转到上一个高亮错误 或 警告位置
Shift + F3在查找模式下,查找匹配上一个
Shift + F4对当前打开的文件,使用新Windows窗口打开,旧窗口保留
Shift + F6对文件 / 文件夹 重命名
Shift + F7在 Debug 模式下,智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法
Shift + F8在 Debug 模式下,跳出,表现出来的效果跟 F9 一样
Shift + F9等效于点击工具栏的 Debug 按钮
Shift + F10等效于点击工具栏的 Run 按钮
Shift + F11弹出书签显示层
Shift + Tab取消缩进
Shift + ESC隐藏当前 或 最后一个激活的工具窗口
Shift + End选中光标到当前行尾位置
Shift + Home选中光标到当前行头位置
Shift + Enter开始新一行。光标所在行下空出一行,光标定位到新行位置
Shift + 左键单击在打开的文件名上按此快捷键,可以关闭当前打开文件
Shift + 滚轮前后滚动当前文件的横向滚动轴滚动

Ctrl + Alt

快捷键介绍
Ctrl + Alt + L格式化代码,可以对当前文件和整个包目录使用 (必备)
Ctrl + Alt + O优化导入的类,可以对当前文件和整个包目录使用 (必备)
Ctrl + Alt + I光标所在行 或 选中部分进行自动代码缩进,有点类似格式化
Ctrl + Alt + T对选中的代码弹出环绕选项弹出层
Ctrl + Alt + J弹出模板选择窗口,讲选定的代码加入动态模板中
Ctrl + Alt + H调用层次
Ctrl + Alt + B在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口
Ctrl + Alt + V快速引进变量
Ctrl + Alt + Y同步、刷新
Ctrl + Alt + S打开 IntelliJ IDEA 系统设置
Ctrl + Alt + F7显示使用的地方。寻找被该类或是变量被调用的地方,用弹出框的方式找出来
Ctrl + Alt + F11切换全屏模式
Ctrl + Alt + Enter光标所在行上空出一行,光标定位到新行
Ctrl + Alt + Home弹出跟当前文件有关联的文件弹出层
Ctrl + Alt + Space类名自动完成
Ctrl + Alt + 左方向键退回到上一个操作的地方 (必备)(注意与其他软件快捷键冲突)
Ctrl + Alt + 右方向键前进到上一个操作的地方 (必备)(注意与其他软件快捷键冲突)
Ctrl + Alt + 前方向键在查找模式下,跳到上个查找的文件
Ctrl + Alt + 后方向键在查找模式下,跳到下个查找的文件

Ctrl + Shift

快捷键介绍
Ctrl + Shift + F根据输入内容查找整个项目 或 指定目录内文件 (必备)
Ctrl + Shift + R根据输入内容替换对应内容,范围为整个项目 或 指定目录内文件 (必备)
Ctrl + Shift + J自动将下一行合并到当前行末尾 (必备)
Ctrl + Shift + Z取消撤销 (必备)
Ctrl + Shift + W递进式取消选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展取消选中范围 (必备)
Ctrl + Shift + N通过文件名定位 / 打开文件 / 目录,打开目录需要在输入的内容后面多加一个正斜杠 (必备)
Ctrl + Shift + U对选中的代码进行大 / 小写轮流转换 (必备)
Ctrl + Shift + T对当前类生成单元测试类,如果已经存在的单元测试类则可以进行选择
Ctrl + Shift + C复制当前文件磁盘路径到剪贴板
Ctrl + Shift + V弹出缓存的最近拷贝的内容管理器弹出层
Ctrl + Shift + E显示最近修改的文件列表的弹出层
Ctrl + Shift + H显示方法层次结构
Ctrl + Shift + B跳转到类型声明处
Ctrl + Shift + I快速查看光标所在的方法 或 类的定义
Ctrl + Shift + A查找动作 / 设置
Ctrl + Shift + /代码块注释 (必备)
Ctrl + Shift + [选中从光标所在位置到它的顶部中括号位置
Ctrl + Shift + ]选中从光标所在位置到它的底部中括号位置
Ctrl + Shift + +展开所有代码
Ctrl + Shift + -折叠所有代码
Ctrl + Shift + F7高亮显示所有该选中文本,按Esc高亮消失
Ctrl + Shift + F8在 Debug 模式下,指定断点进入条件
Ctrl + Shift + F9编译选中的文件 / 包 / Module
Ctrl + Shift + F12编辑器最大化
Ctrl + Shift + Space智能代码提示
Ctrl + Shift + Enter自动结束代码,行末自动添加分号 (必备)
Ctrl + Shift + Backspace退回到上次修改的地方
Ctrl + Shift + 1,2,3…9快速添加指定数值的书签
Ctrl + Shift + 左方向键在代码文件上,光标跳转到当前单词 / 中文句的左侧开头位置,同时选中该单词 / 中文句
Ctrl + Shift + 右方向键在代码文件上,光标跳转到当前单词 / 中文句的右侧开头位置,同时选中该单词 / 中文句
Ctrl + Shift + 左方向键在光标焦点是在工具选项卡上,缩小选项卡区域
Ctrl + Shift + 右方向键在光标焦点是在工具选项卡上,扩大选项卡区域
Ctrl + Shift + 前方向键光标放在方法名上,将方法移动到上一个方法前面,调整方法排序
Ctrl + Shift + 后方向键光标放在方法名上,将方法移动到下一个方法前面,调整方法排序
Alt + Shift
快捷键介绍
Alt + Shift + N选择 / 添加 task
Alt + Shift + F显示添加到收藏夹弹出层
Alt + Shift + C查看最近操作项目的变化情况列表
Alt + Shift + F添加到收藏夹
Alt + Shift + I查看项目当前文件
Alt + Shift + F7在 Debug 模式下,下一步,进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入
Alt + Shift + F9弹出 Debug 的可选择菜单
Alt + Shift + F10弹出 Run 的可选择菜单
Alt + Shift + 左键双击选择被双击的单词 / 中文句,按住不放,可以同时选择其他单词 / 中文句
Alt + Shift + 前方向键移动光标所在行向上移动
Alt + Shift + 后方向键移动光标所在行向下移动

Ctrl + Shift + Alt

快捷键介绍
Ctrl + Shift + Alt + V无格式黏贴
Ctrl + Shift + Alt + N前往指定的变量 / 方法
Ctrl + Shift + Alt + S打开当前项目设置
Ctrl + Shift + Alt + C复制参考信息

其他

快捷键介绍
F2跳转到下一个高亮错误 或 警告位置 (必备)
F3在查找模式下,定位到下一个匹配处
F4编辑源
F7在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中
F8在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
F9在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上
F11添加书签
F12回到前一个工具窗口
Tab缩进
ESC从工具窗口进入代码文件窗口
连按两次Shift弹出 Search Everywhere 弹出层

参考

Idea 快捷键大全(常用快捷键总结)
IntelliJ IDEA 中最被低估的快捷键
IDEA(2021)最全常用快捷键《必须收藏》
IntelliJ IDEA 中的日常重构技巧
IDEA 快捷键拆解系列(八):Refactor 篇
The most popular refactorings supported in IntelliJ IDEA

IntelliJ IDEA 中的 Java 代码重构技巧 本文旨在全面介绍IntelliJ IDEA中Java代码重构的各种技巧和方法。我们将覆盖从基础到高级的重构操作,帮助开发者充分利用IDE的强大功能来改善代码结构,同时保持功能不变。文章首先介绍重构的基本概念,然后详细讲解IntelliJ IDEA中的各种重构操作,接着通过实际案例展示重构过程,最后讨论重构的最佳实践和常见问题。重构(Refactoring):在不改变代码外在行为的前提下,对代码内部结构进行修改,以提高代码质量的过程。安全重构(Safe Refactoring) 阅读详情

相关推荐

vtk相机_分别用 VTK 体绘制和面绘制来实现医学图像三维重建;

序言,VTK介绍:VTK 全称为 The Visualization Toolkit (可视化工具),是一个开源、跨平台、自由获取、支持并行计算的图形应用函数;拥有3D 渲染的最新工具、提供3D交互模式以及2D绘图等。VTK 包含一个C++类库,目前提供了众多语言接口,例如 Java、Python、TCL;在三维函数库OpenGL 的基础上采用面向对象设计方法发展起来图形学基本概念和数据...

weixin_39665302的博客 688

InteliJ IDEA 快捷键快速重构

IDEA快速重构快捷键 重构类、方法(change signarture):CTRL+F6 重命名文件、方法、属性等(rename):SHIFT+F6 提取当前选择为变量(extract variable):CTRL+ALT+V 提取当前选择为属性(extract field):CTRL+ALT+F 提取当前选择为常量(extract constant):CTRL+ALT+C ......

进修的CODER 7653

如何理解Fourier Neural Operator (FNO)

2022年Nvidia发表在arXiv上的的FourcastNet作为几乎是最早的一篇气象大模型的工作(之前Google Research的MetNet主要还是对于降水的预报)。除了Transformer的backbone之外,使用到了2021年发表在ICLR上的Fourier Neural Operator。为了更好的理解模型的理论基础,可以详细学习一下以及他的前期工作GNOFNO作者对这两篇文章的解析blog。

momo的博客 1万+

IDEA 2023快捷键

16、java maven 项目 默认不会对src\main\java 下面的非java文件进行编译,当然非java可以放到resource中。14、代码块整体移动 Tab 左移 shift+tab、3、ALT +SHIFT +↕ 可以把当前行代码进行移动。13、列编辑 ALT+鼠标选选左右上下移动 选择代码。9、ALT+insert 生成一些代码。7、CTRL+ATL+H 方法调用层级。12、代码重构 CTRL+ALT+M。4、CTRL+H 类的继承继承结构。

helpluozhao123的博客 1477

Tiny windows 11 安装与部署

需要注意,安装完后键入 windows 键,输入 update 先更新系统。点击开始,等待完成即可,用户可自定义。

m0_73351035的博客 9048

STM32中断实战:用ITR9606红外传感器DIY转速计数器(附完整代码)

本文详细介绍了如何使用STM32中断机制和ITR9606红外传感器DIY高精度转速计数器。从传感器选型、中断配置到抗干扰设计,提供完整的实战指南和优化代码,特别适合嵌入式开发者和硬件工程师快速实现工业级转速检测系统。

weixin_29159613的博客 289

2023.3.16 IDEA快捷键

查找并替换文本,支持多行查找,或者只在代码中查找,或者只在注释中查找,或者使用正则表达式查找 Ctrl + R(Replace 替换)快速提示完成,在代码可能存在语法问题时,IDEA 会提示使用该快捷键可以快速自动修正(功能非常强大,最常使用) Alt + Enter。快速定位源码,将光标放在方法上输入Ctrl + B , 可以去到该方法的源码 Ctrl + B。添加/取消多行注释,【第一次是添加注释,第二次是取消注释】 Ctrl + shift + /在当前行上面插入一行空行。

weixin_69074988的博客 891

MFC Windows 程序设计[122]之树形下拉列表框(附源码)

MFC是微软公司提供的一个类库(class libraries),用以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。有很多初学MFC的小伙伴们都觉得MFC比较难学,看书吧,看了就忘了,网上的一些教程又是写的含糊不清,故而学习起来很吃力...... 故此,本专栏亲自研究,实践,由易到难,层层深入,将调试过程中所遭所遇进行详细讲解,注意事项进行一一列举,希望能够帮助到各位初学MFC的小伙伴,避免走弯路,费时费力。.........

hnjzfwy的博客 458

Idea常用快捷键(超详细版)

1、alt+回车 ①生成左边变量参数 ②创建类中不存在但是的方法 2、ctrl+alt+B 跳转到实现的方法位置,ctrl+鼠标左键只会进到接口方法中 3、ctrl+D----复制 4、ctrl+y----删除 5、ctrl+/-----单行或多行注释 6、/**+回车 -----多行可收起的注释,可用在方法上 7、ctrl+alt+回车-----光标移动到上一行 8、ctrl+shift+回车-----光标移动到下一行 9、ctrl+B ----跳转到定义的地方 10、alt+insert可以打开选择面板

Jz_Stu的博客 7790

uni-app - 文本展开 / 收起折叠功能,支持自定义样式(当文本内容超出规定行数后,展开收起折叠的功能)兼容 H5 / App / 小程序且易用更容易修改的插件组件源码,超详细的示例代码及注释

uniapp实现文本的展开与收起功能,uniapp展开全部和收起,uniapp里文本的展开与收起,uniapp中文本内容超出规定行数后展开收起的处理,UNIAPP兼容h5、微信小程序多行文本展开或收起,uni-app中,文字超出隐藏并显示省略号(实现展开、收起全文),uni-app中文本过长-实现折叠与展开效果,中文本内容超出规定行数(字数)后展开收起的处理,超出部分...显示,uniapp适用于uniapp多行文本溢出显示...,多行文本展开或收起,uni-app-文本展开/收起折叠功能,支

🏆 前端领域优质创作者 5641

【Com通信】Com模块的事件帧发送及周期报文的快慢发送机制

Com模块的事件帧发送及周期报文的快慢发送机制

qq_36056498的博客 2335

《IntelliJ IDEA 2023最新版快捷键大全:GIF动图演示,提升你的开发效率》

本文介绍了IntelliJ IDEA 2023最新版的快捷键大全,并通过GIF动图演示了各项操作。文章按照不同功能模块进行分类,包括构建/编译、文本编辑、光标操作、文本选择、代码折叠、多个插入符号和范围选择等。通过学习本文,读者可以全面了解IntelliJ IDEA的快捷键,提高在IDE中的开发效率。IntelliJ IDEA作为一款功能强大的集成开发环境,拥有众多便捷的快捷键操作,可以帮助开发者更高效地进行编码工作。然而,由于快捷键众多且功能复杂,许多开发者对于如何使用和配置快捷键存在困惑。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 8551

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

IntelliJ IDEA 设置代码提示或自动补全的快捷键 (附IntelliJ IDEA常用快捷键)

修改方法如下: 点击 文件菜单(File) –> 点击 设置(Settings… Ctrl+Alt+S), –> 打开设置对话框。 在左侧的导航框中点击 KeyMap。 接着在右边的树型框中选择 Main menu –> Code –> Completion. 接着需要做两件事: 1. 移除原来的Cycle Expand Word 的 Alt+/ 快捷键绑定。 2. 在 Basic 上点击右键,去除原来的 Ctrl+空格 绑定,然后添...

沨沙的博客 6427

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

IntelliJ IDEA 2020 快捷键大全

自动代码 常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码 。 例如要输入for(User user : users)只需输入user.for+Tab ; 再比如,要输入Date birthday = user.getBirthday()只需输入user.getBirthday().var+Tab即可。 代码标签输...

ChauncyNong's 优快云 Blog 1111

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IntelliJ IDEA 常用快捷键一览表

提高开发效率,IntelliJ IDEA 常用快捷键一览表

Zdethm的博客 514

eclipse跳转到指定行快捷键_Intellij IDEA快捷键大全

原文链接:https://www.cnblogs.com/gqzdev/p/idea-shortcut.html古人有云:工欲善其事,必先利其器,要是只是手握利器,而不能发挥其最大的效益,那无异于赤手空拳,对敌对垒。那古人所云,未得其精髓,只能为碎语闲言尔。自动代码常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码...

weixin_29168813的博客 746

IntelliJ IDEA 2023 保姆级配置指南:插件、快捷键与性能调优

集成开发环境(IDE)是现代软件开发的基石,它通过集成代码编辑、编译、调试和项目管理等功能,极大提升了开发效率。其核心原理在于提供智能代码补全、实时错误检查和深度框架集成,从而减少上下文切换,让开发者专注于业务逻辑。对于Java开发者而言,一个高效、顺手的IDE能直接转化为生产力优势,尤其在微服务、云原生等复杂应用场景中。本文聚焦于业界广泛使用的IntelliJ IDEA,从**插件生态管理**和**快捷键体系**两个高频技术点切入,深入探讨如何通过系统性配置构建个性化高效开发环境。文章不仅涵盖必备插件选型

weixin_34377919的博客 338

IntelliJ IDEA for mac的自定义快捷键

mac下IDEA的自定义支持

hjc_042043的博客 1504

IntelliJ IDEA 2023.3 最新变化

此外,我们还解决了导入或重新加载 sbt 项目时导致 sbt 命令历史记录中断的问题,并且改进了创建新项目时获取可用 Scala 和 sbt 版本的流程。通过 Telepresence 拦截,您可以将来自其他集群服务的流量重定向到工作站的所选端口,并使用熟悉的 IDE 工具完全在本地调试微服务。为了使代码补全弹出窗口保持整洁,以及实用方法的建议更易查找,我们将其收集到一个列表中,这个列表会在您第二次调用代码补全时显示。我们为所有项目启用了新的快速 Maven 项目导入机制,包括使用旧导入实现创建的项目。

一起coding,一起嗨。 3019

IDEA快捷键完整说明

目录1 编辑相关(Editing)2 查找引用点(Usage Search)3 导航相关(Navigation)4 搜索和替换(Search/Replace)5 实时模板代码(Live Templates)6 重构 (Refactoring)7 调试(Debug)8 编译与运行(Compile/Run )9 版本控制相关(VCS/Local History)10 其他 我在网上看到了不少介绍ID...

小伍的程序之路 537

IntelliJ IDEA 使用技巧与插件推荐

通过掌握这些技巧和插件,可显著提升开发效率,让IDEA成为你的“智能编程助手”。建议根据个人开发需求逐步探索,逐步优化工作流!

GanKuRenSheng的博客 865

IDEA常用快捷键

IDEA常用快捷键搜索查找重构生成代码 搜索查找 双击shift:根据文件名搜索 alt+shift+f:根据文件内容搜索 ctrl+b:查看声明 ctrl+atl+b:查看实现类 alt+f7:查看类在哪里被调用 ctrl+alt+shift+u:查看继承图 重构 ctrl+o:重写父类 ctrl+alt+c:将变量提升为常量 ctrl+alt+v:将内联变量提取为变量 alt+enter:补全关联、修正操作,例如变量名,import class,加个@Override后在接口创建方法,为实现类创建

qq_29415357的博客 296

Intellij Idea的编译和调试快捷键

shift+F10:编译 shift+F9:调试 按下调试后,在Intellij下方出现如下的界面 F9:调试窗口的小三角,执行到下一个断点 shift+F8:逐过程step over(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行) shift+F7:逐语句step into向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不进入官方类库的方

xiuwu0423的专栏 7574

IntelliJ IDEA代码常用的快捷键

IntelliJ IDEA代码常用的快捷键有: Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) Ctrl+E或者Alt+Shift+C 最近更改的代码 Ctrl+R 替换文本 Ctrl+F 查找文本 Ctrl+Shift+Spa

m0_47224321的博客 190
上一篇: Scala 如何调试隐式转换--隐式转换代码的显示展示
下一篇: HiveQL 语句 优先级
Code_LT
博客等级 码龄10年 307粉丝 182原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值