欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > PyTorch_张量转换为numpy数组

PyTorch_张量转换为numpy数组

2025/5/9 4:46:35 来源:https://blog.csdn.net/BSCHN123/article/details/147688880  浏览:    关键词:PyTorch_张量转换为numpy数组

使用 tensor.numpy 函数可以将张量转换为 ndarray 数组,但是共享内存,可以使用 copy 函数避免共享。共享内存会导致张量或者numpy中的其中一个更改后,另外一个会受到影响。


代码

import torch # 张量转换为 numpy 数组
def test01():data_tensor = torch.tensor([2,3,4])# 将张量转换为 numpy 数组data_numpy = data_tensor.numpy()print(type(data_tensor))print(type(data_numpy))print(data_tensor)print(data_numpy)# 张量和 numpy 数组共享内存
def test02():data_tensor = torch.tensor([2,3,4])data_numpy = data_tensor.numpy()data_tensor[0] = 100 print(data_tensor)print(data_numpy)# 修改 numpy 数组元素的值,看看张量是否会发生变化? 会发生变化data_numpy[0] = 200 print(data_tensor)print(data_numpy)# 使用 copy 函数实现不共享内存
def test03():data_tensor = torch.tensor([2,3,4])# 此处,发生了类型转换,可以使用拷贝函数产生新的数据,避免共享内存data_numpy = data_tensor.numpy().copy()# 修改 numpy 数组元素的值,看看张量是否会发生变化? 不会发生变化data_numpy[0] = 100 print(data_tensor)print(data_numpy)data_tensor[0] = 200 print(data_tensor)print(data_numpy)if __name__ == "__main__":test03() 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词