基础详解-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的更多相关文章

  1. 对比《动手学深度学习》 PDF代码+《神经网络与深度学习 》PDF

    随着AlphaGo与李世石大战的落幕,人工智能成为话题焦点.AlphaGo背后的工作原理"深度学习"也跳入大众的视野.什么是深度学习,什么是神经网络,为何一段程序在精密的围棋大赛中 ...

  2. 小白学习之pytorch框架(2)-动手学深度学习(begin-random.shuffle()、torch.index_select()、nn.Module、nn.Sequential())

    在这向大家推荐一本书-花书-动手学深度学习pytorch版,原书用的深度学习框架是MXNet,这个框架经过Gluon重新再封装,使用风格非常接近pytorch,但是由于pytorch越来越火,个人又比 ...

  3. 【动手学深度学习】Jupyter notebook中 import mxnet出错

    问题描述 打开d2l-zh目录,使用jupyter notebook打开文件运行,import mxnet 出现无法导入mxnet模块的问题, 但是命令行运行是可以导入mxnet模块的. 原因: 激活 ...

  4. 动手学深度学习9-多层感知机pytorch

    多层感知机 隐藏层 激活函数 小结 多层感知机 之前已经介绍过了线性回归和softmax回归在内的单层神经网络,然后深度学习主要学习多层模型,后续将以多层感知机(multilayer percetro ...

  5. 动手学深度学习1- pytorch初学

    pytorch 初学 Tensors 创建空的tensor 创建随机的一个随机数矩阵 创建0元素的矩阵 直接从已经数据创建tensor 创建新的矩阵 计算操作 加法操作 转化形状 tensor 与nu ...

  6. 《动手学深度学习》系列笔记—— 1.2 Softmax回归与分类模型

    目录 softmax的基本概念 交叉熵损失函数 模型训练和预测 获取Fashion-MNIST训练集和读取数据 get dataset softmax从零开始的实现 获取训练集数据和测试集数据 模型参 ...

  7. 动手学深度学习14- pytorch Dropout 实现与原理

    方法 从零开始实现 定义模型参数 网络 评估函数 优化方法 定义损失函数 数据提取与训练评估 pytorch简洁实现 小结 针对深度学习中的过拟合问题,通常使用丢弃法(dropout),丢弃法有很多的 ...

  8. 动手学深度学习6-认识Fashion_MNIST图像数据集

    获取数据集 读取小批量样本 小结 本节将使用torchvision包,它是服务于pytorch深度学习框架的,主要用来构建计算机视觉模型. torchvision主要由以下几个部分构成: torchv ...

  9. 【零基础学深度学习】动手学深度学习2.0--tensorboard可视化工具简单使用

    1 引言 老师让我将线性回归训练得出的loss值进行可视化,于是我使用了tensorboard将其应用到Pytorch中,用于Pytorch的可视化. 2 环境安装 本教程代码环境依赖: python ...

  10. mxnet 动手学深度学习

    http://zh.gluon.ai/chapter_crashcourse/introduction.html 强化学习(Reinforcement Learning) 如果你真的有兴趣用机器学习开 ...

随机推荐

  1. PowerShell 重命名文件夹及删除空文件夹

    数据来源 $urldata 中的倒数第2列(子文件夹名称列)包含 /.\ 等特殊字符 某个文件夹重命名脚本 foreach ($i in 0..100) { # 提取路径部分 $basePath = ...

  2. 认识Redis集群

    概述 Redis单实例的架构,从最开始的一主N从,到读写分离,再到Sentinel哨兵机制,单实例的Redis缓存足以应对大多数的使用场景,也能实现主从故障迁移. 但是,在某些场景下,单实例存Redi ...

  3. AE错误代码

    错误代码 错误描述 错误名称 HRESULT:0x80040201 "Failed to load a resource (string, icon, bitmap, etc)." ...

  4. vue组件传参props

    传参格式,将需要传的参数以属性方式写在组件标签上 //组件标签 <zu a='参数一' b='参数b'></zu> 接收格式,在组件内 //props属性接收参数 props: ...

  5. ORM框架与数据库交互

    title: ORM框架与数据库交互 date: 2024/12/22 updated: 2024/12/22 author: cmdragon excerpt: 对象关系映射(Object-Rela ...

  6. maven:Could not transfer artifact from/to maven-default-http-blocker (http://0.0.0.0/): Blocked m...

    今天在拉完项目后拉取包的过程中,maven报错: Could not transfer artifact from/to 对应的包 maven-default-http-blocker (http:/ ...

  7. Qt编写地图综合应用39-覆盖物圆形

    一.前言 圆形的应用场景和多边形.矩形基本一致,支持的属性也是一致,比如可以设置线条的颜色.线条的粗细.线条透明度等.也是用来框起一块区域,然后根据坐标点集合,找到该区域内的标注点集合,比如指定某个县 ...

  8. 通过shadow来更改ubuntu密码,并且使用frp组网

    局域网搜索 pings 所有设备找到在线设备并登录网页 :: 作者:mao 时间:2024 11.30 @echo off chcp 65001 >nul :: 启用延迟环境变量扩展 setlo ...

  9. IntelliJ IDEA打开Spring Booot项目并使用Maven导入依赖包时提示错误:Cannot resolve com.gexin.platform:gexin-rp-sdk-http:4.1.0.5

    构建项目时报错:  Cannot resolve com.gexin.platform:gexin-rp-sdk-http:4.1.1.4 gexin-rp-sdk-http:jar:4.1.1.4总 ...

  10. 基于STC8G1K08的CH549单键进入USB下载模式实验

    一.实验原因 CH552或CH549进入USB下载,通常需要两个按键,一个控制电源的通断,一个通过串联电阻(一头接VCC或V33)冷启动时抬高UDP电平.时序上是这样的:断电--按下接UDP的轻触开关 ...