(1)Pytorch——数值处理

参考于李沐“动手学深度学习”系列以及网上各路大佬的博客资料,感谢大家的分享,如错改,如侵删。

torch中的数值处理

数值处理是深度学习中极其重要的一部分,张量(tensor)是后续进行处理和计算的基本单位。张量表示一个由数值组成的数组,这个数组可能有多个维度。具有一个轴的张量对应数学上的向量(vector);

具有两个轴的张量对应数学上的矩阵(matrix);具有两个轴以上的张量没有特殊的数学名称。

创建和初始化

话不多说我们直接上代码:

# 张量定义
x = torch.arange(12)
y = torch.zeros((2, 3, 4)) #定义全零/全一张量
z = torch.rand(3, 4) #正态分布随机定义tensor elements # 改变张量形状
x.reshape(3, 4)
x.reshape(-1, 4) #通过-1可以实现形状的自动计算

tensor同样支持直接的+ - * / 甚至 == 运算符。我们也可以按某个指定轴将tensor联结到一起,代码如下。

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)

运行效果如图:



tensor所有元素求和:X.sum()

索引和切片

torch中的索引和切片原则基本和python一致,就不赘述了,如果Python基础不好的同学可以看一下我主页的另一篇Python的博客。

并且,numpy和torch定义的张量相互转换十分便捷:

A = X.numpy()
B = torch.tensor(A)

微积分、线性代数和概率论

微积分、线性代数和概率论中设计到的数学操作也是深度学习非常重要的一部分,毕竟工科尽头是理科。这块内容较多,笔者还在整理,稍后补齐(挖坑ing)。

数据预处理

到目前为止我们终于可以真正开始深度学习的工作了,数据预处理也是我们构建模型训练的第一步。

Pandas是python中常用的数据分析处理拓展包。

Dataset是Pytorch中的一个类,用于封装数据集的加载逻辑,使其可以被 DataLoader 有效加载。

Transformer是一个用于图像预处理的工具集。在计算机视觉方面应用较多。

这些我们在下一节线性神经网络中实战中会有所涉及,遇到具体的api也会做解释,大家一开始不必强硬的记住所有api,具体问题具体了解就好了。

