Pytorch的大多数组件源码由C++实现并提供Python接口
Tensors
虽然Pytorch以Python为主,但是所有重的任务组件都是用C++实现
ZERO-COPYING
import numpy as np
import torch
import torch.nn.functional as F
np_array = np.array([[1.,1.],[1., 1.]])
torch_array = torch.from_numpy(np_array)
torch_array.add_(1.0)
奇特的一点是np_array的数组会随着torch_array的变化而变化, 但是np_array变化torch_array不会变化。
参考
https://speakerdeck.com/perone/pytorch-under-the-hood?slide=10