深度学习简单配置及框架缝合

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

自己新电脑cuda的信息


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了的 )

服务器输入nvcc -V

  • 对于绝大多数使用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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容