(1) Pytorch深度学习—数值处理的更多相关文章

  1. PyTorch深度学习实践——反向传播

    反向传播 课程来源:PyTorch深度学习实践--河北工业大学 <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili 目录 反向传播 笔记 作业 笔记 在之前课程中介绍的线性 ...

  2. PyTorch深度学习实践——多分类问题

    多分类问题 目录 多分类问题 Softmax 在Minist数据集上实现多分类问题 作业 课程来源:PyTorch深度学习实践--河北工业大学 <PyTorch深度学习实践>完结合集_哔哩 ...

  3. 对比学习:《深度学习之Pytorch》《PyTorch深度学习实战》+代码

    PyTorch是一个基于Python的深度学习平台,该平台简单易用上手快,从计算机视觉.自然语言处理再到强化学习,PyTorch的功能强大,支持PyTorch的工具包有用于自然语言处理的Allen N ...

  4. PyTorch深度学习实践——处理多维特征的输入

    处理多维特征的输入 课程来源:PyTorch深度学习实践--河北工业大学 <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili 这一讲介绍输入为多维数据时的分类. 一个数据集 ...

  5. 【PyTorch深度学习60分钟快速入门 】Part1:PyTorch是什么?

      0x00 PyTorch是什么? PyTorch是一个基于Python的科学计算工具包,它主要面向两种场景: 用于替代NumPy,可以使用GPU的计算力 一种深度学习研究平台,可以提供最大的灵活性 ...

  6. 【PyTorch深度学习】学习笔记之PyTorch与深度学习

    第1章 PyTorch与深度学习 深度学习的应用 接近人类水平的图像分类 接近人类水平的语音识别 机器翻译 自动驾驶汽车 Siri.Google语音和Alexa在最近几年更加准确 日本农民的黄瓜智能分 ...

  7. PyTorch 60 分钟入门教程:PyTorch 深度学习官方入门中文教程

    什么是 PyTorch? PyTorch 是一个基于 Python 的科学计算包,主要定位两类人群: NumPy 的替代品,可以利用 GPU 的性能进行计算. 深度学习研究平台拥有足够的灵活性和速度 ...

  8. FB力挺的Pytorch深度学习 书本来了

    获得 fb首席科学家力挺的 pytorch教程 发布啦, 看截图 ![file](https://img2018.cnblogs.com/blog/1876748/201911/1876748-201 ...

  9. 【PyTorch深度学习60分钟快速入门 】Part5:数据并行化

      在本节中,我们将学习如何利用DataParallel使用多个GPU. 在PyTorch中使用多个GPU非常容易,你可以使用下面代码将模型放在GPU上: model.gpu() 然后,你可以将所有张 ...

  10. 【PyTorch深度学习60分钟快速入门 】Part4:训练一个分类器

      太棒啦!到目前为止,你已经了解了如何定义神经网络.计算损失,以及更新网络权重.不过,现在你可能会思考以下几个方面: 0x01 数据集 通常,当你需要处理图像.文本.音频或视频数据时,你可以使用标准 ...

随机推荐

  1. OpenPCDet复现过程记录

    0.前言 OpenPCDet项目之前我就复现过,一个很优秀的项目,这几天又需要用到这个项目,再次复现遇到了不少问题,特此记录复现的流程 1.环境准备 1.1.前置条件 以下是我安装的版本 CUDA 1 ...

  2. Vue 项目 毒鸡汤 壮士可要来一碗!

    项目灵感来自"聆听远方"的毒鸡汤 非常简单 适合 Vue 新童鞋 按国际惯例 先上图 来不及解释了 快把代码复制走 poison-soup.html <!DOCTYPE ht ...

  3. jenkins动态切换环境

    一.代码层实现动态切换 1.首先在conftest.py下声明pytest_addoption钩子函数,写法如下 def pytest_addoption(parser): # 设置要接收的命令行参数 ...

  4. JVM笔记二双亲委派机制

    JVM笔记二双亲委派机制 JVM双亲委派机制,简单来说:我爸是李刚,有事找我爸.用三个字来说:往上捅.不信?咱们一起看看. ​ JVM的双亲委派机制 JVM类加载器是什么机制?为什么使用这种机制(这种 ...

  5. 【YashanDB数据库】数据库运行正常,日志出现大量错误metadata changed

    问题现象 客户在麒麟kylin v10 sp1环境上部署YashanDB,运行正常, 但是在巡检中发现run.log中有大量错误日志文件metadata changed,需要排查原因 问题单:前置机大 ...

  6. a web app for deep learning - deep-learning-training-gui

    安装该项目 ENV: Win11 Anaconda 主要参考 https://www.tensorflow.org/install/pip 1. 安装 python 3.9, 在Anaconda 新建 ...

  7. 同步多个mysql 到一个

    了解大概 Ref: is it possible that canal set with multiple mysql database source 使用 canal https://dev.mys ...

  8. 总结篇4:redis 核心数据存储结构及核心业务模型实现应用场景

    总结篇4:redis 核心数据存储结构及核心业务模型实现应用场景 redis 和memcached 有什么区别?为什么在高并发下,单线程的redis 比多线程的效率高? mc 可以缓存图片和视频,re ...

  9. 【学习笔记】状压DP

    状态压缩DP 对于一个集合,他一有\(2^n\)个子集,而状态压缩就是枚举这些子集,每一个状态就是一个由\(01\)构成的集合,如果为\(0\)就表示不选当前的元素,否则就表示选.因为状态压缩将每一个 ...

  10. 浏览器原生组件 shadow DOM(已完成)

    https://developer.mozilla.org/zh-CN/docs/Web/Web_Components/Using_shadow_DOM Web components 的一个重要属性是 ...