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()

数据

文件夹名即为标签名

文件夹内的内容

图片文件夹 标签文件夹

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

文件夹内的内容

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

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

文件名即为标签名

原视频地址 感谢作者

相关推荐
数据智能老司机5 小时前
PyTorch 深度学习——使用神经网络来拟合数据
pytorch·深度学习
数据智能老司机5 小时前
PyTorch 深度学习——用于图像的扩散模型
pytorch·深度学习
数据智能老司机5 小时前
PyTorch 深度学习——Transformer 是如何工作的
pytorch·深度学习
数据智能老司机1 天前
PyTorch 深度学习——使用张量表示真实世界数据
pytorch·深度学习
数据智能老司机1 天前
PyTorch 深度学习——它始于一个张量
pytorch·深度学习
Narrastory3 天前
明日香 - Pytorch 快速入门保姆级教程(三)
pytorch·深度学习
Narrastory6 天前
明日香 - Pytorch 快速入门保姆级教程(一)
人工智能·pytorch·深度学习
Narrastory6 天前
明日香 - Pytorch 快速入门保姆级教程(二)
人工智能·pytorch·深度学习
盼小辉丶11 天前
PyTorch实战(30)——使用TorchScript和ONNX导出通用PyTorch模型
人工智能·pytorch·深度学习·模型部署
封奚泽优11 天前
使用mmdetection项目进行训练记录
pytorch·python·cuda·mmdetection·mmcv