使用 torch7 从本地磁盘读取图像,而这些图像保存在不同的子文件夹中?

Read images from local disk using torch7 while those images saved in different subfolders?

我有图片保存在桌面上。保存的数据如下:4个主文件夹(1,2,3,4)每个文件夹有26个子文件夹(这些子文件夹代表class张图片(A,B,C,D,..,Z)) .这些子文件夹中的每一个都包含 500 多张图像。但是,我正在 torch 中寻找可以读取这些图像的文件或代码。在 MATLAB 中我可以编写代码,但在这里我发现它很混乱。能不能请教一下。

你可以做的是在安装 Torch 时使用 Penlight (the library is installed

Penlight 提供 pl.dir 可以轻松扫描(子)文件夹中的文件。例如你可以做的是:

local pl = require('pl.import_into')()
local t = {}
for i,f in ipairs(pl.dir.getallfiles('/data/foo', '*.jpg')) do
    t[i] = { f, pl.path.basename(pl.path.dirname(f)) }
end

这将创建一个对列表(文件名,class 标签 = "A" 或 "B" ...)。当然,您可以自由更改文件模式 (*.jpg) 或省略它(在这种情况下,Penlight 将简单地列出所有文件)。您还可以动态加载图像:

t[i] = { image.load(f), pl.path.basename(pl.path.dirname(f)) }

或者在操作 t 之后立即执行此操作。