Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wkentaro/pytorch-for-numpy-users
PyTorch for Numpy users. https://pytorch-for-numpy-users.wkentaro.com
https://github.com/wkentaro/pytorch-for-numpy-users
numpy pytorch
Last synced: 14 days ago
JSON representation
PyTorch for Numpy users. https://pytorch-for-numpy-users.wkentaro.com
- Host: GitHub
- URL: https://github.com/wkentaro/pytorch-for-numpy-users
- Owner: wkentaro
- License: mit
- Created: 2017-05-20T20:18:43.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2023-02-05T15:40:12.000Z (almost 2 years ago)
- Last Synced: 2024-10-16T19:31:30.628Z (27 days ago)
- Topics: numpy, pytorch
- Language: HTML
- Homepage:
- Size: 62.5 KB
- Stars: 686
- Watchers: 17
- Forks: 87
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# PyTorch for Numpy users.
![ci](https://github.com/wkentaro/pytorch-for-numpy-users/workflows/ci/badge.svg)
![gh-pages](https://img.shields.io/github/deployments/wkentaro/pytorch-for-numpy-users/github-pages?label=gh-pages)[PyTorch](https://github.com/pytorch/pytorch.git) version of [_Torch for Numpy users_](https://github.com/torch/torch7/wiki/Torch-for-Numpy-users).
We assume you use the latest PyTorch and Numpy.## How to contribute?
```bash
git clone https://github.com/wkentaro/pytorch-for-numpy-users.git
cd pytorch-for-numpy-users
vim conversions.yaml
git commit -m "Update conversions.yaml"./run_tests.py
```Types
Numpy PyTorch
np.ndarray
torch.Tensor
np.float32
torch.float32; torch.float
np.float64
torch.float64; torch.double
np.float16
torch.float16; torch.half
np.int8
torch.int8
np.uint8
torch.uint8
np.int16
torch.int16; torch.short
np.int32
torch.int32; torch.int
np.int64
torch.int64; torch.longOnes and zeros
Numpy PyTorch
np.empty((2, 3))
torch.empty(2, 3)
np.empty_like(x)
torch.empty_like(x)
np.eye
torch.eye
np.identity
torch.eye
np.ones
torch.ones
np.ones_like
torch.ones_like
np.zeros
torch.zeros
np.zeros_like
torch.zeros_likeFrom existing data
Numpy PyTorch
np.array([[1, 2], [3, 4]])
torch.tensor([[1, 2], [3, 4]])
np.array([3.2, 4.3], dtype=np.float16)
np.float16([3.2, 4.3])
torch.tensor([3.2, 4.3], dtype=torch.float16)
x.copy()
x.clone()
x.astype(np.float32)
x.type(torch.float32); x.float()
np.fromfile(file)
torch.tensor(torch.Storage(file))
np.frombuffer
np.fromfunction
np.fromiter
np.fromstring
np.load
torch.load
np.loadtxt
np.concatenate
torch.catNumerical ranges
Numpy PyTorch
np.arange(10)
torch.arange(10)
np.arange(2, 3, 0.1)
torch.arange(2, 3, 0.1)
np.linspace
torch.linspace
np.logspace
torch.logspaceLinear algebra
Numpy PyTorch
np.dot
torch.dot # 1D arrays only
torch.mm # 2D arrays only
torch.mv # matrix-vector (2D x 1D)
np.matmul
torch.matmul
np.tensordot
torch.tensordot
np.einsum
torch.einsumBuilding matrices
Numpy PyTorch
np.diag
torch.diag
np.tril
torch.tril
np.triu
torch.triuAttributes
Numpy PyTorch
x.shape
x.shape; x.size()
x.strides
x.stride()
x.ndim
x.dim()
x.data
x.data
x.size
x.nelement()
x.dtype
x.dtypeIndexing
Numpy PyTorch
x[0]
x[0]
x[:, 0]
x[:, 0]
x[indices]
x[indices]
np.take(x, indices)
torch.take(x, torch.LongTensor(indices))
x[x != 0]
x[x != 0]Shape manipulation
Numpy PyTorch
x.reshape
x.reshape; x.view
x.resize()
x.resize_
x.resize_as_
x = np.arange(6).reshape(3, 2, 1)
x.transpose(2, 0, 1) # 012 -> 201
x = torch.arange(6).reshape(3, 2, 1)
x.permute(2, 0, 1); x.transpose(1, 2).transpose(0, 1) # 012 -> 021 -> 201
x.flatten
x.view(-1)
x.squeeze()
x.squeeze()
x[:, None]; np.expand_dims(x, 1)
x[:, None]; x.unsqueeze(1)Item selection and manipulation
Numpy PyTorch
np.put
x.put
x.put_
x = np.array([1, 2, 3])
x.repeat(2) # [1, 1, 2, 2, 3, 3]
x = torch.tensor([1, 2, 3])
x.repeat_interleave(2) # [1, 1, 2, 2, 3, 3]
x.repeat(2) # [1, 2, 3, 1, 2, 3]
x.repeat(2).reshape(2, -1).transpose(1, 0).reshape(-1)
# [1, 1, 2, 2, 3, 3]
np.tile(x, (3, 2))
x.repeat(3, 2)
x = np.array([[0, 1], [2, 3], [4, 5]])
idxs = np.array([0, 2])
np.choose(idxs, x) # [0, 5]
x = torch.tensor([[0, 1], [2, 3], [4, 5]])
idxs = torch.tensor([0, 2])
x[idxs, torch.arange(x.shape[1])] # [0, 5]
torch.gather(x, 0, idxs[None, :])[0] # [0, 5]
np.sort
sorted, indices = torch.sort(x, [dim])
np.argsort
sorted, indices = torch.sort(x, [dim])
np.nonzero
torch.nonzero
np.where
torch.where
x[::-1]
torch.flip(x, [0])
np.unique(x)
torch.unique(x)Calculation
Numpy PyTorch
x.min
x.min
x.argmin
x.argmin
x.max
x.max
x.argmax
x.argmax
x.clip
x.clamp
x.round
x.round
np.floor(x)
torch.floor(x); x.floor()
np.ceil(x)
torch.ceil(x); x.ceil()
x.trace
x.trace
x.sum
x.sum
x.sum(axis=0)
x.sum(0)
x.cumsum
x.cumsum
x.mean
x.mean
x.std
x.std
x.prod
x.prod
x.cumprod
x.cumprod
x.all
x.all
x.any
x.anyArithmetic and comparison operations
Numpy PyTorch
np.less
x.lt
np.less_equal
x.le
np.greater
x.gt
np.greater_equal
x.ge
np.equal
x.eq
np.not_equal
x.neRandom numbers
Numpy PyTorch
np.random.seed
torch.manual_seed
np.random.permutation(5)
torch.randperm(5)Numerical operations
Numpy PyTorch
np.sign
torch.sign
np.sqrt
torch.sqrt