如何准备在火炬中使用的图像数据

时间:2017-11-06 13:33:20

标签: torch

我想准备自己的图像数据进行火炬训练。

我试图找到一个好的来源,但找不到。 他们参考了已经用.lua或.t7格式编写的数据。

您能否解释为火炬准备原始图像数据的过程? (培训,验证和测试集)

由于

2 个答案:

答案 0 :(得分:1)

您可以尝试编写自己的数据加载器类。将图像路径存储在表格中,使用

读取图像
require 'image'
YOUR_RGB_FILE_PATH = "/home/username/image.png"
img = image.load(YOUR_RGB_FILE_PATH, 3)

将您的lua代码写在iTorch notebook中,它可以帮助您快速调试。

如果您不知道如何开始,可以参考project here用lua torch写的。

答案 1 :(得分:0)

require 'io'
require 'torch'
require 'image'

------------------------------ Parameters ---------------------------------
file_name = '.../train.txt'
save_name = '.../train.t7'

num_images = 10000*3
num_channels = 3
width = 51
height = 51
---------------------------------------------------------------------------

file = io.open(file_name, 'rb')
data = torch.Tensor(num_images, num_channels, width, height):byte()
label = torch.Tensor(num_images):byte()
counter = 1

for line in file:lines() do
    print(counter)
    image_name, image_label = line:split(' ')[1], line:split(' ')[2]
    data[counter] = image.load(image_name, num_channels, 'byte')
    label[counter] = image_label
    counter = counter + 1
end

torch.save(save_name, {data = data, label = label})