【深度学习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

相关推荐
永远不会的CC几秒前
浙江华昱欣实习(4月23日~ 4月19日)
后端·学习
二哈赛车手几秒前
新人笔记---实现简易版的rag的bm25检索(利用ES),以及RAG上传时的ES与向量数据库双写
java·数据库·笔记·spring·elasticsearch·ai
爱上好庆祝8 分钟前
学习js的第五天
前端·css·学习·html·css3·js
WL_Aurora10 分钟前
Python 算法基础篇之链表
python·算法·链表
曲幽16 分钟前
FastAPI 少有人提的实用技巧:把 Depends 依赖提到路由层,代码少写60%
python·fastapi·web·routes·depends·prefix·apiroute
qiaozhangchi19 分钟前
求解器学习笔记
笔记·python·学习
不会编程的懒洋洋36 分钟前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke
kexnjdcncnxjs1 小时前
Redis如何记录每一次写操作_开启AOF持久化机制实现命令级追加记录
jvm·数据库·python
程序媛徐师姐1 小时前
Python基于Django的小区果蔬预定系统【附源码、文档说明】
python·django·小区果蔬预定系统·果蔬预定·python小区果蔬预定系统·小区果蔬预定·python果蔬预定系统