IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【Pytorch】Pytorch中张量的创建和维度的操作 -> 正文阅读

[人工智能]【Pytorch】Pytorch中张量的创建和维度的操作

书P59开始

1 - Python列表和Numpy数组转换为Pytorch张量

首先导入包

import numpy as np
import torch

1.1 - 转换Python列表为Pytorch张量

torch.tensor([1, 2, 3, 4])  # 转换python列表为Pytorch张量

输出结果为

tensor([1, 2, 3, 4])

查看张量数据类型

torch.tensor([1, 2, 3, 4]).dtype  # 查看张量数据类型 

输出

torch.int64

1.2 - 指定张量数据类型

torch.tensor([1, 2, 3, 4], dtype=torch.float32)

输出

tensor([1., 2., 3., 4.])

查看张量数据类型

torch.tensor([1, 2, 3, 4], dtype=torch.float32).dtype

输出

torch.float32

1.3 - 转换迭代器(range)为张量

torch.tensor(range(10)) # 转换迭代器为张量

输出

tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

1.4 - 转换numpy数组为张量

查看numpy数组类型

np.array([1,2,3,4]).dtype  # 查看numpy数组类型

输出

dtype('int32')

转换numpy数组为pytorch张量

torch.tensor(np.array([1,2,3,4]))  # 转换numpy数组为pytorch张量

输出

tensor([1, 2, 3, 4], dtype=torch.int32)

转换后pytorch张量的类型

torch.tensor(np.array([1,2,3,4])).dtype  # 转换后pytorch张量的类型

输出

torch.int32

1.5 - pytorch和numpy的默认浮点类型

pytorch的默认浮点类型为32位单精度

torch.tensor([1.0, 2.0, 3.0, 4.0]).dtype

输出

torch.float32

numpy的默认浮点类型为64位双精度

torch.tensor(np.array([1.0, 2.0, 3.0, 4.0])).dtype

输出

torch.float64

1.6 - 列表嵌套创建张量

torch.tensor([[1, 2, 3], [4, 5, 6]])  # 注意外面还有一对中括号!

输出

tensor([[1, 2, 3],
        [4, 5, 6]])

1.7 - torch.float与torch.int的互换

从torch.float转换到torch.int

torch.randn(3, 3).to(torch.int)

输出

tensor([[ 0,  0, -1],
        [ 0, -1,  0],
        [ 0,  0,  0]], dtype=torch.int32)

从torch.float转换到torch.int

torch.randint(0, 5, (3, 3)).to(torch.float)

输出

tensor([[1., 0., 0.],
        [0., 4., 0.],
        [0., 2., 2.]])


2 - 张量的创建方式

2.1 通过torch.tensor函数创建张量

如果预先有数据(包括列表和numpy数组),可以用这个方法进行转换,具体代码见第一节。

2.2 通过pytorch内置的函数创建张量

通过指定张量的形状,返回给定形状的张量。

torch.rand() 服从[0,1)上的均匀分布

torch.rand(3, 3)  # 生成3×3的矩阵,服从[0,1)上的均匀分布

输出

tensor([[0.8495, 0.6578, 0.6414],
        [0.4056, 0.3283, 0.8018],
        [0.3692, 0.6454, 0.9068]])

torch.randn() 服从标准正态分布

torch.randn(2, 3, 4)  # 生成2×3×4的张量,服从标准正态分布

输出

tensor([[[-1.4592,  0.8455,  0.2028,  1.4529],
         [-0.6733,  0.1475, -0.6303, -1.0275],
         [ 1.0311, -0.0114,  0.0187,  1.1736]],
        [[-0.6119,  0.9253, -0.6474, -1.1126],
         [-0.2808,  1.8824, -1.3947,  0.6264],
         [-0.4868, -0.0196,  1.3352,  0.9196]]])

torch.zeros()

torch.zeros(2, 2, 2)

输出

tensor([[[0., 0.],
         [0., 0.]],
        [[0., 0.],
         [0., 0.]]])

torch.ones()

torch.ones(1, 2, 3)

输出

tensor([[[1., 1., 1.],
         [1., 1., 1.]]])

torch.eye() 生成单位矩阵

torch.eye(3)

输出

tensor([[1., 0., 0.],
        [0., 1., 0.],
        [0., 0., 1.]])

torch.randint(0, 10, (3, 3)) 生成[0,10)之间均匀分布整数的3×3矩阵

torch.randint(0, 10, (3, 3))

输出

tensor([[8, 2, 1],
        [9, 7, 5],
        [5, 4, 4]])

2.3 - 通过已知张量创建形状相同的张量

torch.zeros_like(t)

torch.ones_like(t)

torch.rand_like(t)

torch.randn_like(t)


2.4 - 通过已知张量创建形状不同但数据类型相同的张量 (一般很少用到)



3 - 和张量维度相关的方法

t.ndimension() 获取维度的数目

t.nelement() 获取该张量的总元素数目

t.size() 获取该张量每个维度的大小,调用方法

t.shape 获取该张量每个维度的大小,访问属性

t.view(3, 4) 向量改变形状为3×4的矩阵

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:31:02  更:2022-03-10 22:33:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 16:33:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码