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. vue中render: h => h(App)的详细解释

    2018年06月20日 10:54:32 H-L 阅读数 5369   render: h => h(App) 是下面内容的缩写:   render: function (createEleme ...

  2. JIRA绑定邮箱

    [管理-系统-外发邮件] 之前配置QQ邮箱没有成功,后来使用阿里邮箱一次就成功了 [保存]成功后可以测试一下

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

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

  4. LeetCode 216. 组合总和 III(Combination Sum III)

    题目描述 找出所有相加之和为 n 的 k 个数的组合.组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字. 说明: 所有数字都是正整数. 解集不能包含重复的组合. 示例 1: 输入 ...

  5. grep命令和tail命令

    写在前面的话: 最近参与了新项目开发,周期短,与自己负责的主要业务对接.业务复杂,时常出现bug,然额对于菜鸟的我,更是无从下手.其实最好的帮助就是 学会查看日志,关键是之前查看日志真是太少了,菜鸟一 ...

  6. nacos 使用笔记

    启动命令: 单机模式启动 start.sh -m standalone

  7. JDBC插入数据,获取自增长值

    package com.loaderman.demo.c_auto; public class Dept { private int id; private String deptName; publ ...

  8. WPF Visifire 图表控件

    Visifire WPF 图表控件 破解 可能用WPF生成过图表的开发人员都知道,WPF虽然本身的绘图能力强大,但如果每种图表都自己去实现一次的话可能工作量就大了, 尤其是在开发时间比较紧的情况下.这 ...

  9. Mybaits-Maven项目之逆向工程(代码自动生成)

    1.添加maven插件,让maven环境支持mybatis-generator组件 在pom.xml里面添加如下代码: <project xmlns="http://maven.apa ...

  10. Jmeter接口测试图文示例

    Jmeter接口测试图文示例 以getObjectByCode接口为例,用jmeter2.13来进行接口测试. 测试前准备: 测试工具及版本:jmeter 2.13 r1665067(须包含__MD5 ...