首页 > 其他分享 >b站小土堆|Dataset类代码实战

b站小土堆|Dataset类代码实战

时间:2024-09-09 20:50:13浏览次数:10  
标签:实战 img self torch Dataset import 土堆 label dir

完整代码如下:

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

注意:这里使用的的是相对路径,所以需要保证文件夹和改代码文件在同一个文件夹里面,且必须在同一层文件夹下面。不能说一个在第二层目录,一个在第三层目录,这样会报错,但是好像依然会输出结果emm

关于有些报错问题,应该是最开始导入torch包就出问题了,下面是我的报错:

from torch.utils.data import Dataset
Traceback (most recent call last):
  File "D:\anaconda3\envs\pytorch\Lib\site-packages\IPython\core\interactiveshell.py", line 3577, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-4-e380a5678ee1>", line 1, in <module>
    from torch.utils.data import Dataset
  File "D:\JetBrains\PyCharm Community Edition 2024.2\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\anaconda3\envs\pytorch\Lib\site-packages\torch\__init__.py", line 133, in <module>
    raise err
OSError: [WinError 126] 找不到指定的模块。 Error loading "D:\anaconda3\envs\pytorch\Lib\site-packages\torch\lib\torch_python.dll" or one of its dependencies.

试了很多方法,比如检查是否安装了Microsoft Visual C++ Redistributable运行库、使用工具如Dependency Walker来检查DLL的依赖关系以及一些其他问题,但是都没有得到解决。

最后博主直接从torch开始导

import torch

我靠 这也能报错凸(艹皿艹 )

那就说明我根本就是最开始的torch又出问题了 

所以直接开始重装pytorch了

步骤如下:

第一步:打开pycharm命令行

 第二步:输入pip install torch torchvision torchaudio

ps:其实我安装了anaconda,也换了清华源,我最开始pytorch就是用这玩意下载的,但是不知道为毛,每次用conda的命令下载就很慢,还是用pip直接秒下好emm

第三步:看到关键词 Successfully 就完事了

第四步:检查下是否正确安装了

根据命令行输出,pytorch已经成功安装,并且版本是 2.4.1,后缀 +cpu 表示这是一个仅支持 CPU 的版本。 

这时再回去输入import torch 应该不会报错了

如果还错,可以看看我前面写的文章:anaconda安装pytorch后,在pycharm中使用torch包出问题_anaconda自带的python在import torch报错-CSDN博客

 

标签:实战,img,self,torch,Dataset,import,土堆,label,dir
From: https://blog.csdn.net/Sea_Yanwu/article/details/142068541

相关文章

  • 计算机毕业设计选题推荐-土地承包管理系统-Java/Python项目实战(亮点:数据可视化分析、
    ✨作者主页:IT研究室✨个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。☑文末获取源码☑精彩专栏推荐⬇⬇⬇Java项目Python项目安卓项目微信小程序项目......
  • 计算机毕业设计选题推荐-流浪动物领养管理系统-Java/Python项目实战(亮点:数据可视化分
    ✨作者主页:IT研究室✨个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。☑文末获取源码☑精彩专栏推荐⬇⬇⬇Java项目Python项目安卓项目微信小程序项目......
  • 阿里巴巴中国站商品搜索API返回值解析与实战
    阿里巴巴中国站(现通常指1688.com)是一个大型的B2B电商平台,为企业和商家提供商品交易、供应链服务等。然而,需要注意的是,阿里巴巴官方并不直接提供公开的API接口给所有开发者进行商品搜索等高级功能,这些服务通常需要通过官方合作伙伴计划或特定服务接口来获取。不过,为了回答你的问题,我......
  • 解密企业变革成功密码:基于能力规划的案例解析与深度实战指南
    在当今充满挑战的全球化和数字化时代,企业要想在竞争中胜出,不仅需要制定前瞻性的战略,还必须具备将这些战略转化为现实的能力。传统的战略执行方式往往难以应对市场的动态变化和内部复杂性,而基于能力规划(Capability-BasedPlanning,CBP)的方法则为企业提供了从理论到实践的系统化......
  • Linux系统与高效进程控制的实战技巧
    Linux系统与高效进程控制的实战技巧Linux,作为一种开源的Unix-like操作系统内核,自1991年由芬兰程序员LinusTorvalds首次发布以来,已成为全球范围内广泛使用的操作系统之一。其强大的功能、灵活的配置以及高度的可定制性,使得Linux在服务器、嵌入式系统、超级计算机等多个领域......
  • MySQL零基础入门教程-8.1 表的连接\增删数据、表结构的增删改、字段约束(非空、唯一
    教程来源:B站视频BV1Vy4y1z7EX001-数据库概述_哔哩哔哩_bilibili我听课收集整理的课程的完整笔记,供大家学习交流下载:夸克网盘分享本文内容为完整笔记的第三篇目录1、表怎么进行连接的2、insert语句可以一次插入多条记录吗?可以的!3、快速创建表?【了解内容】4、将查询结果......
  • 敲重点!!!项目实战须知
    项目使用的功能的具体场景举例说明项目中使用线程池的具体场景签到送积分针对掉单表中的数据进行相关的轮询判断拉新分发优惠券mes系统批量导入物料信息时(比如10000条需要导入,每500条分批导入,分批导入时使用线程池)针对头一天文章的点赞数,分批批量更新时,线程池举例说......
  • 数据分析实战第一节随笔
    引言Python,作为一种高级编程语言,以其简洁明了的语法和强大的功能库,赢得了全球开发者的广泛青睐。它不仅适用于数据科学、机器学习、人工智能等领域,而且在Web开发、自动化脚本编写、科学计算等方面也发挥着重要作用。本文将带领读者从Python的基础语法开始,逐步深入到实际应用,探索P......
  • Java并发编程实战 07 | 如何正确停止线程
    什么时候需要停止一个线程?一个线程被创建并启动之后,大部分情况下都会自然运行至结束,但是也有一些情况需要主动停止线程,比如:用户主动取消执行:用户可能会中止一个正在进行的操作,这时需要停止相关线程。运行时错误或超时:线程可能因为运行时错误或超时而需要被停止,以避免长时......
  • Java并发编程实战 08 | 彻底理解Shutdown Hook
    钩子线程(HookThread)简介在一个Java应用程序即将退出时(比如通过正常执行完成或通过用户关闭应用程序),通常需要进行一些清理操作,例如:释放资源(如文件句柄、网络连接)。关闭数据库连接。保存未完成的数据或状态。我们可以通过钩子线程实现这一点,钩子线程是指在程序结束时,JVM......