深度学习复盘与论文复现D

文章目录

一、新环境搭建与适应

1、easy_install和pip的安装使用


mac zsh: command not found: pip解决方法

1️⃣首先运行如下指令

python 复制代码
curl https://bootstrap.pypa.io/pip/get-pip.py -o get-pip.py
python 复制代码
/Users/zhihongli/Library/Python/3.9/bin

2️⃣根据警告信息替换如下(实际是修改环境变量目录过程)

python 复制代码
echo 'exportPATH=/Users/zhihongli/Library/Python/3.9/bin:$PATH' >>~/.bashrc

3️⃣最后执行以下命令进行保存

python 复制代码
source ~/.bashrc

2、关于安装包超时的解决方案

python 复制代码
pip --default-timeout=100 install -U 包名
  • 简单粗暴,直接安装Numpy、Pandas,亲测高效(终极方法)

3、brew安装包安装

1️⃣执行如下关键命令

python 复制代码
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

https://github.com/Homebrew/brew/releases/tag/4.1.4

https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/

2️⃣终于安装成功

4、使用新环境运行以前项目

5、解决win的pycharm修改内存后无法启动

  • 在pycharm中改了最大堆大小以后打不开。当初修改的是破解工具的.vmoptions文件,用破解工具把它重新覆盖到合适的地方。

①在此电脑右键属性--> 打开控制面板

②选择高级系统设置中的环境变量

二、Dataset 数据读取问题

1、Lightning Torch 读取数据

  • 参考官方链接🔗如下

https://pytorch.org/docs/stable/data.html

https://lightning.ai/docs/pytorch/stable/data/datamodule.html

https://pytorch.ac.cn/tutorials/beginner/basics/data_tutorial.html

2、Pytorch的DataLoader数据读取机制

数据模块中,DataLoader和DataSet就是数据读取子模块中的核心机制。数据读取主要包含以下 3 个方面:

  • 读取哪些数据:每个 Iteration 读取一个 Batchsize 大小的数据,每个 Iteration 应该读取哪些数据。
  • 从哪里读取数据:如何找到硬盘中的数据,应该在哪里设置文件路径参数
  • 如何读取数据:不同的文件需要使用不同的读取方法和库
  • DataLoader的用于构建数据装载器, 根据batch_size的大小, 将数据样本分成若干batch去训练模型,而数据分配的过程需要读取数据,这个过程就是借助Dataset的getitem方法实现的。

  • 也就是说要使用Pytorch读取数据,首先应该新建一个类MyDataset,这个类要继承Dataset类并且实现里面的getitem__方法,该方法用于定义如何接收一个索引idx, 返回一个样本对应的data和label。 此外还需要实现__len,该方法用于计算样本数据,__len__返回总的样本的个数。

一. torch.utils.data.Dataset

  • 是一个抽象类, 自定义的Dataset需要继承它并且实现两个成员方法:
python 复制代码
 def __getitem__(self, index):
        img_path, label = self.data[index].img_path, self.data[index].label
        img = Image.open(img_path)

        return img, label
python 复制代码
def __len__(self):
        return len(self.data)

由于DataLoader是一个可迭代对象,当构建完成后可以简要查看读取的数据,以验证数据格式。

  • 功能 :构建可迭代的数据装载器。训练的过程中,每一次iteration从DataLoader中获取一个batch_size大小的数据

Epoch、Iteration、Batchsize之间的关系:

1:所有的样本数据都输入到模型中,称为一个epoch

2:一个Batch的样本输入到模型中,称为一个Iteration

3:一个批次的大小,一个Epoch=Batchsize*Iteration

3、Pytorch的Dataset数据读取机制


功能:用来定义数据从哪里读取以及如何读取。Dataset抽象类,所有自定义的Dataset需要继承它,并且复写


4、Torch数据读取补充


再推荐阅读这些文章

  • pytorch使用DataLoader对数据集进行批处理简单示例

https://www.cnblogs.com/JeasonIsCoding/p/10168753.html

  • dataloader使用教程

https://www.jianshu.com/p/8ea7fba72673

  • pytorch数据读取

https://zhuanlan.zhihu.com/p/30934236

三、林学长的小项目运行

项目接手时间:24.7.13

1、module 'numpy.typing' has no attribute 'NDArray'

  • 估计是numpy 的版本问题
  • 还有就是numpy和pandas版本不对应


python 复制代码
pip install numpy==1.21 -i https://pypi.tuna.tsinghua.edu.cn/simple

2、关于torch 和cuda 不匹配问题

python 复制代码
pip install torch==2.3.1
python 复制代码
import torch
print(torch.__version__)
print(torch.cuda.is_available())

再者查看cuda是否可以用

可用安装镜像解决下载慢问题

3、ValueError: too many values to unpack

python 复制代码
 for idx, (X, Y) in tqdm(enumerate(dataloader)):

修改为

python 复制代码
 for idx, sample in tqdm(enumerate(dataloader)):
            X, Y = sample['X'].cuda, sample['Y'].cuda()
python 复制代码
pip  install  tqdm==4.62.3

4、彩蛋 计算机期刊指标汇总

https://docs.qq.com/sheet/DR3VCaHFYUXVjTFJN?tab=BB08J2

相关推荐
yzx9910133 小时前
RNN 在时序数据处理中的核心作用
人工智能·rnn·深度学习
一点.点3 小时前
李沐动手深度学习(pycharm中运行笔记)——10.多层感知机+从零实现+简介实现
人工智能·笔记·python·深度学习·pycharm
雾迟sec3 小时前
机器学习中的 K-均值聚类算法及其优缺点
人工智能·深度学习·机器学习·语言模型·语音识别
新加坡内哥谈技术3 小时前
Anthropic公司近日发布了两款新一代大型语言模型Claude Opus 4与Claude Sonnet 4
人工智能·语言模型·自然语言处理
硅谷秋水4 小时前
Real2Render2Real:无需动力学仿真或机器人硬件即可扩展机器人数据
人工智能·机器学习·计算机视觉·机器人
Ai墨芯1114 小时前
小样本机器学习再发力!2025再登Nature正刊
人工智能·机器学习
jndingxin4 小时前
OpenCV CUDA模块图像过滤------创建一个 Sobel 滤波器函数createSobelFilter()
人工智能·opencv·计算机视觉
那雨倾城4 小时前
使用 OpenCV 实现哈哈镜效果
人工智能·python·opencv·计算机视觉
LitchiCheng4 小时前
RISC-V 开发板 MUSE Pi Pro OpenCV结合Gstreamer实时显示CSI摄像头
人工智能·opencv·risc-v
平头某4 小时前
如何在 Django 中集成 MCP Server
人工智能·django·mcp