【深度学习01】快速上手 PyTorch:环境 + IDE+Dataset

文章目录

配置环境可看
【最详细的 Windows 下 PyTorch 入门深度学习环境安装与配置 CPU GPU 版 | 土堆教程】
视频链接
【PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】】p3-p6

Python学习中的两大法宝函数

理解Package结构及法宝函数的作用

一个package就像一个工具箱

今天我们来介绍pytorch这个package

例如这个工具箱有1、2、3,4 四个分隔区

探索这个工具箱的结构我们要用到两个道具:

dir() :提供打开操作,让你看到里面有什么东西
help():说明书

我们现在用这两个道具来探索这个工具箱的结构

按下回车键,就会弹出许多分隔区

用dir操作

用help操作

Pycharm和Jupyter使用及对比




若没有找到解释器

还是没有的话

找到之前安装conda的地方


如何确定是否是pytorch的环境呢?


创建项目

python文件

如何运行这个程序呢?

我们要为这个设置相应的python解释器

添加脚本位置


或者是直接在这个文件处右键点击run就行了

python控制台

jupyter的创建项目及使用

在开始菜单找到Anaconda Prompt

依次输入 按下回车自动打开

常用的快捷键:Shift+回车

可以运行并创建下一块内容

三种方式对比


三者各有优缺点

Pytorch加载数据初认识

Dataset与Dataloader

Dataset类代码实战

蚂蚁蜜蜂训练数据集

这时候可以用我们之前提到的两个工具来看都有什么功能


读取图片

typescript 复制代码
from torch.utils.data import Dataset
from PIL import Image

class MyData(Dataset):

	def __init(self): //初始化

	def __getitem__(self,idx):

把下好的数据集放在这个文件下面并重命名为dataset

小的调试,我们这里选择控制台

找到图片对应的路径

回车之后可以看到右边显示了图片的很多属性


我想遍历整个文件的图片 怎么办?

把这个路径通过os的方法整理成列表

可以看到右边属性,第一个数组对应的就是第一个图片的路径

例如想访问第一张图片的地址

基本操作就是这些,大家可以摸索一下

typescript 复制代码
from torch.utils.data import Dataset
from PIL import  Image
import os

class MyData(Dataset):

    def __init__(self,root_dir,label_dir):
        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)

    def __getitem__(self, idx):
        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)

root_dir = "dataset/train"
ants_label_dir = "ants"
bees_label_dir = "bees"
ants_dataset = MyData(root_dir,ants_label_dir)
bees_dataset = MyData(root_dir,bees_label_dir)

train_dataset = ants_dataset + bees_dataset

注意:这是一种常见的形式,即文件名就是图片对应的label,另外一种形式是文件夹分为img和label,label里面装着对应图片的txt文档,里面有文字label,如ants

相关推荐
好奇龙猫2 小时前
日语学习-日语知识点小记-进阶-JLPT-N1阶段应用练习(5):语法 +考え方18+2022年7月N1
学习
。TAT。3 小时前
Linux - 进程状态
linux·学习
red_redemption3 小时前
自由学习记录(105)
学习
悠哉悠哉愿意3 小时前
【ROS2学习笔记】RViz 三维可视化
笔记·学习·机器人·ros2
盛世隐者3 小时前
python包管理器——uv
开发语言·python·uv
丰锋ff4 小时前
2023 年真题配套词汇单词笔记(考研真相)
学习
2401_841495644 小时前
【计算机视觉】分水岭实现医学诊断
图像处理·人工智能·python·算法·计算机视觉·分水岭算法·医学ct图像分割
Dersun5 小时前
mysql数据库学习之常用函数(五)
数据库·sql·学习·mysql·ai编程
序属秋秋秋5 小时前
《C++进阶之C++11》【智能指针】(下)
c++·笔记·学习·面试·c++11·智能指针·新特性