当前位置: 首页 > news >正文

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() 

相关文章:

  • 用可视化学习逆置法
  • 基于LangChain 实现 Advanced RAG-后检索优化(上)-Reranker
  • 如何提升个人的思维能力?
  • 人工智能:如何快速筛选出excel中某列存在跳号的单元格位置?
  • C++ 中的继承
  • scikit-learn在监督学习算法的应用
  • WEB前端小练习——记事本
  • 多端定制系统开发:打造高效全平台覆盖的APP解决方案
  • 004 树与二叉树:从原理到实战
  • 「Mac畅玩AIGC与多模态16」开发篇12 - 多节点串联与输出合并的工作流示例
  • C++调试(叁):编译qBreakpad并使用其生成Dump文件
  • 解决Maven项目中报错“java不支持版本6即更高的版本 7”
  • 代码随想录算法训练营Day43
  • 单片机嵌入式CAN库
  • Linux第20节 --- inode和文件系统
  • 【2025软考高级架构师】——未来信息综合技术(11)
  • C++笔记-多态(包含虚函数,纯虚函数和虚函数表等)
  • 基于PyTorch的食物图像分类实战:从数据处理到模型训练
  • 61常用控件_QDateTimeEdit的使用
  • 【LeetCode Hot100】贪心篇
  • 金正恩视察重要坦克厂并强调更迭陆军装备
  • 严正交涉!我驻日使馆:如日方采取新的挑衅举动,中方必坚决反制
  • 人民日报和音:汇聚和平与发展的全球南方力量
  • 徐丹任武汉大学药学院院长:研究领域在国际上处领跑地位
  • 孙一凡的东欧狂想音乐会:一场穿越东欧的听觉绮梦
  • 一位排球青训教练的20年时光:努力提高女排球员成才率