目次
概要
numpy ユーザー向けに numpy の関数と Pytorch の関数の対応表をまとめました。
四則演算
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
加算 | numpy.add | torch.add | Tensor.add | Tensor.add_ |
減算 | numpy.subtract | Tensor.sub | Tensor.sub_ | |
乗算 | numpy.multiply | torch.mul | Tensor.mul | Tensor.mul_ |
除算 | numpy.divide | torch.div | Tensor.div | Tensor.div_ |
切り捨て除算 | numpy.floor_divide | torch.floor_divide | Tensor.floor_divide | Tensor.floordivide |
除算 | numpy.true_divide | torch.true_divide | Tensor.true_divide | Tensor.truedivide |
比較
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
すべての値が同じかどうか | numpy.array_equal | torch.equal | Tensor.equal | |
すべての値がほぼ同じかどうか | numpy.allclose | torch.allclose | Tensor.allclose | |
x1 == x2 | numpy.equal | torch.eq | Tensor.eq | Tensor.eq_ |
x1 != x2 | numpy.not_equal | torch.ne | Tensor.ne_ | Tensor.ne_ |
x1 > x2 | numpy.greater | torch.gt | Tensor.gt | Tensor.gt_ |
x1 >= x2 | numpy.greater_equal | torch.ge | Tensor.ge | Tensor.ge_ |
x1 < x2 | numpy.less | torch.lt | Tensor.lt | Tensor.lt_ |
x1 <= x2 | numpy.less_equal | torch.le | Tensor.le | Tensor.le_ |
剰余、累乗、絶対値
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
剰余 | numpy.fmod | torch.fmod | Tensor.fmod | Tensor.fmod_ |
剰余 | numpy.remainder | torch.remainder | Tensor.remainder | Tensor.remainder_ |
自乗 | numpy.square | torch.square | Tensor.square | Tensor.square_ |
累乗 | numpy.power | torch.pow | Tensor.pow | Tensor.pow_ |
逆数 | numpy.reciprocal | torch.reciprocal | Tensor.reciprocal | Tensor.reciprocal_ |
絶対値 | numpy.absolute | torch.abs | Tensor.abs | Tensor.abs_ |
平方根 | numpy.sqrt | torch.sqrt | Tensor.sqrt | Tensor.sqrt_ |
ブール演算
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
all | numpy.all | Tensor.all | ||
any | numpy.any | Tensor.any | ||
要素ごとの and | numpy.logical_and | torch.logical_and | Tensor.logical_and | Tensor.logicaland |
要素ごとの not | numpy.logical_not | torch.logical_not | Tensor.logical_not | Tensor.logicalnot |
要素ごとの or | numpy.logical_or | torch.logical_or | Tensor.logical_or | Tensor.logicalor |
要素ごとの xor | numpy.logical_xor | torch.logical_xor | Tensor.logical_xor | Tensor.logicalxor |
ビット演算
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
ビット演算 | numpy.invert | torch.bitwise_not | Tensor.bitwise_not | Tensor.bitwisenot |
ビット演算 | numpy.bitwise_and | torch.bitwise_and | Tensor.bitwise_and | Tensor.bitwiseand |
ビット演算 | numpy.bitwise_or | torch.bitwise_or | Tensor.bitwise_or | Tensor.bitwiseor |
ビット演算 | numpy.bitwise_xor | torch.bitwise_xor | Tensor.bitwise_xor | Tensor.bitwisexor |
最大、最小
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
最大 | numpy.amax | torch.max | Tensor.max | |
最小 | numpy.amin | torch.min | Tensor.min | |
最大のインデックス | numpy.argmax | torch.argmax | Tensor.argmax | |
最小のインデックス | numpy.argmin | torch.argmin | Tensor.argmin | |
要素ごとの最小 | numpy.minimum | torch.max | Tensor.max | |
要素ごとの最大 | numpy.maximum | torch.min | Tensor.min |
総和、総乗、累積和、累積積
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
総和 | numpy.sum | torch.sum | Tensor.sum | |
総乗 | numpy.prod | torch.prod | Tensor.prod | |
累積和 | numpy.cumsum | torch.cumsum | Tensor.cumsum | |
累積積 | numpy.cumprod | torch.cumprod | Tensor.cumprod | |
einsum | numpy.einsum | torch.einsum | ||
trace | numpy.trace | torch.trace | Tensor.trace |
arange、linspace、logspace、meshgrid
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
arange | numpy.arange | torch.arange | ||
linspace | numpy.linspace | torch.linspace | ||
logspace | numpy.logspace | torch.logspace | ||
meshgrid | numpy.meshgrid | torch.meshgrid |
三角関数
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
sin | numpy.sin | torch.sin | Tensor.sin | Tensor.sin_ |
cos | numpy.cos | torch.cos | Tensor.cos | Tensor.cos_ |
tan | numpy.tan | torch.tan | Tensor.tan | Tensor.tan_ |
arcsin | numpy.arcsin | torch.asin | Tensor.asin | Tensor.asin_ |
arccos | numpy.arccos | torch.acos | Tensor.acos | Tensor.acos_ |
arctan | numpy.arctan | torch.atan | Tensor.atan | Tensor.atan_ |
arctan | numpy.arctan2 | torch.atan2 | Tensor.atan2 | Tensor.atan2_ |
sinh | numpy.sinh | torch.sinh | Tensor.sinh | Tensor.sinh_ |
cosh | numpy.cosh | torch.cosh | Tensor.cosh | Tensor.cosh_ |
tanh | numpy.tanh | torch.tanh | Tensor.tanh | Tensor.tanh_ |
arcsinh | numpy.arcsinh | torch.asinh | ||
arccosh | numpy.arccosh | torch.acosh | ||
arctanh | numpy.arctanh | torch.atanh |
指数関数、対数関数
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
exp | numpy.exp | torch.exp | Tensor.exp | Tensor.exp_ |
exp(x) – 1 | numpy.expm1 | torch.expm1 | Tensor.expm1 | Tensor.expm1_ |
log | numpy.log | torch.log | Tensor.log | Tensor.log_ |
log(1 + x) | numpy.log1p | torch.log1p | Tensor.log1p | Tensor.log1p_ |
log2 | numpy.log2 | torch.log2 | Tensor.log2 | Tensor.log2_ |
log10 | numpy.log10 | torch.log10 | Tensor.log10 | Tensor.log10_ |
その他の関数
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
床関数 | numpy.floor | torch.floor | Tensor.floor | Tensor.floor_ |
天井関数 | numpy.ceil | torch.ceil | Tensor.ceil | Tensor.ceil_ |
クリップ | numpy.clip | torch.clamp | Tensor.clamp | Tensor.clamp_ |
符号関数 | numpy.sign | torch.sign | Tensor.sign | Tensor.sign_ |
度 → ラジアン | numpy.deg2rad | torch.deg2rad | ||
度 → ラジアン | numpy.degrees | torch.deg2rad | ||
ラジアン → 度 | numpy.rad2deg | torch.rad2deg | ||
ラジアン → 度 | numpy.radians | torch.rad2deg | ||
台形積分 | numpy.trapz | torch.trapz |
empty、zeros、ones、full、単位行列
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
empty | numpy.empty | torch.empty | Tensor.new_empty | |
empty | numpy.empty_like | torch.empty_like | ||
zeros | numpy.zeros | torch.zeros | Tensor.new_zeros | Tensor.zero_ |
zeros | numpy.zeros_like | torch.zeros_like | ||
ones | numpy.ones | torch.ones | Tensor.new_ones | |
ones | numpy.ones_like | torch.ones_like | ||
full | numpy.full | torch.full | Tensor.new_full | Tensor.fill_ |
full | numpy.full_like | torch.full_like | ||
単位行列 | numpy.eye | torch.eye | ||
単位行列 | numpy.identity | torch.eye |
ドット積、クロス積、行列積、テンソル積
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
ドット積 | numpy.dot | torch.dot | Tensor.dot | |
クロス積 | numpy.cross | torch.cross | Tensor.cross | |
行列積 | numpy.matmul | torch.matmul | Tensor.matmul | |
テンソル積 | numpy.tensordot | torch.tensordot |
反転、90度回転、シフト、リサイズ
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
反転 | numpy.flip | torch.flip | Tensor.flip | |
90度回転 | numpy.rot90 | torch.rot90 | Tensor.rot90 | |
シフト | numpy.roll | torch.roll | Tensor.roll | |
リサイズ | numpy.resize | Tensor.resize_ |
線形代数
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
行列式 | numpy.linalg.det | torch.det | Tensor.det | |
逆行列 | numpy.linalg.inv | torch.inverse | Tensor.inverse | |
QR 分解 | numpy.linalg.qr | torch.qr | Tensor.qr | |
Ax = b を解く | numpy.linalg.solve | torch.solve | Tensor.solve | |
特異値分解 | numpy.linalg.svd | torch.svd | Tensor.svd | |
固有値 | numpy.linalg.eig | torch.eig | Tensor.eig | |
最小二乗法 | numpy.linalg.lstsq | torch.lstsq | Tensor.lstsq | |
ノルム | numpy.linalg.norm | torch.norm | Tensor.norm |
複製、ブロードキャスト
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
繰り返す | numpy.repeat | torch.repeat_interleave | Tensor.repeat_interleave | |
繰り返す | numpy.tile | Tensor.repeat | ||
ブロードキャスト | numpy.broadcast | torch.broadcast_tensors | ||
ブロードキャスト | numpy.broadcast_arrays | torch.broadcast_tensors | ||
ブロードキャスト | Tensor.expand | |||
ブロードキャスト | Tensor.expand_as |
丸め
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
最近接丸め | numpy.around | torch.round | Tensor.round | Tensor.round_ |
0に近いほうに丸め | numpy.trunc | torch.trunc | Tensor.trunc | Tensor.trunc_ |
ソート
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
ソート | numpy.sort | torch.sort | Tensor.sort | |
ソート | numpy.argsort | torch.argsort | Tensor.argsort |
統計量
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
中央値 | numpy.median | torch.median | Tensor.median | |
平均 | numpy.mean | torch.mean | Tensor.mean | |
分散 | numpy.var | torch.var | Tensor.var | |
標準偏差 | numpy.std | torch.std | Tensor.std | |
標準偏差と平均 | torch.std_mean | |||
分散と平均 | torch.var_mean |
型の変換
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
最小の型を取得 | numpy.promote_types | torch.promote_types | ||
共通の型を取得 | numpy.result_type | torch.result_type | ||
キャスト可能かどうか | numpy.can_cast | torch.can_cast | ||
キャスト | numpy.ndarray.astype | Tensor.type | ||
キャスト | numpy.ndarray.astype | Tensor.type_as | ||
スカラーに変換 | numpy.asscalar | Tensor.item | ||
リストに変換 | numpy.ndarray.tolist | Tensor.tolist | ||
連続した配列に変換 | numpy.ascontiguousarray | Tensor.contiguous |
形状の操作
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
形状変更 | numpy.ravel | torch.flatten | Tensor.flatten | |
形状変更 | numpy.atleast_1d | torch.atleast_1d | ||
形状変更 | numpy.atleast_2d | torch.atleast_2d | ||
形状変更 | numpy.atleast_3d | torch.atleast_3d | ||
形状変更 | numpy.expand_dims | torch.unsqueeze | Tensor.unsqueeze | Tensor.unsqueeze_ |
形状変更 | numpy.squeeze | torch.squeeze | Tensor.squeeze | Tensor.squeeze_ |
形状変更 | numpy.reshape | torch.reshape | Tensor.reshape | |
形状変更 | Tensor.view | |||
形状変更 | numpy.lib.stride_tricks.as_strided | torch.as_strided | Tensor.as_strided |
軸の操作
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
軸変更 | numpy.transpose | Tensor.permute | ||
軸変更 | ndarray.T | torch.t | Tensor.t | Tensor.t_ |
軸変更 | numpy.rollaxis | |||
軸変更 | numpy.swapaxes | torch.transpose | Tensor.transpose | Tensor.transpose_ |
結合、分割
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
既存の軸で結合 | numpy.concatenate | torch.cat | ||
新しい軸を追加して結合 | numpy.stack | torch.stack | ||
分割 | numpy.split | torch.split | Tensor.split | |
分割 | Tensor.unfold |
複素数
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
実部 | numpy.real | torch.real | ||
虚部 | numpy.imag | torch.imag | ||
共役複素数 | numpy.conj | torch.conj | Tensor.conj | |
複素数かどうか | numpy.iscomplex | torch.is_complex | Tensor.is_complex | |
偏角 | numpy.angle | torch.angle | Tensor.angle |
浮動小数点数
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
浮動小数点数 | numpy.isfinite | torch.isfinite | ||
浮動小数点数 | numpy.isinf | torch.isinf | ||
浮動小数点数 | numpy.isnan | torch.isnan |
重複処理
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
各要素の出現数 | numpy.bincount | torch.bincount | Tensor.bincount | |
重複削除 | numpy.unique | torch.unique | Tensor.unique |
インデックス
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
3項間演算子 | numpy.where | torch.where | Tensor.where | |
非0の要素のインデックス | numpy.nonzero | torch.nonzero | Tensor.nonzero | |
下三角成分のインデックス | numpy.tril_indices | torch.tril_indices | ||
上三角成分のインデックス | numpy.triu_indices | torch.triu_indices | ||
インデックス | numpy.indices | Tensor.indices |
対角成分、上三角成分、下三角成分
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
対角成分 | numpy.diagflat | torch.diagflat | Tensor.diagflat | |
対角成分 | numpy.fill_diagonal | Tensor.filldiagonal | ||
対角成分 | numpy.diag | torch.diag | Tensor.diag | |
対角成分 | numpy.diagonal | torch.diagonal | Tensor.diagonal | |
下三角 | numpy.tril | torch.tril | Tensor.tril | Tensor.tril_ |
上三角 | numpy.triu | torch.triu | Tensor.triu | Tensor.triu_ |
ndarray の attribute
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
要素数 | numpy.ndarray.size | torch.numel | Tensor.numel | |
次元数 | numpy.ndarray.ndim | Tensor.dim | ||
形状 | numpy.ndarray.shape | Tensor.size | ||
ストライド | numpy.ndarray.strides | Tensor.stride | ||
データ | numpy.ndarray.data | Tensor.data | ||
型 | numpy.ndarray.dtype | Tensor.dtype |
値の設定、取得
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
値の設定 | numpy.put | Tensor.put_ | ||
値の取得 | numpy.take | torch.take | Tensor.take | |
値の取得 | numpy.select | Tensor.select |
乱数
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
一様分布 | numpy.random.uniform | Tensor.uniform_ | ||
離散一様分布 | numpy.random.randint | Tensor.random_ | ||
二項分布 | numpy.random.binomial | torch.bernoulli | Tensor.bernoulli | Tensor.bernoulli_ |
多項分布 | numpy.random.multinomial | torch.multinomial | Tensor.multinomial | |
正規分布 | numpy.random.normal | torch.normal | Tensor.normal_ | |
標準正規分布 | numpy.random.randn | torch.randn | ||
標準正規分布 | numpy.random.randn | torch.randn_like | ||
対数正規分布 | numpy.random.lognormal | Tensor.lognormal | ||
ポアソン分布 | numpy.random.poisson | torch.poisson | ||
一様分布 | numpy.random.rand | torch.rand | ||
一様分布 | numpy.random.rand | torch.rand_like | ||
離散一様分布 | numpy.random.randint | torch.randint | ||
離散一様分布 | numpy.random.randint | torch.randint_like | ||
シャッフルした順列 | torch.randperm | |||
シード設定 | torch.seed | |||
シード設定 | torch.manual_seed | |||
シード設定 | torch.initial_seed |
コピー
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
コピー | numpy.copy | Tensor.new_tensor | Tensor.copy_ | |
コピー | Tensor.clone |
オブジェクトからテンソルを作成
numpy | torch | torch.Tensor | torch.Tensor (inplace) | |
---|---|---|---|---|
オブジェクト → Tensor | numpy.array | torch.tensor | ||
numpy → Tensor | torch.from_numpy |
コメント