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

相关推荐
一只大鸽子7 小时前
游戏开发笔记0-Godot启动
笔记·游戏引擎·godot
旖旎夜光7 小时前
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
像风一样自由20207 小时前
2.如何用FastAPI把一个Python算法封装成HTTP服务
python·算法·fastapi
青少儿编程课堂7 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:字典树前缀树与单词检索统计
c++·python·算法·bfs·信息学竞赛
田里的水稻7 小时前
FA_CNN卷积神经网络十八---感知机到多层感知机PyTorch
人工智能·pytorch·python
Nuanyt7 小时前
LeetCode Hot 100 链表专题2 3 题 (Java)
java·笔记·算法·leetcode·链表
asaotomo7 小时前
截图识题、AI 讲解、笔记沉淀:Chrome 扩展体验
前端·chrome·笔记
熊猫钓鱼>_>8 小时前
鸿蒙PC高分屏与键鼠交互适配:DPI缩放、右键菜单一次讲清
开发语言·笔记·华为·ai编程·harmonyos·鸿蒙·鸿蒙心迹
終不似少年遊*8 小时前
【Skill】为中型研发团队制作的敏捷迭代AI副驾Skill
人工智能·python·华为云·agent·ai编程·skill
呆萌的代Ma8 小时前
python使用ThreadPoolExecutor自带队列将多线程变串行执行
python