pytorch2——Pytorch基础数据结构——张量(深度之眼)
前情提要
在上一篇文章中,我们详细介绍了如何搭建一个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基础数据结构——张量(深度之眼)相关推荐
- 【深度之眼PyTorch框架班第五期】作业打卡01:PyTorch简介及环境配置;PyTorch基础数据结构——张量
文章目录 任务名称 任务简介 详细说明 作业 1. 安装anaconda,pycharm, CUDA+CuDNN(可选),虚拟环境,pytorch,并实现hello pytorch查看pytorch的 ...
- Pytorch基础之张量的存储方式及维度操作:size,shape,view,reshape,contiguous
参考书目:张校捷,<深入浅出PyTorch:从模型到源码> Pytorch中张量的存储 假设存在一个k维张量,其维数为[ n 1 , n 2 . . . n k n_1,n_2...n_k ...
- 深度之眼Pytorch打卡(十三):Pytorch全连接神经网络部件——线性层、非线性激活层与Dropout层(即全连接层、常用激活函数与失活 )
前言 无论是做分类还是做回归,都主要包括数据.模型.损失函数和优化器四个部分.数据部分在上一篇笔记中已经基本完结,从这篇笔记开始,将学习深度学习模型.全连接网络MLP是最简单.最好理解的神经网络, ...
- 《深度学习之pytorch实战计算机视觉》第6章 PyTorch基础(代码可跑通)
上一篇文章<深度学习之pytorch实战计算机视觉>第5章 Python基础讲了Python基础.接下来看看第6章 PyTorch基础. 目录 6.1 PyTorch中的Tensor 6. ...
- 深度学习之Pytorch基础教程!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展 ...
- PyTorch基础(一)-----张量(Tensor)
前言 很多人都会拿PyTorch和Google的Tensorflow进行比较,这个肯定是没有问题的,因为他们是最火的两个深度学习框架了.但是说到PyTorch,其实应该先说Torch. 什么是Torc ...
- 【深度学习】深度学习之Pytorch基础教程!
作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展,深度学习框架开始大量的出现.尤其是近两年,Google.Facebook.Microsoft等巨头都围绕深度学习重点投资了一系 ...
- 深度学习导论(3)PyTorch基础
深度学习导论(3)PyTorch基础 一. Tensor-Pytorch基础数据结构 二. Tensor索引及操作 1. Tensor索引类型 2. Tensor基础操作 3. 数值类型 4. 数值类 ...
- 第1周学习笔记:深度学习和pytorch基础
目录 一 视频学习 1.绪论 2.深度学习概述 二 代码学习 1.Pytorch基础练习 2.螺旋数据分类 一 视频学习 1.绪论 人工智能(Artificial Intelligence):使一部机 ...
最新文章
- 深度丨如何理解和评价机器学习中的表达能力、训练难度和泛化性能
- 服务器监控系统的介绍,客户服务系统服务器监控系统
- dom4j解析xml字符串实例
- c:if test=/c:if 使用
- MySQL数据库备份的10个教程
- opencv之在图像上绘制标记---drawMarker
- mysql集群(一)
- 使用python实现日志功能
- 自回归滑动平均(ARMA)模型
- win10 LTSC无损升级 win11专业版 记录
- 计算机空格键作用,笔记本电脑键盘上的空格键和Enter键不起作用. 怎么办?
- 楚留香pc端无法获取服务器信息,楚留香手游PC端无响应解决方法
- 博弈论——完全信息博弈
- html img路径 404,webpack css背景图片无法现实,图片路径404
- 异常记录---Error creating bean with name 'sqlSessionFactory'
- PaaS平台升级NFS报错排除
- c语言程序设计周记,C语言学习日记
- No suspicious code found. 1 files processed in 'File '
- mysql 官网下载太慢了,来这里!!!
- Yagmail | 命令行发送电子邮件竟变得如此容易……
热门文章
- 马斯克连发三推,发布退出OpenAI内情
- 100+Python编程题给你练~(附答案)
- 对话云知声李霄寒:不计成本研发芯片,探索语音之外的“硬”实力
- AI一分钟|外媒:AI将消灭资本主义;特斯拉再遭唱空:量产存疑外加事故不断...
- 微软、商汤等专家纵论AI未来:三年内主要趋势及挑战是什么?
- 再见丑陋的 SwaggerUI,这款API文档生成神器界面更炫酷,逼格更高!
- 字节跳动一面:i++ 是线程安全的吗?
- 深入理解 Mybatis 插件开发
- Spring Boot 监听 Redis Key 失效事件实现定时任务
- 如何使用BigDecimal?