from __future__ import print_function import torch import numpy as np # pyTorch tensoor x = torch.Tensor(5, 3) print('matrix x:\n', x) print('matrix x size:\n', x.size()) y = torch.rand(5, 3) print('matrix x + y:\n', x + y) print('matrix x + y again:\n', torch.add(x, y)) result = torch.Tensor(5, 3) torch.add(x, y, out=result) print('matrix x + y result:\n', result) y.add_(x) print('matrix x add to y:\n', y) print('col 2 of matrix x:\n', x[:, 1]) # convert to numpy a = torch.ones(5) print('torch array full with number 1:\n', a) b = a.numpy() print('numpy array:\n', b) a.add_(1) print('torch array after change:\n', a) print('numpy array after change:\n', b) na = np.ones(5) nb = torch.from_numpy(na) np.add(na, 1, out=na) print('another numpy array after change:\n', na) print('another torch array after change:\n', nb) # CUDA if torch.cuda.is_available(): x = x.cuda() y = y.cuda() print('result from GPU:\n', x + y)