torch进行图像分类训练时出现的错误提示

数据读取与预处理:

data_dir = './flower_data/'
train_dir = data_dir + '/train'
valid_dir = data_dir + '/valid'

ImageFolder假设所有的文件按文件夹保存好,每个文件夹下面存贮同一类别的图片,文件夹的名字为分类的名字:

batch_size = 128

image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x), data_transforms[x]) for x in ['train', 'valid']}
dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=batch_size, shuffle=True) for x in ['train', 'valid']}
dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'valid']}
class_names = image_datasets['train'].classes

 出现以上错误,大概意思是没有找到下载到的数据集的路径

这是给到的数据集和模型的文件夹,出现以上错误是因为仅把里面的“图像识别实战常用模块解读”拖入到了notebook里运行,同一文件夹下的data数据没有拖入,所以无法“data_dir = './flower_data/'”通过该形式找到数据。

解决方法:需要将包含上图所有文件的文件夹导入notebook,然而无法直接拖动到notebook里。 

先将上述打包的文件夹压缩,然后拖入。如下图,该文件命名为pr(仅举例,可以随便命名)

接着在notebook新建一个代码文件,运行下面的命令,解压↑的pr.zip文件

import zipfile
import os
files = zipfile.ZipFile('E:/deeplearning/3Pytorch/pr.zip','r') #填入pr文件的地址
files.extractall(os.getcwd())

接着在notebook界面就出现了untitled folder 1文件夹,就是解压了的

 里面包含了代码还有data,进入这个文件夹里的ipynb文件,再运行,就可以顺利读到data文件啦。

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