从PyTorch官方的一篇教程说开去(6.1 - 张量 tensor 基本操作)

您的进步和反馈是我最大的动力,小伙伴来个三连呗!共勉。

其实深度学习的框架,出品最早的是谷歌的TensorFlow,我也有在前面的文章中有提到过G家的开创性,感兴趣的可以移步去看下 - 从PyTorch官方的一篇教程说开去(1 - 初心)-CSDN博客

但是事易时移,脸书家的PyTorch靠着python社区,在开发群体中变得更加流行。当然了,马斯克也献上了助攻。我们本篇只讨论应用,所以按下这个有点八卦的话头不提。

吐槽一下,实际上两个框架的底层都是C++,而不是python,从后面的输出风格就看的出来。而在了解和迎合学术界和社区方面,脸书是职业本能,确实硬压了G家的直男们一头。

人工智能的基础是矩阵,是向量(也就是本文主题的Tensor),我们在前篇中有展示过AI的大脑的样子。有兴趣的请看前面的文章 - 从PyTorch官方的一篇教程说开去(4 - Q-table来源及解决问题实例)-CSDN博客

为了走的更远,大家一起给“张量”这个词补补课哈。

方便展示,请在Jupiter中运行本篇中的代码。

1 - 创建原始数据:

import torch
import numpy as np

data = [[1,2],[3,4]]
print(data)
  • 这部分创建了一个 Python 列表,其中包含两个列表,用于模拟一个 2x2 的矩阵。

2 - 转换为 PyTorch 张量:

x_data = torch.tensor(data)
print(x_data)
  • 列表转换为一个张量

3 - 创建相同形状的全1张量:

x_ones = torch.ones_like(x_data)
print(f"Ones Tensor: \n {x_ones} \n")

4 - 创建具有相同形状的随机张量:

x_rand = torch.rand_like(x_ones, dtype=torch.float)
print(f"Random Tensor: \n {x_rand} \n")

5 - 创建不同形状的全0、全1和随机张量:

shape = (4,4)
rand_tensor = torch.rand(shape)
ones_tensor = torch.ones(shape)
zeros_tensor = torch.zeros(shape)

print(f"Random Tensor: \n {rand_tensor} \n")
print(f"Ones Tensor: \n {ones_tensor} \n")
print(f"Zeros Tensor: \n {zeros_tensor} \n")

print (f"{rand_tensor.shape},\n{rand_tensor.dtype},\n{rand_tensor.device}")

6 - 索引,切片和赋值操作:

print(f"{ones_tensor[0]}\n")
print(f"{ones_tensor[:,0]}\n")
print(f"{ones_tensor[...,-1]}\n")
ones_tensor[:,1] = 0
print(f"{ones_tensor}\n")

7 - 张量的拼接操作:

t1 = torch.cat([ones_tensor,ones_tensor,ones_tensor],dim=1)
print(t1)

该吃饭去了,未完,下一节继续哈~

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值