前情提要

在上一篇文章中,我们详细介绍了如何搭建一个pytorch的环境,那么本篇文章我们即将揭开pytorch的神秘面纱,了解pytorch中的数据结构——Tensor。


概念问答

张量是什么? 张量是一个多维数组。
张量与矩阵、向量、标量的关系是怎么样的呢 张量是标量、向量、矩阵的高维拓展
什么是Variable? Variable是 torch.autograd 中的数据类型主要用于封装Tensor ,进行 自动求导
Variable“赋予”张量有什么功能? 它赋予了张量一些属性(grad:数据的梯度,grad_fn:创建张量的function,requires_grad:是否需要梯度,is_leaf:是否是叶子节点(张量))

实操(张量的创建)

方法一:直接创建torch.tensor


import torch
import numpy as nparr = np.ones((3, 3))print("ndarray的数据类型:", arr.dtype)# t = torch.tensor(arr, device='cuda')在gpu下跑t = torch.tensor(arr)print(t)
  • 采用torch.from_numpy创建张量,并打印查看ndarray和张量数据的地址
#实验发现:从 torch.from_numpy 创建的 tensor 与原 ndarray 共享内存 ,当修
改其中一个的数据,另外一个也将会被改动arr = np.array([[1, 2, 3], [4, 5, 6]])t = torch.from_numpy(arr)# print("numpy array: ", arr)# print("tensor : ", t)# print("\n修改arr")# arr[0, 0] = 0# print("numpy array: ", arr)# print("tensor : ", t)print("\n修改tensor")t[0, 0] = -1print("numpy array: ", arr)print("tensor : ", t)

方法二:依据数值创建

方式比较多,后续会详细罗列,比如torch.zeros()


方法三:依概率分布创建张量

  • 实现torch.normal()创建张量的四种模式(也就是正态分布的四种模式)
mean是标量 std是标量
mean是标量 std是张量
mean是张量 std是标量
mean是张量 std是张量
    #python代码的实现# mean:张量 std: 张量# mean = torch.arange(1, 5, dtype=torch.float)# std = torch.arange(1, 5, dtype=torch.float)# t_normal = torch.normal(mean, std)# print("mean:{}\nstd:{}".format(mean, std))# print(t_normal)# mean:标量 std: 标量# t_normal = torch.normal(0., 1., size=(4,))# print(t_normal)# mean:张量 std: 标量mean = torch.arange(1, 5, dtype=torch.float)std = 1t_normal = torch.normal(mean, std)print("mean:{}\nstd:{}".format(mean, std))print(t_normal)

pytorch2——Pytorch基础数据结构——张量(深度之眼)相关推荐

  1. 【深度之眼PyTorch框架班第五期】作业打卡01:PyTorch简介及环境配置;PyTorch基础数据结构——张量

    文章目录 任务名称 任务简介 详细说明 作业 1. 安装anaconda,pycharm, CUDA+CuDNN(可选),虚拟环境,pytorch,并实现hello pytorch查看pytorch的 ...

  2. Pytorch基础之张量的存储方式及维度操作:size,shape,view,reshape,contiguous

    参考书目:张校捷,<深入浅出PyTorch:从模型到源码> Pytorch中张量的存储 假设存在一个k维张量,其维数为[ n 1 , n 2 . . . n k n_1,n_2...n_k ...

  3. 深度之眼Pytorch打卡(十三):Pytorch全连接神经网络部件——线性层、非线性激活层与Dropout层(即全连接层、常用激活函数与失活 )

    前言   无论是做分类还是做回归,都主要包括数据.模型.损失函数和优化器四个部分.数据部分在上一篇笔记中已经基本完结,从这篇笔记开始,将学习深度学习模型.全连接网络MLP是最简单.最好理解的神经网络, ...

  4. 《深度学习之pytorch实战计算机视觉》第6章 PyTorch基础(代码可跑通)

    上一篇文章<深度学习之pytorch实战计算机视觉>第5章 Python基础讲了Python基础.接下来看看第6章 PyTorch基础. 目录 6.1 PyTorch中的Tensor 6. ...

  5. 深度学习之Pytorch基础教程!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展 ...

  6. PyTorch基础(一)-----张量(Tensor)

    前言 很多人都会拿PyTorch和Google的Tensorflow进行比较,这个肯定是没有问题的,因为他们是最火的两个深度学习框架了.但是说到PyTorch,其实应该先说Torch. 什么是Torc ...

  7. 【深度学习】深度学习之Pytorch基础教程!

    作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展,深度学习框架开始大量的出现.尤其是近两年,Google.Facebook.Microsoft等巨头都围绕深度学习重点投资了一系 ...

  8. 深度学习导论(3)PyTorch基础

    深度学习导论(3)PyTorch基础 一. Tensor-Pytorch基础数据结构 二. Tensor索引及操作 1. Tensor索引类型 2. Tensor基础操作 3. 数值类型 4. 数值类 ...

  9. 第1周学习笔记:深度学习和pytorch基础

    目录 一 视频学习 1.绪论 2.深度学习概述 二 代码学习 1.Pytorch基础练习 2.螺旋数据分类 一 视频学习 1.绪论 人工智能(Artificial Intelligence):使一部机 ...

最新文章

  1. 深度丨如何理解和评价机器学习中的表达能力、训练难度和泛化性能
  2. 服务器监控系统的介绍,客户服务系统服务器监控系统
  3. dom4j解析xml字符串实例
  4. c:if test=/c:if 使用
  5. MySQL数据库备份的10个教程
  6. opencv之在图像上绘制标记---drawMarker
  7. mysql集群(一)
  8. 使用python实现日志功能
  9. 自回归滑动平均(ARMA)模型
  10. win10 LTSC无损升级 win11专业版 记录
  11. 计算机空格键作用,笔记本电脑键盘上的空格键和Enter键不起作用. 怎么办?
  12. 楚留香pc端无法获取服务器信息,楚留香手游PC端无响应解决方法
  13. 博弈论——完全信息博弈
  14. html img路径 404,webpack css背景图片无法现实,图片路径404
  15. 异常记录---Error creating bean with name 'sqlSessionFactory'
  16. PaaS平台升级NFS报错排除
  17. c语言程序设计周记,C语言学习日记
  18. No suspicious code found. 1 files processed in 'File '
  19. mysql 官网下载太慢了,来这里!!!
  20. Yagmail | 命令行发送电子邮件竟变得如此容易……

热门文章

  1. 马斯克连发三推,发布退出OpenAI内情
  2. 100+Python编程题给你练~(附答案)
  3. 对话云知声李霄寒:不计成本研发芯片,探索语音之外的“硬”实力
  4. AI一分钟|外媒:AI将消灭资本主义;特斯拉再遭唱空:量产存疑外加事故不断...
  5. 微软、商汤等专家纵论AI未来:三年内主要趋势及挑战是什么?
  6. 再见丑陋的 SwaggerUI,这款API文档生成神器界面更炫酷,逼格更高!
  7. 字节跳动一面:i++ 是线程安全的吗?
  8. 深入理解 Mybatis 插件开发
  9. Spring Boot 监听 Redis Key 失效事件实现定时任务
  10. 如何使用BigDecimal?