Итак, у меня есть тренировочный набор и набор тестов в формате h5py. У меня также есть функция data_load, которая загружает файлы и возвращает массивы NumPy. Основная проблема в том, что мне не нужно NumPy, так как я работаю с Tensors. Я ожидаю иметь тензор x & y размера N (размер партии) и D_in (размер ввода для каждого изображения) и D_out (размер вывода каждого тензора).
Проблема:
x & y не конвертируйте в тензор размеров, упомянутых ниже. Если что-то их типы остаются numpy .ndarray. Любая помощь приветствуется.
def load_data(train_file, test_file):
# Load the training data
train_dataset =h5py.File(train_file, 'r')
# Separate features(x) and labels(y) for training set
train_set_x_orig =np.array(train_dataset["train_set_x"][:])
train_set_y_orig =np.array(train_dataset["train_set_y"][:])
# Load the test data
test_dataset =h5py.File(test_file,'r')
# Separate features(x) and labels(y) for training set
test_set_x_orig =np.array(test_dataset["test_set_x"][:])
test_set_y_orig =np.array(test_dataset["test_set_y"][:])
classes = np.array(test_dataset["list_classes"][:]) # the list of classes
train_set_y_orig = torch.from_numpy(train_set_y_orig.reshape((1, train_set_y_orig.shape[0])))
test_set_y_orig = torch.from_numpy(test_set_y_orig.reshape((1, test_set_y_orig.shape[0])))
return train_set_x_orig, train_set_y_orig, test_set_x_orig, test_set_y_orig, classes
x = torch.Tensor(N, D_in)
y = torch.Tensor(N, D_out)
train_file="data/train_catvnoncat.h5"
test_file="data/test_catvnoncat.h5"
x,y,_,_,_=load_data(train_file,test_file)