Pytorch 入门备忘

随手手册,希望对初学者有用,更适用于主技术栈非pytorch偶尔需用的JYM.


想从事AI方向的JYM,是绕不开Python和Pytorch,对于有经验的程序员来说,看如下三文,入门相关的工具基本是OK了。

Python+PyTorch+Anaconda安装配置

PyTorch + Anaconda3 + Pycharm 入门工程

LLM工具:Pycharm、PythonConsole及Jupyter比较与Jupyter安装与入门

入门之后就到了具体学习,看视频(文章底部有链接,并非广告,这个作者我也不认识)。 有了一遍视频学习之后,来一个速度手册, 便于快速恢复。 ------ 这是笔者针对目前编程语言众多,各自占不同山头,程序员得知道多种语言技能的处理办法。---

随时更新

用Dir与Help探索工具箱

  • dir()函数,能让我们知道工具箱以及工具箱中的分隔区有什么东西
  • help()函数,能让我们知道每个工具是如何使用的,工具的使用方法
scss 复制代码
dir(pytorch) 
dir(pythorch.xxx)
help(Dataset)

Dataset

上图序号对标的内容描述

序号 内容
垃圾数据 - (原始数据 ------ 无规则,也可以称之为垃圾)
提供一种方式获取数据及其Label - 如何获取一个数据集Label - 告诉我们总共有多少数据
Dataloader - 为后面的网络提供不同数据集
-

原图有内容,但贴出来有点乱,影响版面效果

Dataset:提供一种方式去获取数据及其方式

用Jupyter查看dataset的帮助

shell 复制代码
#1. 启动
jupyter node

#2. 打开浏览器 
http://localhost:8888/

3. 点击右侧 [new] --> Python3 (ipykernel) 

4. 在浏览器的控制台里输入
Dataset ?? 
# 或 ```help(Dataset) ```

输出:

Dataset实战

copy数据到工程路径下

安装依赖包

bash 复制代码
# pip install opencv-python  
# 或
pip install pillow
pip install Image

编程

python 复制代码
# 路径
import os.path

# 引入Dataset
from torch.utils.data import Dataset

# 图像操作
from PIL import Image


# import cv2
# "hymenoptera_data/train/ants/0013035.jpg"

# 继承:Dataset
class MyData(Dataset):
    # 实始化函数 - 魔术方法
    def __init__(self, root_dir, label_dir):
        """
         根目录:root_dir
         用目录标签:label_dir
        """
        # 创建时给赋值的变量为全局变量 self.xxx
        self.root_dir = root_dir
        self.label_dir = label_dir
        self.path = os.path.join(self.root_dir, self.label_dir)
        self.img_path = os.listdir(self.path)
        pass

    # 都需要继承__getitem__
    # idx: 图片地址的索引
    def __getitem__(self, idx):
        """
        idx: 图片索引侠置 从0开始
        """
        # 得到文件名
        img_name = self.img_path(idx)
        img_item_path = os.path.join(self.root_dir, self.label_dir, img_name)
        img = Image.open(img_item_path)
        label = self.label_dir
        return img, label

    def __len__(self):
        return len(self.img_path)


if __name__ == '__main__':
    root_dir = "hymenoptera_data/train"
    ant_label_dir = "ants"
    bees_label_dir = "bees"
    ants_dataset = MyData(root_dir, ant_label_dir)
    bees_dataset = MyData(root_dir, bees_label_dir)
    train_data = ants_dataset + bees_dataset
    print(len(train_data))

pycharm操作

python 控制台

输入指令,右侧自动显示类的属性、方法或数据

ini 复制代码
from PIL import Image
img_path = "hymenoptera_data/train/ants/0013035.jpg"
img = Image.open(img_path)
img.show("my")
img.show()
dir_path = "hymenoptera_data/train/ants"
import os
img_path_list = os.listdir(dir_path)

OpenCV

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效 ------ 由一系列C函数和少量 C++类构成,提供了Python、Ruby、MATLAB、java、cuda等语言的接口和机器学习的基础算法调用,实现了图像处理和计算机视觉方面的很多通用算法...(CV:Computer Vision,计算机视觉) 。

blog.csdn.net/weixin_4110...

安装的时候是 opencv_python,但在导入的时候采用 import cv2

shell 复制代码
# 方法一:直接安装
pip install opencv-python  

# 方法二 -- 官网下载安装.whl文件   
# https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv   
pip install opencv_python‑3.x.x‑cp36‑cp36m‑win_amd64.whl 

# 方法三 -- conda环境安装:  
conda install opencv-python

PIL

PythonWare公司提供了免费的图像处理工具包 PIL (Python Image Library), 该软件包提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等等...

blog.csdn.net/yohnyang/ar... Python图像处理库

安装

pip install pillow
pip install Image

使用

python 复制代码
from PIL import Image             ##调用库
...

im = Image.open("E:\mywife.jpg")  ##文件存在的路径
im.show()

数据

文件夹名即为标签名

文件夹内的内容

图片文件夹 标签文件夹

按训练所需图片与训练所需标签分类存储

文件夹内的内容

图片文件夹 标签文件夹 标签内文件格式

注意:图片文件夹中的文件名称与标签文件夹的名称有对应关系

文件名即为标签名

原视频地址 感谢作者

相关推荐
love_and_hope8 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
好喜欢吃红柚子15 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
羊小猪~~15 小时前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
写代码的小阿帆19 小时前
pytorch实现深度神经网络DNN与卷积神经网络CNN
pytorch·cnn·dnn
丕羽1 天前
【Pytorch】基本语法
人工智能·pytorch·python
Shy9604182 天前
Pytorch实现transformer语言模型
人工智能·pytorch
周末不下雨2 天前
跟着小土堆学习pytorch(六)——神经网络的基本骨架(nn.model)
pytorch·神经网络·学习
蜡笔小新星2 天前
针对初学者的PyTorch项目推荐
开发语言·人工智能·pytorch·经验分享·python·深度学习·学习
矩阵猫咪2 天前
【深度学习】时间序列预测、分类、异常检测、概率预测项目实战案例
人工智能·pytorch·深度学习·神经网络·机器学习·transformer·时间序列预测
zs1996_2 天前
深度学习注意力机制类型总结&pytorch实现代码
人工智能·pytorch·深度学习