沐神(李沐)分享如何快速阅读和整理文献的技巧

点击上方“AI算法与图像处理”,选择加"星标"或“置顶”

重磅干货,第一时间送达

本文整理自 B 站视频:https://www.bilibili.com/video/BV1nA41157y4

由李沐大神分享关于如何快速阅读和整理文献的相关经验。

本文的主要内容包括:

1、读文献的目的

2、整理论文的技巧和工具

3、工具相关的教程

这里我做了相关的总结和规划,并收集了一些相关工具的教程。如果对你有所帮助,也欢迎给我三连,让我知道这些对我们都很重要!

以后看到一些优质的内容,我也会努力分享给大家,无论大家是在科研或者工作中,希望都能有所收获。

一、明确你读文献的目的是什么

不同阶段的目的是不同的

1)在学生时代,读论文的主要的目的是对一两个我的研究方向了如指掌,包括了对最重要的论文反复研读,了解其中每一句话在说什么,并且能够重复他们的实验

2)在工作之后,目的是对 5-10 个我比较感兴趣的研究方向了解他们的最新的进展,这样子我能够去思考我们团队接下来的研究方向,以及在技术讨论的时候,我能给大家指出这是一篇相关的论文,大家可以去看一下

二、整理论文的技巧和工具

把一个领域里面我想读的论文放在一个markdown文件里面(这里推荐可以使用typora软件,支持不同系统),同时也把我的笔记放在这个里面。我用 markdown 的原因主要是因为它简单、便携性、而且软件支持也不错(例如支持latax-公式、mermaid-流程图 等等),不需要用特别复杂的文献管理软件

举个例子:

这个是我在几个月前读video相关的文献(如下图所示),做了一个笔记,可以看到这个 markdown 文件里面就是一个列表,每一项就是一篇论文,每一项的第一行是他的论文的标题、作者发表的地方、年份以及一些链接包括了本地下载好的pdf的链接、最后是它的引用数

我们知道引用数还在很大程度上反映了一篇论文的重要程度 特别是对一个新的领域我们不熟悉的话,引用数是一个判断这篇论文是不是值得现在读的一个很好的标准

笔记部分:

通常来说是比较简单 可能就几句话的样子,也可能会包括了一些重要的图重要的公式在这里面markdown对 latax支持比较好而且对插图也有一定的支持。如果我们想插入一篇新的想读短论文的话 我们就把它的链接放在最后就行了

这里大佬自己写了一个小软件能够检测哪个 markdown文件被修改,并把里面插入在 url 里面的论文下载下来,并且将它的论文的标题,作者以及引用数全部自动生成好。(未分享出来)

小技巧:

有时候一个领域里面的重要论文比较多的时候,我也会去画一个图,把比较重要的论文之间相互联系起来

我们用的是 mermaid 的这个脚本语言 ,它能够很方便的插入一些连接图 这个是它的源代码 它嵌入在markdown里面 可以自动生成出下面这张图出来。

这里面一个方块就是一篇论文 一个箭头表示是下面一个论文是如何改进上面一个论文的 并且有一点简简单单的注释。

最后 我一般需要平板来读论文 我用的是12 9寸的ipad 这样子能够尽量的跟一个论文打印的纸张的大小差不多,什么文档文件 以及下载好的pdf都会被同步到dropbox里面,我们在 ipad 直接打开,不仅能够看我的笔记 而且能够直接点击pdf的链接,打开pdf在ipad上直接阅读。

三、工具的整理和相关的入门教程

上面的内容就是李沐大神的分享,下面是我针对视频中提到的一些工具,进行相应的整理。

1、markdown工具选择

这里推荐 typora ,官网:https://www.typora.io/

根据自己的电脑系统选择合适的软件

2、typora 入门教程

https://sspai.com/post/54912 (含大量操作的动画)

3、typora 中 mermaid 教程

https://www.runoob.com/note/47651

我稍微试了一下

关于typora 中如何显示公式:

https://blog.youkuaiyun.com/weixin_44493841/article/details/95509613

设置完成后记得重启后才有效

好的,今天的分享就到这里,如果喜欢记得关注我,给我一个三连,感谢

个人微信(如果没有备注不拉群!)
请注明:地区+学校/企业+研究方向+昵称



下载1:何恺明顶会分享
在「AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析
下载2:终身受益的编程指南:Google编程风格指南
在「AI算法与图像处理」公众号后台回复:c++,即可下载。历经十年考验,最权威的编程规范!


下载3 CVPR2021


在「AI算法与图像处理」公众号后台回复:CVPR,即可下载1467篇CVPR 2020论文 和 CVPR 2021 最新论文

