动手学深度学习-python基础知识介绍part1
基础详解-part1
import torch
x=torch.arange(12)
x
x.shape
x.numel() #数组中元素的总数
# 修改形状
x.reshape(3,4)
torch.zeros((2,3,4))
# 两层,三行,四列
print(torch.tensor([[2,1,4,3],[1,2,3,4],[4,3,2,1]]).shape)#二维
# 两个框表示二维,三个表示三维
print(torch.tensor([[[2,1,4,3],[1,2,3,4],[4,3,2,1]]]).shape)#三维
标准算术运算
x=torch.tensor([1.0,2,4,8])
y=torch.tensor([2,2,2,2])
print(x+y)
print(x-y)
print(x*y)
print(x/y)
print(x**y) #x的y阶
print(torch.exp(x)) #计算输入张量x中每个元素的指数值;通俗讲是e的x次方(e大约等于2.71828)
# 多个张量连接
x=torch.arange(12,dtype=torch.float32).reshape((3,4))
y=torch.tensor([[2.0,1,4,3],[1,2,3,4],[4,3,2,1]])
torch.cat((x,y),dim=0),torch.cat((x,y),dim=1)
#torch.cat((x, y), dim=0):在第0维(行)上拼接 x 和 y。这将创建一个6行4列的张量,其中前3行是 x,后3行是 y。
# torch.cat((x, y), dim=1):在第1维(列)上拼接 x 和 y。这将创建一个3行8列的张量,其中前4列是 x,后4列是 y。
x.sum()
广播机制:广播允许在某些情况下,即使数组或张量的形状不完全相同,也可以进行元素级的运算
a=torch.arange(3).reshape((3,1))
b=torch.arange(2).reshape((1,2))
print(a,b)
print(a+b)
x[-1],x[1:3]
x[1,2]=9
x
x[0:2,:]=12
x
内存问题
#id()类似于指针
before=id(y)
y=y+x
id(y)==before
z=torch.zeros_like(y)
print('id(z):',id(z))
z[:]=x+y
print('id(z):',id(z))
before=id(x)
x+=y
id(x)==before
numpy
a=x.numpy()
b=torch.tensor(a)
type(a),type(b)
# 将大小为1的张量转换为python标量
a=torch.tensor([3.5])
a,a.item(),float(a),int(a)
# a.item():将张量中的单个元素转换为Python的标量值
动手学深度学习-python基础知识介绍part1的更多相关文章
- 对比《动手学深度学习》 PDF代码+《神经网络与深度学习 》PDF
随着AlphaGo与李世石大战的落幕,人工智能成为话题焦点.AlphaGo背后的工作原理"深度学习"也跳入大众的视野.什么是深度学习,什么是神经网络,为何一段程序在精密的围棋大赛中 ...
- 小白学习之pytorch框架(2)-动手学深度学习(begin-random.shuffle()、torch.index_select()、nn.Module、nn.Sequential())
在这向大家推荐一本书-花书-动手学深度学习pytorch版,原书用的深度学习框架是MXNet,这个框架经过Gluon重新再封装,使用风格非常接近pytorch,但是由于pytorch越来越火,个人又比 ...
- 【动手学深度学习】Jupyter notebook中 import mxnet出错
问题描述 打开d2l-zh目录,使用jupyter notebook打开文件运行,import mxnet 出现无法导入mxnet模块的问题, 但是命令行运行是可以导入mxnet模块的. 原因: 激活 ...
- 动手学深度学习9-多层感知机pytorch
多层感知机 隐藏层 激活函数 小结 多层感知机 之前已经介绍过了线性回归和softmax回归在内的单层神经网络,然后深度学习主要学习多层模型,后续将以多层感知机(multilayer percetro ...
- 动手学深度学习1- pytorch初学
pytorch 初学 Tensors 创建空的tensor 创建随机的一个随机数矩阵 创建0元素的矩阵 直接从已经数据创建tensor 创建新的矩阵 计算操作 加法操作 转化形状 tensor 与nu ...
- 《动手学深度学习》系列笔记—— 1.2 Softmax回归与分类模型
目录 softmax的基本概念 交叉熵损失函数 模型训练和预测 获取Fashion-MNIST训练集和读取数据 get dataset softmax从零开始的实现 获取训练集数据和测试集数据 模型参 ...
- 动手学深度学习14- pytorch Dropout 实现与原理
方法 从零开始实现 定义模型参数 网络 评估函数 优化方法 定义损失函数 数据提取与训练评估 pytorch简洁实现 小结 针对深度学习中的过拟合问题,通常使用丢弃法(dropout),丢弃法有很多的 ...
- 动手学深度学习6-认识Fashion_MNIST图像数据集
获取数据集 读取小批量样本 小结 本节将使用torchvision包,它是服务于pytorch深度学习框架的,主要用来构建计算机视觉模型. torchvision主要由以下几个部分构成: torchv ...
- 【零基础学深度学习】动手学深度学习2.0--tensorboard可视化工具简单使用
1 引言 老师让我将线性回归训练得出的loss值进行可视化,于是我使用了tensorboard将其应用到Pytorch中,用于Pytorch的可视化. 2 环境安装 本教程代码环境依赖: python ...
- mxnet 动手学深度学习
http://zh.gluon.ai/chapter_crashcourse/introduction.html 强化学习(Reinforcement Learning) 如果你真的有兴趣用机器学习开 ...
随机推荐
- three.js 性能优化之模型转化与压缩
模型转换 obj转gltf 安装插件 npm i -g obj2gltf 执行转换命令 obj2gltf -i 11-6.obj -o 11-6.gltf -u 模型压缩 安装gltf-pipelin ...
- VTK 9.2 Qt 5.14 安装及错误处理
参考VTK9.1.0在Windows10+VS2019+Qt 5.15.2环境下编译安装以及VTK应用于QT_vtk-qt安装包_isongxw的博客-CSDN博客 安装注意:编译release和de ...
- CentOS7.8安装k8s
1, 安装 docker / kubelet # 在 master 节点和 worker 节点都要执行 \# 最后一个参数 1.20.6 用于指定 kubenetes 版本,支持所有 1.20.x 版 ...
- Day01 Markdown 学习笔记
Day01 Markdown 学习笔记 1.标题 n级标题 = n个"#" + 空格 + 标题名称 (最多6个) 2.文本 Hello World Hello World ...
- 关于 VMware 与 WSL 在 Win11 虚拟化的一些问题
关于 VMware 与 WSL 在 Win11 虚拟化的一些问题 VMware 虚拟化问题 之前用虚拟机做计网 GNS3 组网实验的时候需要用到虚拟机虚拟化,然后一直显示虚拟化不成功,检查过 BIOS ...
- TypeNameExtractor could not be found
TypeNameExtractor could not be foundException 一.注意: 如果项目中使用了 knif4j或swagger (knif4j内核中就使用了swagger) 项 ...
- Qt开发经验小技巧201-205
编译生成debug版本动态库,文件末尾自动加上d结尾. CONFIG(debug, debug|release) { win32: TARGET = $$join(TARGET,,,d) mac: T ...
- Qt编写地图综合应用33-雨量分布
一.前言 雨量分布图是在区域地图基础上,针对区域中的每个最小单位区域比如县城点位不同颜色显示,最开始做这个封装的时候,并没有提供单独设置每个点颜色的接口,后面经过几个客户的强烈建议,咬咬牙把每个点都可 ...
- AndroidStudio 彻底关闭http网络代理方法
以前在AndroidStudio中设置完代理后,会在项目的gradle.properties文件中生成代理配置信息: 即使你在setting的http proxy中关掉代理,实际编译时还会使用上次设置 ...
- Windows7系统启用ipv6的详细步骤(图文)
IPV6是IETF设计的用于替代现行版本IP协议(IPv4)的下一代IP协议.一般情况下,win7系统默认是关闭IPV6服务的,之前教程也有分享过win7禁用ipv6协议的方法.那么如果要启用ipv6 ...