python pytorch教程_基于PyTorch的深度学习入门教程

本文是关于Part1的内容。

Part1:PyTorch简单知识

PyTorch是一个基于Python的科学计算框架,用于进行深度学习相关研究。对于Python语言的入门,可以参考之前的两篇介绍Python&Numpy的博客。分别是Python& Numpy 教程(上) 和Python & Numpy 教程(下)。这里我们就直接介绍PyTorch中的基本操作。

1 Tensors

Tensors与numpy中的ndarray类似,但是Tensors支持GPU运算。首先来做一些简单的例子。

导入基本的package:

from __future__ import print_functionimport torch

构建一个5*3的未初始化的矩阵:

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

构建一个随机初始化矩阵:

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

获取矩阵的size:

print(x.size())

注意,torch.Size实际上是一个tuple,所以它支持相同的运算。

2 运算(Operations)

运算可以使用多种语法表示,我们以加法为例子来说明。

加法:语法1

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

加法:语法2

print(torch.add(x, y))

加法:给定输出的tensor

result = torch.Tensor(5, 3)torch.add(x, y, out=result)print(result)

加法:原地进行(in-place)的加法

# adds x to yy.add_(x)print(y)

注意,任何原地改变tensor的运算后边会后缀一个“_”,例如:x.copy_(y),x.t_(),会改变x的值。

你可以使用标准的numpy方式的索引。

print(x[:, 1])

3 NumpyBridge

将torch的Tensor转换为numpy的array,反之亦然。

torch的Tensor和numpy的array分享底层的内存地址,所以改变其中一个就会改变另一个。

将torch Tensor转换为numpy array

a = torch.ones(5)print(a)

b = a.numpy()print(b)

观察numpy array的值怎样改变。

a.add_(1)print(a)print(b)

将numpy array 转换为torch Tensor

看一下改变numpy array的值是怎样同时改变torch Tensor的。

import numpy as npa = np.ones(5)b = torch.from_numpy(a)np.add(a, 1, out=a)print(a)print(b)

CPU上的所有Tensors(除了CharTensor)支持到Numpy的双向转换。

4 CUDA Tensors

通过使用 .cuda 函数,Tensors可以被移动到GPU。

# let us run this cell only if CUDA is availableif torch.cuda.is_available():    x = x.cuda()    y = y.cuda()    x + y

本文版权归黑马程序员JavaEE学院所有,欢迎转载,转载请注明作者出处。谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值