点亮 ,告诉大家你也在看

<think> 首先,用户提供了几个引用,但系统指令提醒我,这些引用仅供参考,并不是用户真正的需求。我需要参考用户上一次的问题我的回答。用户的问题是:“我想查找pycharm与李沐深度学习相关的内容,可能是使用pycharm进行李沐深度学习课程中的实践等 请问pycharm应用于李沐深度学习的相关内容”。 用户明确表示想查找PyCharm与李沐深度学习相关的内容,特别是如何使用PyCharm进行李沐深度学习的实践。李沐是《动手学深度学习》的作者,这门课很流行。 现在,回顾提供的引用: - 引用[1]:提到安装PyCharm专业版,并用netbook完成第二个实践任务,涉及《动手学深度学习》的安装数据操作。 - 引用[2]:关于深度学习在UI设计中的应用,似乎不太相关。 - 引用[3]:李沐深度学习的课程内容,涉及线性回归的代码。 - 引用[4]:训练集测试集的操作,使用FashionMNIST数据集。 - 引用[5]:比较PyCharmJupyter Notebook,提到PyCharm有自动补全错误提示,开发效率高,而Jupyter更适合调试。 用户的上一个问题是我的回答还没有历史,因为这是对话的开始。系统指令说:“请尽可能多的参考用户上一次的问题你的回答”,但用户这是第一个问题,所以没有上一次的问题。我需要基于当前问题。 系统指令还包括: - 使用中文回答。 - 生成相关问题(在末尾)。 - 结构清晰,逐步解决问题。 - 确保回答真实可靠。 - 对于数学格式:行内数学用$...$,独立公式用$$...$$并单独成段。 - 在回答中引用的段落末尾添加引用标识如[^1]。 用户的问题是关于PyCharm应用于李沐深度学习课程。从引用中,我可以提取相关信息: - 引用[1]:直接提到使用PyCharm进行《动手学深度学习》的实践。 - 引用[5]:详细描述了PyCharm vs Jupyter的优点,PyCharm更适合开发,Jupyter更适合调试。 - 引用[3][4]:提供代码示例,可能用于实践。 所以,我的回答应该聚焦于: - 如何使用PyCharm进行李沐深度学习课程的实践。 - 基于引用,整合信息,确保真实可靠。 结构化回答: 1. **介绍**:简要解释PyCharm在深度学习中的应用。 2. **步骤**:逐步指导如何设置使用PyCharm进行李沐课程。 - 安装PyCharm(专业版,因为引用[1]提到)。 - 创建项目。 - 配置环境(如Conda,引用[5]提到miniconda)。 - 编写运行代码(引用[3][4]有代码示例)。 3. **优点**:基于引用[5],解释PyCharm的优点(如自动补全、错误提示)。 4. **实践示例**:提供一个简单的代码示例,相关到李沐课程,如线性回归或FashionMNIST。 5. **生成相关问题**:在末尾添加相关问题。 系统指令说:“回答中引用的段落末尾自然地添加引用标识”,所以我需要引用特定的内容时添加[^1]等。 确保LaTeX语法正确: - 如果有数学公式,用$...$或$$...$$。 - 例如,在深度学习中可能有变量,如损失函数。 真实可靠: - 李沐的课程通常使用PyTorch,《动手学深度学习》书基于PyTorch。 - 代码示例可以从引用[3][4]中提取。 最终回答结构: - 清晰标题。 - 逐步说明。 - 代码块使用Markdown格式。 - 末尾添加相关问题。 生成的相关问题: - 基于主题,如“如何优化PyCharm设置?”或“李沐课程的最佳实践?” 大纲: 1. **引言**:PyCharm在深度学习中的重要性。 2. **安装设置**: - 安装PyCharm专业版。 - 安装Miniconda(引用[5])。 - 创建Conda环境。 3. **项目配置**: - 创建新项目。 - 安装依赖(如torch, d2l)。 4. **代码实践**: - 示例:线性回归(引用[3])。 - 示例:FashionMNIST数据集(引用[4])。 5. **PyCharm优点**:自动补全、错误检测等(引用[5])。 6. **相关问题**。 添加引用: - 例如,提到“安装PyCharm专业版”的来源是引用[1],所以在句子末尾加[^1]。 在代码块中不需要引用,但描述时加。 </think> ### PyCharm 在《动手学深度学习》课程中的应用指南 PyCharm 是一款强大的集成开发环境(IDE),特别适合于高效开发调试深度学习项目。李沐的《动手学深度学习》课程(基于 PyTorch)强调实践操作,使用 PyCharm 可以提高代码编写效率、调试灵活性,并支持大型项目管理。以下是逐步指导如何将 PyCharm 应用于该课程的实践任务,基于课程内容引用信息。回答已整合可靠资源,确保真实性实用性。 #### 1. **安装与设置 PyCharm 环境** 首先,确保 PyCharm 专业版安装正确(推荐专业版以支持更多深度学习工具)。避免将项目软件存储在 C 盘以节省空间[^1]。安装 Miniconda 来管理 Python 环境(Conda 能简化依赖库管理): - **步骤**: - 下载安装 Miniconda(从 [Miniconda 官网](https://docs.conda.io/en/latest/miniconda.html))。 - 安装 PyCharm 专业版(从 [JetBrains 官网](https://www.jetbrains.com/pycharm/download/))。 - 在 PyCharm 中创建新项目,配置 Conda 环境: - 打开 PyCharm → 新建项目 → 选择 "Conda" 环境 → 指定 Python 版本(如 Python 3.8)。 - 安装必要库:在 PyCharm 的 Terminal 中运行: ```bash conda install pytorch torchvision torchaudio cpuonly -c pytorch # 安装 PyTorch pip install d2l # 安装《动手学深度学习》库 ``` 这确保了环境与李沐课程代码兼容[^1][^5]。 #### 2. **创建运行深度学习项目** 在 PyCharm 中创建项目后,可以高效编写调试课程代码。PyCharm 的优点包括自动补全、错误提示(如语法检查)、版本控制集成,适用于大型模型开发[^5]。以下是两个典型实践示例: - **示例 1: 线性回归(引用自李沐课程)** 此代码演示数据生成训练,PyCharm 的调试器可单步执行: ```python import torch from d2l import torch as d2l # 生成合成数据集 true_w = torch.tensor([2, -3.4]) true_b = 4.2 features, labels = d2l.synthetic_data(true_w, true_b, 1000) # 生成特征标签 # 定义数据加载器 def load_array(data_arrays, batch_size, is_train=True): dataset = data.TensorDataset(*data_arrays) return data.DataLoader(dataset, batch_size, shuffle=is_train) # 后续训练代码(可在PyCharm中逐步调试) ``` 在 PyCharm 中运行后,使用内置的 "Debug" 模式检查变量值(如 `features` `labels`),避免常见错误[^3]。 - **示例 2: FashionMNIST 数据集处理(引用自课程)** 处理图像数据集时,PyCharm 的代码导航功能简化了大型文件管理: ```python import torch import torchvision from torchvision import transforms from d2l import torch as d2l # 数据预处理 trans = transforms.ToTensor() mnist_train = torchvision.datasets.FashionMNIST( root="./data", train=True, transform=trans, download=True) mnist_test = torchvision.datasets.FashionMNIST( root="./data", train=False, transform=trans, download=True) # 检查数据集大小(PyCharm自动提示类型错误) print(len(mnist_train), len(mnist_test)) # 输出: 60000 10000 [^4] ``` 在 PyCharm 中,使用 "Run" 执行代码,并通过 "Structure" 视图快速跳转到函数定义(如 `d2l.use_svg_display()`)。 #### 3. **PyCharm 的优势与实践技巧** - **开发效率**:PyCharm 的自动补全错误检测(如类型不匹配)远超 Jupyter Notebook,适合编写大型模型代码。引用[5]指出,开发者通常在 PyCharm 中编写代码块,然后复制到 Jupyter 进行交互调试,结合两者优势。 - **调试与优化**: - 使用 PyCharm 的 "Breakpoint" 调试损失函数(例如,在线性回归中监测损失值 $L = \frac{1}{2} \sum (y - \hat{y})^2$)。 - 管理数据集路径(如 `root="./data"`),避免路径错误。 - **集成学习资源**:课程中的安装数据操作部分可直接在 PyCharm 中实现,提升实践任务的完成度[^1][^3]。 #### 4. **常见问题与建议** - **问题:PyCharm 是否比 Jupyter 更适合深度学习?** 是,PyCharm 更适合代码开发错误预防,而 Jupyter 适合交互式调试;建议结合使用(如 PyCharm 写代码,Jupyter 测试片段)[^5]。 - **性能优化**:确保 Conda 环境轻量化,关闭不必要的 PyCharm 插件以加速运行大型深度学习模型。 通过以上步骤,您可以高效应用 PyCharm 完成李沐课程的实践任务。如果需要更具体的代码示例或环境配置细节,请提供更多上下文。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值