首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获取我在Pytorch中放入Dataloader的图像的文件名

在PyTorch中,要获取放入Dataloader的图像的文件名,可以通过自定义数据集类来实现。以下是一个示例:

代码语言:txt
复制
import os
from PIL import Image
from torch.utils.data import Dataset, DataLoader

class CustomDataset(Dataset):
    def __init__(self, root_dir):
        self.root_dir = root_dir
        self.file_list = os.listdir(root_dir)

    def __len__(self):
        return len(self.file_list)

    def __getitem__(self, idx):
        img_name = self.file_list[idx]
        img_path = os.path.join(self.root_dir, img_name)
        image = Image.open(img_path)
        # 其他数据预处理操作...

        return image, img_name

# 假设图像文件存放在'./images'目录下
dataset = CustomDataset('./images')
dataloader = DataLoader(dataset, batch_size=32, shuffle=True)

for images, filenames in dataloader:
    # images为图像数据,filenames为对应的文件名
    for filename in filenames:
        print(filename)

在上述代码中,首先定义了一个自定义数据集类CustomDataset,其中root_dir参数为图像文件所在的根目录。在__getitem__方法中,通过索引idx获取对应位置的图像文件名img_name,然后拼接成完整的图像路径img_path。最后,返回图像数据和文件名作为一个样本。

在使用DataLoader加载数据时,可以同时获取图像数据和文件名。在示例中,通过for循环遍历dataloader,每次迭代时,filenames变量即为当前批次图像对应的文件名列表。你可以根据需要进一步处理这些文件名。

请注意,上述示例中并未提及具体的腾讯云产品,因为获取图像文件名与云计算品牌商无直接关联。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 【Pytorch】笔记三:数据读取机制与图像预处理模块

    疫情在家的这段时间,想系统的学习一遍 Pytorch 基础知识,因为我发现虽然直接 Pytorch 实战上手比较快,但是关于一些内部的原理知识其实并不是太懂,这样学习起来感觉很不踏实, 对 Pytorch 的使用依然是模模糊糊, 跟着人家的代码用 Pytorch 玩神经网络还行,也能读懂,但自己亲手做的时候,直接无从下手,啥也想不起来, 我觉得我这种情况就不是对于某个程序练得不熟了,而是对 Pytorch 本身在自己的脑海根本没有形成一个概念框架,不知道它内部运行原理和逻辑,所以自己写的时候没法形成一个代码逻辑,就无从下手。这种情况即使背过人家这个程序,那也只是某个程序而已,不能说会 Pytorch, 并且这种背程序的思想本身就很可怕, 所以我还是习惯学习知识先有框架(至少先知道有啥东西)然后再通过实战(各个东西具体咋用)来填充这个框架。而「这个系列的目的就是在脑海中先建一个 Pytorch 的基本框架出来, 学习知识,知其然,知其所以然才更有意思 ;)」。

    06

    Pytorch的基本介绍及模型训练流程

    PyTorch是一个很著名的支持GPU加速和自动求导的深度学习框架,在最近几年收到学术界的热捧,主要是因为其动态图机制符合思维逻辑,方便调试,适合于需要将想法迅速实现的研究者。PyTorch是Torch7团队开发的。Torch是一个开源科学计算框架,可以追溯到2002年纽约大学的项目。Torch的核心在于在构建深度神经网络及其优化和训练,为图像,语音,视频处理以及大规模机器学习问题提供快速高效的计算方案。为了追求更高的速度,灵活性和可扩展性,Torch采用Lua作为它的开发语言,但lua语言的受众比较局限。为了满足当今业界里Python先行(Python First)的原则,PyTorch应运而生,由Facebook人工智能研究员(FAIR)于2017年在GitHub上开源。顾名思义,PyTorch使用python作为开发语言,近年来和tensorflow, keras, caffe等热门框架一起,成为深度学习开发的主流平台之一。

    04

    深度学习实战:AlexNet实现花图像分类 | 技术创作特训营第一期

    LeNet-5创造了卷积神经网络,但是LeNet-5并没有把CNN发扬光大,是CNN真正开始走进人们视野的是今天要介绍的——AlexNet网络。AlexNet网络源自于《ImageNet Classification with Deep Convolutional Neural Networks》这篇论文。作者是是Hinton率领的谷歌团队(Alex Krizhevsky,Ilya Sutskever,Geoffrey E. Hinton),Hinton在上一篇博客我们也曾介绍过,他是深度学习之父,在人工智能寒冬时期,Hinton一直就默默地坚持深度网络的方向,终于在2006年的《Science》上提出了DNN,为如今深度学习的繁荣奠定了基础。AlexNet利用了两块GPU进行计算,大大提高了运算效率,并且在ILSVRC-2012竞赛中获得了top-5测试的15.3%error rate, 获得第二名的方法error rate 是 26.2%,可以说差距是非常的大了,足以说明这个网络在当时给学术界和工业界带来的冲击之大。

    05
    领券