您的位置:首页 > 娱乐 > 八卦 > 免费高清视频素材网_oa 开发_seo网站是什么意思_seo外链资源

免费高清视频素材网_oa 开发_seo网站是什么意思_seo外链资源

2024/12/23 11:02:50 来源:https://blog.csdn.net/dwjf321/article/details/144328860  浏览:    关键词:免费高清视频素材网_oa 开发_seo网站是什么意思_seo外链资源
免费高清视频素材网_oa 开发_seo网站是什么意思_seo外链资源

文章目录

    • 1. 张量转换为Numpy数组
    • 2 . Numpy 数组转换为张量
    • 3. 张量和数字转换

1. 张量转换为Numpy数组

使用Tensor.numpy()函数可以将张量转换为ndarray数组,但是共享内存,可以使用copy()函数避免共享

data = torch.tensor([2,3,4])
print('data的类型:',type(data))
# 将张量转换为 numpy 数组
numpy_data = data.numpy()
print('numpy_data的类型:',type(numpy_data))
# 使用copy方法拷贝对象,防止内存共享
numpy_data2 = data.numpy().copy()
print('numpy_data2的类型:',type(numpy_data2))
# 注意: data_tensor 和 data_numpy 共享内存,修改其中的一个,另外一个也会发生改变
#data[0]=100
numpy_data[0]=100
print('张量的值',data)
print('numpy的值:',numpy_data)

结果输出:

data的类型: <class 'torch.Tensor'>
numpy_data的类型: <class 'numpy.ndarray'>
numpy_data2的类型: <class 'numpy.ndarray'>
张量的值 tensor([100,   3,   4])
numpy的值: [100   3   4]
numpy2的值: [2 3 4]

2 . Numpy 数组转换为张量

  • 使用from_numpy()可以将ndarray数组转换为Tensor,共享内存

    numpy_data=np.array([2,3,4])
    data = torch.from_numpy(numpy_data)
    numpy_data[1]=50
    print('numpy_data的值',numpy_data)
    print('data的值',data)
    

    结果输出:

    numpy_data的值 [ 2 50  4]
    data的值 tensor([ 2, 50,  4], dtype=torch.int32)
    
  • 使用torch.tensor()可以将ndarray数组转换为Tensor,不共享内存。

    numpy_data=np.array([2,3,4])
    data = torch.tensor(numpy_data)
    numpy_data[1]=50
    print('numpy_data的值',numpy_data)
    print('data的值',data)
    

    结果输出:

    numpy_data的值 [ 2 50  4]
    data的值 tensor([2, 3, 4], dtype=torch.int32)
    

3. 张量和数字转换

  • 对于只有一个元素的张量,使用item()函数将该值从张量中提取出来

    data = torch.tensor([20,])
    print(data.item())
    data = torch.tensor(20)
    print(data.item())
    

    输出结果:

    20
    20
    

版权声明:

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

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