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的benchmark模块
人工智能·pytorch·python
Francek Chen9 小时前
【现代深度学习技术】循环神经网络03:语言模型和数据集
人工智能·pytorch·rnn·深度学习·神经网络·语言模型
凡人的AI工具箱19 小时前
PyTorch深度学习框架60天进阶学习计划 - 第41天:生成对抗网络进阶(一)
人工智能·pytorch·python·深度学习·学习·生成对抗网络
Steve lu21 小时前
PyTorch逻辑回归总结
人工智能·pytorch·python·深度学习·逻辑回归·原力计划
Steve lu21 小时前
pytorch实现逻辑回归
人工智能·pytorch·python·深度学习·机器学习·自然语言处理·逻辑回归
CH3_CH2_CHO1 天前
DAY06:【pytorch】图像增强
人工智能·pytorch·计算机视觉
意.远1 天前
PyTorch实现权重衰退:从零实现与简洁实现
人工智能·pytorch·python·深度学习·神经网络·机器学习
hanfeng52681 天前
基于PyTorch的DETR(Detection Transformer)目标检测模型
pytorch·目标检测·transformer
coderxiaohan1 天前
16【动手学深度学习】PyTorch 神经网络基础
pytorch·深度学习·神经网络