Pytorch学习笔记(一)官方60min入门教程之张量

一.前言

前几天结束了机器学习的入门,难点不多,很多东西更像是为学深度学习打基础,然后这几天在学深度学习,刚开始基本还是机器学习学过的基础东西,到了后面各种算法的公式推导和底层原理,加之自己的状态不是很好(最近还是感觉蛮空虚的哈哈哈) ,所以根本学不进去(难点就是这样,少有分心便要听不懂了),所以我直接跳过了大部分的公式推导,不求甚解(现在才知道第一遍学的时候应当如此),大概了解算法的基本原理和干什么的就行,然后我迷迷糊糊看了几天吴恩达老师的深度学习的课之后,就开始学pytorch了,先敲起来,用实践带动理,后面用到什么学什么吧。

什么是 PyTorch?

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

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

开始学习

Tensors (张量)

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

二.练习代码

from __future__ import print_function
import torch

#构造一个5x3矩阵,不初始化。
# x=torch.empty(5,3)
# print(x)

#构造一个随机初始化的矩阵:
# x=torch.rand(5,3)
# print(x)

#构造一个矩阵全为 0,而且数据类型是 long.
# x=torch.zeros(5,3,dtype=torch.long)
# print(x)

#构造一个张量,直接使用数据:
# x = torch.tensor([5.5, 3])
# print(x)

#创建一个 tensor 基于已经存在的 tensor。
# x = x.new_ones(5, 3, dtype=torch.double)
# new_* methods take in sizes
#print(x)

#x = torch.randn_like(x, dtype=torch.float)
# override dtype!
# print('x:',x)
# result has the same size

#获取它的维度信息:
#print(x.size())

##################################  加法:
# y=torch.rand(5,3)
# print('y:',y)
#方式一:
#print(x+y)
#方式二:
#print(torch.add(x,y))

#加法: 提供一个输出 tensor 作为参数
# result=torch.empty(5,3)
# torch.add(x,y,out=result)
#print(result)

#加法: in-place
# adds x to y
# y.add_(x)
# print(y)

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

# 注意 任何使张量会发生变化的操作都有一个前缀 '_'。例如:
#即把y复制到x
#x.copy_(y)
#print('x after x.copy_(y):',x)

#转置
#print('x转置:',x.t_())
#你可以使用标准的  NumPy 类似的索引操作
#所有行,第二列
#print(x[:,1])
#第二行,所有列
#print(x[1,:])

#改变大小:如果你想改变一个 tensor 的大小或者形状,你可以使用 torch.view
# x = torch.randn(4, 4)
# #1行16列
# y = x.view(16)
# #print(y)
# z = x.view(-1, 8)  # the size -1 is inferred from other dimensions
# print(x.size(), y.size(), z.size())

'''
torch.randn:用来生成随机数字的tensor,这些随机数字满足标准正态分布(0~1)。
torch.randn(size),size可以是一个整数,也可以是一个元组。
'''
x = torch.randn(2)
print(x)
x=torch.randn(2,3)
print(x)
#.item()用于在只包含一个元素的tensor中提取值,注意是只包含一个元素,否则的话使用.tolist()
x=torch.randn(1)
print(x.item())

 

你可能感兴趣的:(#,PyTorch,pytorch,人工智能,深度学习,张量Tensor)