2024-03-07
Larry视频
深度学习从0配置环境到复现跑通代码-win系统
深度学习从0配置环境到复现跑通代码(全网最真实的装环境,状况百出),绝不是提前配置好。手把手教学。你一定看得懂。_哔哩哔哩_bilibili
在win操作系统复现跑通深度学习代码
参考帖子:CUDA 11.7+Win10+Pytorch安装_cuda version: 11.7-CSDN博客
自己后面找到的帖子 => 这个帖子更加符合操作 因为安装pytorch不需要安装cuda软件:最详细的 Windows 下 PyTorch 入门深度学习环境安装与配置 (GPU版本)_pytorch gpu环境搭建-CSDN博客
如果自己想要安装cuda、cudann可以参考帖子或者询问GPT:显卡驱动 + CUDA + CuDNN + Pytorch全系列教程(非常详细)_cuda驱动-CSDN博客
可以根据下面cuda信息安装cuda toolkit版本(详见小红书链接http://xhslink.com/VQSzcF)
1、安装anaconda
2、安装IDE 如vscode(推荐)和pycharm
3、安装cuda => 这里是指安装cuda驱动 一般电脑是自带的 (对于命令行输入nvdia-smi
即查询自己的驱动 CUDA Drive Version 比如说显示12.4 在安装cuda时候≤12.4的版本都可以)
ps:实在找不到相应版本cuda可以选择更新cuda驱动再去安装cuda
Windows更新CUDA_cuda version怎么更新-CSDN博客
(这个帖子主要是看如何更新驱动 其实这种自己直接网上搜索都会有教程 这里注意cuda软件和cuda驱动的区别 实验室服务器是安装了CUDA Toolkit了的 )
对于绝大多数使用pytorch的场景,不需要手动安装CUDA Toolkit(即cuda软件)或cuDNN。
安装pytorch时(按照官网命令安装),它会包括适合该版本的CUDA和cuDNN的运行时库,前提是你选择了包含CUDA支持的PyTorch版本。只要你的系统上安装了合适的NVIDIA CUDA驱动,PyTorch就能利用这些运行时库来执行GPU加速的计算。
总的来说,对于日常的深度学习研究和开发,只需要确保有合适的CUDA驱动即可运行torch ,无需手动安装CUDA Toolkit或cuDNN。确保系统上安装了正确的NVIDIA CUDA驱动即可=> 安装时候就简单运行命令行选择合适torch版本就可以了
如果涉及到CUDA编程,或需要特定版本的CUDA/cuDNN进行项目开发,或遇到了环境兼容性问题,那么可能需要手动安装CUDA Toolkit和cuDNN。
4、安装pytorch (命令行运行安装过程可能会出现很多warning 不要紧)
5、根据别人项目中readme创一个虚拟环境,一个项目创建一个虚拟环境=(利用conda creat指令),之后在环境中安装所依赖的包(如pytorch)
2024-03-18
找论文复现代码
研0和研1如何快速找论文并复现代码_哔哩哔哩_bilibili
- 【定方向】
- 【文献检索 => 寻找有代码论文(摘要中)】
- 【有代码 => 按照README直接去复现跑起来】配置好环境和数据 → 直接去训练代码
深度学习创新点
研0和研1深度学习如何快速找到创新点【理论部分】?_哔哩哔哩_bilibili
- 【缝合】
- 举例:利用GPT,以transformer为例,询问它transformer是什么、有什么缺点,以它说的缺点为突破口,寻找目前可以解决这个缺点的方法代码,之后直接缝合到transformer的模块里面,即一种简单的缝合模式 → 即组合创新
- 或者其实也可以 → 替换创新
对于代码能力不够强的,其实可以完全进行这种缝合
计算机方向的up主缝模块视频,即搭积木过程
深度学习网络缝合模块,模块缝模块。思路代码按小白角度讲解。手把手教你缝合(全网最详细教学)_哔哩哔哩_bilibili
一般别人的代码会分为model、test、train三个主干文件,缝模块一般都是在model中进行缝补
然后现在其实你已经了解了某个过程如何实现的(利用你所已知的代码块),直接搜索引擎搜索模块代码一般都是有的 | 或者说利用GPT得到所需的代码(前提就是能用语言清晰表达出你需要什么代码)→ 像自己的目前的这种交叉学科方向,其实更多的是知道这个交叉学科目前研究的方向有哪些,然后聚焦某个方向得到自己的想法,然后利用GPT简单的实现自己的思路
继续up主缝合代码实际演示过程,在model中一般是有很多class类和def定义前向和反向传播这样的,将想要缝合的模块加到最后,修改通道数让代码可以跑通,可以在model文件最后使用if name=main这种进行测试用例打印model的模块
up主整理了很多模块及代码,直接使用就行,可以自己创一个py文件运行测试下每个模块代码,然后结果只需要关注通过维度的变化,提前将输入和输出通道维度对齐,可以使用if name=main这种进行测试用例
多个模块,可以串联、可以并联(并联时候两个模块可以加法、乘法等等)、包含
# 下面只是一个简单的多个模块进行并联示例 代码不一定正确 只是展示思路
class chuangxin(nn.Module):
def __init__(self,channel.keser-size):
super(chuangxin,self).()
self.se=ECAATentive()
self.ECA=ECAATentive()
def forward(self,x):
a=self.se(x)
b=self.ECA(x)
return a+b
# return a*b