pytorch与tensorflow是两个近些年来使用最为广泛的机器学习模块。开个新坑记录博主学习pytorch模块的过程,不定期更新学习进程。 文章较为适合初学者,欢迎对代码和理解指点讨论,下面进入正题。

import torch
import numpy as npt1 = torch.tensor([1,2,3,4],dtype=torch.float64)
print(t1)
print(type(t1))
print(t1.size())

与numpy基本一致,tensor可以用于创建多维的array(张量)。

c = t1[0] + t1[1]
print(c)

对单元素进行加减乘除运算,得到的结果仍然是一个tensor。

x = torch.tensor(3.)
w = torch.tensor(4.,requires_grad=True) # only calculate the deriative when necessary
b = torch.tensor(5., requires_grad=True)y = w * x + b # 正向传播过程y.backward() # 反向传播,计算梯度的过程
print("dy/dx : "x.grad)
print("dy/dw : ",w.grad)
print("dy/db :"b.grad)


只有requires_grad属性为真的张量,在反向传播的过程中会计算梯度。

与numpy数组之间的转换

因为很多通常使用的数据,使用的是numpy矩阵的形式,pytorch也提供了一些函数用于将numpy数组转换为张量。
一般而言,将numpy ndarray转换为tensor的方法有以下三种 :

np_matrix = np.array([1,3,5,7,9])
test1 = torch.tensor(np_matrix)
test2 = torch.from_numpy(np_matrix)
test3 = torch.as_tensor(np_matrix)

实际测试中会发现,直接使用tensor构建的实例会新分配一个内存,而使用from_numpy与as_tensor两个方法与之前的矩阵是统一个内存,不会重新分配内存。因此在优化内存方面可以优先使用后两个函数。(tips : 在将numpy数组转换为tensor时需要注意精度问题,pytorch一般使用float32)

tensor的数据类型转换

使用 long float short int 等等方法,可以改变张量的数据类型,numpy方法可以将tensor转回numpy矩阵。

pytorch学习笔记 1. pytorch基础 tensor运算相关推荐

  1. PyTorch学习笔记:PyTorch初体验

    PyTorch学习笔记:PyTorch初体验 一.在Anaconda里安装PyTorch 1.进入虚拟环境mlcc 2.安装PyTorch 二.在PyTorch创建张量 1.启动mlcc环境下的Spy ...

  2. Pytorch学习笔记——Contiguous vs non-contiguous tensor

    文章目录 前言 正文 调用contiguous会导致内存复制操作吗? 前言 原文地址:https://discuss.pytorch.org/t/contigious-vs-non-contigiou ...

  3. PyTorch学习笔记(15) ——PyTorch中的contiguous

    本文转载自栩风在知乎上的文章<PyTorch中的contiguous>.我觉得很好,特此转载. 0. 前言 本文讲解了pytorch中contiguous的含义.定义.实现,以及conti ...

  4. PyTorch学习笔记(六)——Sequential类、参数管理与GPU

    系列文章\text{\bf 系列文章}系列文章 PyTorch学习笔记(一)--Tensor的基础语法 PyTorch学习笔记(二)--自动微分 PyTorch学习笔记(三)--Dataset和Dat ...

  5. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  6. PyTorch学习笔记(二):PyTorch简介与基础知识

    往期学习资料推荐: 1.Pytorch实战笔记_GoAI的博客-CSDN博客 2.Pytorch入门教程_GoAI的博客-CSDN博客 本系列目录: PyTorch学习笔记(一):PyTorch环境安 ...

  7. PyTorch学习笔记(四):PyTorch基础实战

    PyTorch实战:以FashionMNIST时装分类为例: 往期学习资料推荐: 1.Pytorch实战笔记_GoAI的博客-CSDN博客 2.Pytorch入门教程_GoAI的博客-CSDN博客 本 ...

  8. 深度学习入门之PyTorch学习笔记:多层全连接网络

    深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 3.1 PyTorch基础 3.2 线性模型 3.2.1 问题介绍 3.2.2 一维线性回归 3.2 ...

  9. Pytorch学习笔记总结

    往期Pytorch学习笔记总结: 1.Pytorch实战笔记_GoAI的博客-CSDN博客 2.Pytorch入门教程_GoAI的博客-CSDN博客 Pytorch系列目录: PyTorch学习笔记( ...

最新文章

  1. tf.clip_by_value() 用法
  2. FPGA之道(25)VHDL数据类型转换函数与数据对象的属性
  3. 磨刀——python及相关工具
  4. Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程
  5. 判断点是否在多边形内部
  6. pyinstaller下载_《快速掌握PyQt5》第二十五章 Pyinstaller打包
  7. 工作没做好,别人指出时最好装聋作哑
  8. cad连筋字体怎么安装_你还在为CAD带“?”号头疼吗?丨CAD2500份字体大全及安装方法丨...
  9. 向日葵显示无法连接到服务器,请修复电信卡使用向日葵远程无法连接服务问题!!!...
  10. jzxx2600野猫过生日
  11. 共阳极、共阴极数码管编码表(0~9、A~P……全亮)
  12. [URL ]pixiv.net p站用户账号注销网页网址(电脑web版)
  13. python3今日头条App电商数据抓取
  14. 封装CopyFileEx函数,实现文件复制中的暂停,控速,获取进度
  15. win10系统开启局域网共享
  16. 企业网络及应用层安全防护技术精要
  17. win10打开模拟器蓝屏
  18. 零基础入门推荐系统 - 新闻推荐实战-笔记四
  19. JavaWeb技术之JSP
  20. jenkins检查更新站点时出错:SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.secu

热门文章

  1. html注释引用公共头部_HTML注释和引用
  2. python string转int_我用Python搞资源 [ 02 ]
  3. python制作词典_我的词典我做主!python3.5生成自己的词性词典
  4. 用于连接mysql的java类_【考试】列举Java连接数据库用到的类有哪些。
  5. C语言 浅谈可变参数
  6. Linux系统编程---14(回收子线程,回收多个子线程,线程分离,杀死线程)
  7. gcc -l参数和-L参数
  8. C++11 标准新特性:Defaulted 和 Deleted 函数
  9. ffmpeg音视频基础知识
  10. 1002. 写出这个数 (20)