pytorch入门

什么是pytorch

PyTorch 是一个基于 Python 的科学计算包,主要定位两类人群:

  • NumPy 的替代品,可以利用 GPU 的性能进行计算。
  • 深度学习研究平台拥有足够的灵活性和速度

张量

Tensors 类似于 NumPy 的 ndarrays ,同时 Tensors 可以使用 GPU 进行计算。

张量的构造

构造全零矩阵

1.导入

from __future__ import  print_function
import torch

2.构造一个5x3矩阵,不初始化。

x=torch.empty(5,3)
print(x)

3.输出

tensor([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])

构造随机初始化矩阵

x=torch.rand(5,3)
print(x)

构造指定类型的矩阵

构造一个矩阵全为 0,而且数据类型是 long.

Construct a matrix filled zeros and of dtype long:

from __future__ import  print_function
import torch x = torch.zeros(5, 3, dtype=torch.long)
print(x)

使用数据创建张量

x=torch.tensor([5.5,3])
print(x)
tensor([5.5000, 3.0000])

根据已有的tensor来创建tensor

x=torch.tensor([5.5,3])
print(x)
x=x.new_ones(5,3,dtype=torch.double)
print(x)
# 覆盖类型
x=torch.rand_like(x,dtype=torch.float) # 结果具有相同的大小
print(x) #输出自己的维度
print(x.size())

结果

tensor([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]], dtype=torch.float64)
tensor([[0.6122, 0.4650, 0.7017],
[0.6148, 0.9167, 0.0879],
[0.2891, 0.5855, 0.1947],
[0.3554, 0.2678, 0.5296],
[0.6527, 0.9537, 0.3847]])
torch.Size([5, 3])

张量的操作

张量加法

方式一

y=torch.rand(5,3);
print(x+y)
tensor([[0.7509, 1.1579, 0.1261],
[0.6551, 1.0985, 0.4284],
[1.4595, 0.9757, 1.2582],
[1.0690, 0.7405, 1.7367],
[0.6201, 1.3876, 0.8193]])

方式二

print(torch.add(x,y))
tensor([[0.8122, 1.0697, 0.8380],
[1.4668, 0.2371, 1.0734],
[0.9489, 1.3252, 1.2579],
[0.7728, 1.4361, 1.5713],
[0.7098, 0.9440, 0.4296]])

方式三

print(y.add_(x))

注意

注意 任何使张量会发生变化的操作都有一个前缀 '_'。例如:
x.copy_(y)
,
x.t_()
, 将会改变
x

索引操作

print(x[:,1])
tensor([0.1733, 0.5943, 0.9015, 0.1385, 0.2001])

改变大小

import torch

x=torch.rand(4,4)
y=x.view(16)
z=x.view(-1,8)#-1是不用填从其他的维度推测的
print(x.size(),y.size(),z.size())
torch.Size([4, 4]) torch.Size([16]) torch.Size([2, 8])

获取值

import torch
x=torch.rand(1)
print(x)
print(x.item())
tensor([0.5210])
0.5209894180297852

学习自http://pytorch123.com/SecondSection/what_is_pytorch/

【pytorch】学习笔记(一)-张量的更多相关文章

  1. [PyTorch 学习笔记] 1.4 计算图与动态图机制

    本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/computational_graph.py 计算图 深 ...

  2. [PyTorch 学习笔记] 4.3 优化器

    本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson4/optimizer_methods.py https: ...

  3. [PyTorch 学习笔记] 1.3 张量操作与线性回归

    本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/linear_regression.py 张量的操作 拼 ...

  4. [PyTorch 学习笔记] 1.2 Tensor(张量)介绍

    本章代码: https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson1/tensor_introduce1.py https: ...

  5. Pytorch学习笔记(二)---- 神经网络搭建

    记录如何用Pytorch搭建LeNet-5,大体步骤包括:网络的搭建->前向传播->定义Loss和Optimizer->训练 # -*- coding: utf-8 -*- # Al ...

  6. Pytorch学习笔记(一)---- 基础语法

    书上内容太多太杂,看完容易忘记,特此记录方便日后查看,所有基础语法以代码形式呈现,代码和注释均来源与书本和案例的整理. # -*- coding: utf-8 -*- # All codes and ...

  7. 【pytorch】pytorch学习笔记(一)

    原文地址:https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html 什么是pytorch? pytorch是一个基于p ...

  8. [PyTorch 学习笔记] 2.2 图片预处理 transforms 模块机制

    PyTorch 的数据增强 我们在安装PyTorch时,还安装了torchvision,这是一个计算机视觉工具包.有 3 个主要的模块: torchvision.transforms: 里面包括常用的 ...

  9. 【深度学习】Pytorch 学习笔记

    目录 Pytorch Leture 05: Linear Rregression in the Pytorch Way Logistic Regression 逻辑回归 - 二分类 Lecture07 ...

  10. Pytorch学习笔记(二)——Tensor

    一.对Tensor的操作 从接口的角度讲,对Tensor的操作可以分为两类: (1)torch.function (2)tensor.function 比如torch.sum(a, b)实际上和a.s ...

随机推荐

  1. 【WebStorm】前端工具开发利器webstrom专篇

    ---------------------------------------------------------------------------------[亲身实测] WebStorm混搭sv ...

  2. Latex里的引用定理只出现编号,不出现定理名?

    在前面先定义了: \newtheorem{prb}{Problem Formulation} 然后: \begin{prb} \label{problem} xx\end{prb}效果: Proble ...

  3. Vue_(基础)Vue中的指令

    Vue.js中文文档 传送门 Vue的指令:其实就是单个JavaScript表达式,一般来说是带有v-前缀   Vue指令: v-model:数据双向绑定: v-text:以纯文本方式显示数据: v- ...

  4. 访问zabbix首页无法正常登陆

    访问: http://IP/zabbix/ (1) You should see the first screen of the frontend installation wizard. (2) 检 ...

  5. Linux安装JDK、tomcat

    修改tomcat 相关配置必须重启后才生效 如何启动tomcat 在终端框内切换到tomcat 的bin路径下 启动tomcat:./startup.sh 关闭tomcat:./shutdown.sh ...

  6. 在Spring Boot快捷地读取文件内容的若干种方式

    引言: 在Spring Boot构建的项目中,在某些情况下,需要自行去读取项目中的某些文件内容,那该如何以一种轻快简单的方式读取文件内容呢?  基于ApplicationContext读取 在Spri ...

  7. 【面试】SSH 框架原理

    SSH 框架原理: 1.通过 Configuration().configure();读取并解析 hibernate.cfg.xml 配置文件2.由 hibernate.cfg.xml中的<ma ...

  8. Windows Server 2012R2 / 2008R2 修改密码策略(password policy)

    一.  针对于未添加到域中的机器 cmd中执行gpedit.msc 打开Local Group Policy Editor查看password policy设置,修改对应的password polic ...

  9. Oracle、SQLServer 删除表中的重复数据,只保留一条记录

    原文地址: https://blog.csdn.net/yangwenxue_admin/article/details/51742426 https://www.cnblogs.com/spring ...

  10. OSI的七层模型和TCP/IP的五层模型

    OSI七层模型: 应用层->表示层->会话层->传输层->网络层->数据链路层->物理层 TCP/IP五层模型: 应用层->传输层->网络层->数 ...