2016-04-29 10 views
3

Ich habe eine Matrix in Python, ein numpy Array mit data.shape ist (249, 230) konstruiert. Hier scheint alles in Ordnung zu sein.Schreiben von Matrix in Python, Lesen in Torch, was schief geht

Ich schreibe es auf eine hdf5 Datei mit einigen einfachen Code:

f = h5py.File("instructions.hdf5", "w") 
f.create_dataset('/instructions', data=data) 
f.close() 

Jetzt möchte ich diese Daten als als Input für meine neuronale Netz in Torch. (249 Eingangsabtastwerte der Länge 230). Deshalb versuche ich mit

local datafile = hdf5.open('instructions.hdf5', 'r') 
local input = datafile:read('/instructions'):all() 

jedoch diese hdf5 Datei in Fackel zu lesen, wenn ich Druck machen (#input) ich ein unerwartetes Ergebnis erhalten, auch mit ganz anderen Zahlen:

1 
32 
32 
[torch.LongStorage of size 3] 

Hat jemand eine Idee, was schief geht?

Antwort

0

Ich denke, Sie könnten versuchen, lutorpy zu verwenden, um die numpy Matrix in Fackel Tensor umzuwandeln. Lotorpy hat eine Lua-Engine in Python und in der Lage, numpy Speicher mit Taschenlampe zu teilen, hier ist ein Beispiel:

import numpy 
import Image 

## boot strap lutorpy 
import lutorpy as lua 
require('torch') 

getImage = numpy.asarray(Image.open("image.jpg")) 
a = torch.fromNumpyArray(getImage) 

# now you can use your image as torch Tensor 
# for example: use SpatialConvolution from nn to process the image 
require("nn") 
n = nn.SpatialConvolution(1,16,12,12) 
res = n.forward(n, a) 
print(res._size()) 

# convert back to numpy array 
output = res.asNumpyArray() 
Verwandte Themen