pytorch 深拷贝浅拷贝以及脱离计算图/将ndarray转为tensor并指定类型

参考:

  • Pytorch张量(Tensor)复制https://blog.csdn.net/winycg/article/details/100813519

深浅拷贝及脱离计算图

深拷贝浅拷贝区别:参考c++深浅拷贝。深拷贝会开辟内存,浅拷贝只拷贝指针不开辟内存(共享内存)。

脱离计算图:指的是不再存储梯度信息,梯度为0。

以上操作主要由.clone().detach()两个方法完成。

.clone()clone()函数可以返回一个完全相同的tensor,新的tensor开辟新的内存,但是仍然留在计算图中。

.detachdetach()函数可以返回一个完全相同的tensor,新的tensor开辟与旧的tensor共享内存,新的tensor会脱离计算图,不会牵扯梯度计算。此外,一些原地操作(in-place, such as resize_ / resize_as_ / set_ / transpose_) 在两者任意一个执行都会引发错误。

请添加图片描述

将ndarray转为tensor并指定类型

别管warning,pytorch2.0说了保证所有API向后兼容。

import torch
import numpy as np

# 创建一个numpy ndarray
my_array = np.array([[1, 2, 3], [4, 5, 6]])

# 将ndarray转换为Tensor并更改类型
my_tensor = torch.tensor(my_array, dtype=torch.float32)

# 打印结果
print(my_tensor)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值