int main() {
auto x = torch::zeros({2, 2});
auto y = x;
auto m = x.clone();
auto n = torch::zeros_like(x);
n.copy_(x);
x[0][0] = 1;
cout << y[0][0] << m[0][0] << n[0][0];
return 0;
}
输出1,0,0
说明直接赋值是共享内存的,其他2种方法不会共享内存。
根据文档,clone会被记录到计算图中,而copy_则不会。