pytorch——张量 & numpy

import torch
import numpy as np

# 张量的初始化
data=[[1,2],[3,4]]
tensor_data=torch.tensor(data) # 直接生成张量

np_array=np.array(data)
tensor_np=torch.from_numpy(np_array) # numpy数组生成

tensor_type=torch.ones_like(tensor_data,dtype=torch.float) # 继承tensor_data结构,重写数据类型,也可以不重写
tensor_retype=torch.rand_like(tensor_data,dtype=torch.float) # 继承tensor_data结构,指定数据类型随机数据

shape=(2,3) # 指定大小生成张量
rand_tensor=torch.rand(shape)
ones_tensor=torch.ones(shape)
zero_tensor=torch.zeros(shape)

# 张量属性
size=tensor_data.shape # 维数
type=tensor_data.dtype # 数据类型
device=tensor_data.device # 存储设备

# gpu运算张量
if torch.cuda.is_available():
    tensor_data=tensor_data.to('cuda')

# 张量运算
tensor=torch.ones(4,4)
tensor[:,1]=0 # 第一列清零
t1=torch.cat([tensor,tensor,tensor],dim=1) # 张量拼接,横向,不加dim=1是纵向拼接
t2=tensor*tensor # 等价于tensor。mul(tensor)逐个元素相乘
t3=tensor@tensor.T # 等价于tensor。matmul(tensor.T)逐个矩阵相乘
tensor.add_(2) # 逐个元素+2

# 张量和numpy数组,两者可以使用内存上同一块内存,改变一个另一个随之改变
t4=torch.ones(5)
n4=t4.numpy() # 张量转numpy
t4.add_(5)
n5=np.ones(5)
t5=torch.from_numpy(n5) # numpy转张量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值