PyTorch深度学习框架——初识

本文介绍了PyTorch深度学习框架,对比了它与TensorFlow的不同,强调PyTorch在原型设计上的优势。文章详细讲解了PyTorch环境配置,包括如何使用清华镜像加速下载,并提供了张量的基本概念和创建方法,如直接创建、根据数值创建和从概率分布创建。
摘要由CSDN通过智能技术生成

PyTorch深度学习框架

简单介绍

在这里插入图片描述

PyTorch 是一个针对深度学习, 并且使用GPUCPU来优化的tensor library(张量库)。

在这里插入图片描述

学过Tensorflow的人或许有话说,这些事情Tensorflow也能做到的呀?那么pyTorch到底有什么可以很快在深度学习爱好者中迅速发展起来的呢?其实相比较于Tensorflow,两者还是存在不同之处——

  • PyTorch更有利于研究人员、爱好者、小规模项目等快速搞出原型。而TensorFlow更适合大规模部署,特别是需要跨平台和嵌入式部署时。
  • PyTorch本质上是Numpy的替代者,而且支持GPU、带有高级功能,可以用来搭建和训练深度神经网络。而TensorFlow可以看成是一个嵌入Python的编程语言。我们所写的TensorFlow代码会被Python编译成一张图,然后由TensorFlow执行引擎运行。
  • 对于部署上,小规模服务器两个框架都可以用,但是对于移动端嵌入式部署,Tensorflow会表现出更突出的优势。使用TensorFlow,部署在AndroidiOS平台时只需要很小的工作量,至少不必用Java或者C++重写模型的推断部分。对于高性能服务器端的部署,还有TensorFlow Serving能用。除了性能之外,TensorFlow Serving一个显著的优点是可以轻松的热插拔模型,而不会使服务失效。
PyTorch的环境配置

如果之前学习了Tensorflow的朋友们,应该对PyTorch的部署和安装会信手拈来。但是对于初学者来说,需要花一点时间进行摸索。

参考官网配置方法PyTorch官网可以进行安装。因为文件过大,下载过程中出现超时现象,使用清华镜像进行下载,速度比较块。当前操作系统Window10,其他系统可直接参考官网详细说明。

## 在安装之前需要确认cuda是否成功安装并在系统中使用
conda --version

## 下载相关文件,需要注意cuda和pyTorch的版本对应关系!!
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

## 安装
pip install pytorch cuda90 -c pytorch 
pip install torchvision

如果通过镜像下载不下来,可以直接到**torch下载链接**进行下载,然后执行安装命令就可以。

# 离线安装相对应的版本
python install torchvision-0.3.0-py2.py3-none-any.whl

python install torch-1.1.0-cp36-cp36m-win_amd64.whl #python36,windowns 64
  • 检测是否安装成功

    ## 检测是否安装成功
    python
    >> import torch
    >> import torchvision
    >> torch.cuda.is_available()
    True #显示True表示安装成功,并且可用
    
PyTorch的张量的基本介绍和创建
张量简介

张量在数学中,就是一个多维数组,它是标量、向量、矩阵的高维拓展。
在这里插入图片描述

标量是一个0维张量,向量是一个1维张量,矩阵是一个2维张量,但是有些高维数值就无法用标量、向量、矩阵来表示了,比如彩色图片的像素点,其中还包括RGB通道的,那么此时就需要进行高维拓展——张量

但是在PyTorch中张量不仅仅表示多维数组,也是自动求导的关键。其中VariablePyTorch-0.4.0版本之前的一个数据类型,虽然在0.4.0版本之后已经并入Tensor中,但是Variable这个数据类型还是需要了解的。这个数据类型和Tensorflow-1.0版本中的Variable还是有所不同之处。在Pytorch中,Variable主要是用于封装Tensor,进行自动求导

PyTorch的数据类型总共有9种数据类型,其中使用频率最高的是torch.float32或者torch.float

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值