Pytorch基础学习

本文介绍了PyTorch中的Tensor基础知识,包括与NumPy的转换、GPU与CPU间的转换以及多种Tensor操作。同时,讲解了Variable的概念,强调其与Tensor的相似性和额外的属性,如.data、.grad和.grad_fn。文章还详细阐述了自动求导机制,通过实例展示了如何进行复杂的梯度计算,并说明了连续自动求导的限制和解决办法。
摘要由CSDN通过智能技术生成

Tensor

import torch
x1 = torch.Tensor([3,4])
x2 = torch.FloatTensor([4,4])
x3 = torch.randn(3,4)

pytorch与numpy之间的转换

import numpy as np
numpy_tensor = np.random.randn(10,20)
pytorch_tensor = torch.from_numpy(numpy_tensor)  #numpy转换pytorch
new_numpy_tensor = pytorch_tensor.numpy()  #pytorch转numpy

GPU tensor和CPU tensor之间的转换

x = torch.randn(3,4)
x_gpu = x.cuda(0)
x_gpu = x.cuda(1)
x_cpu = x_gpu.cpu()
x_array = x_gpu.cpu().numpy()   #先转换CPU再转换成numpy

两种方式将Tensor放到GPU上

#第一种:定义cuda数据类型
dtype = torch.cuda.FloatTensor   #定义默认GPU的数据类型
gpu_tensor = torch.randn(10,20).type(dtype)

#第二种:简单推荐使用
gpu_tensor = torch.randn(10,20).cuda(0)  #将tensor放到第一个GPU上
gpu_tensor = torch.randn(10,20).cu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值