热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度学习框架pytorch学习(一)准备环境

准备环境一、深度学习框架简介二、Tensorflow与Pytorch的比较三、安装开发环境一、深度学习框架简介1、Google阵营最早的是由加拿大团队开发的theano一个机器学习

准备环境

一、深度学习框架简介

二、Tensorflow与Pytorch的比较

三、安装开发环境

一、深度学习框架简介

《深度学习框架pytorch学习(一)准备环境》
《深度学习框架pytorch学习(一)准备环境》

1、Google阵营

最早的是由加拿大团队开发的theano一个机器学习库,现在已经停止更新。接着Google开发了Tensorflow,并且收购了keras这样一个高阶API的命名规范。keras可以使用不同的后端。主流的就是tensorflow2.0。

2、Facebook阵营

2002年推出Torch,2011年推出Torch7,但是这都是基于一种小众语言Lua,2018年将torch与caffe、caffe2强强联合推出pytorch1.0,基于C和C++的后端,2019年五月发布1.1版本。主推Pytorch。值得一提的是caffe是由华人贾扬清开发的。其中pytorch借鉴了一个日本的深度学习框架Chainer的API的设计规范。

3、Amazon AWS阵营

mxnet作为亚马逊的官方框架。值得一提的是mxnet是由华人陈天齐和李沐开发的。

4、微软阵营

微软的CNTK相对比较小众。

二、Tensorflow与Pytorch的比较

在众多的的学习框架下,pytorch和tensorflow作为最主流的两种框架,各自有着怎样的特点呢?pytorch是一种动态图,更加直观和容易理解。而tensorflow为静态图,首先要创建一张图,然后运行图。

pytorch更加适合新手入门,方便debug,而tensorflow更加适合工程项目。因此tensorflow(虽然马上要出tensorflow2.0,据说很好用。)转战pytorch。pytorch能做什么?

《深度学习框架pytorch学习(一)准备环境》
《深度学习框架pytorch学习(一)准备环境》

pytorch的生态:

《深度学习框架pytorch学习(一)准备环境》
《深度学习框架pytorch学习(一)准备环境》

pytorch的三个特点:

  • GPU加速

import torch
import time
print(torch.__version__)
print(torch.cuda.is_available())
a = torch.randn(10000, 1000)
b = torch.randn(1000, 2000)
t0 = time.time()
c = torch.matmul(a, b)
t1 = time.time()
print(a.device, t1-t0, c.norm(2))
device = torch.device('cuda')
a = a.to(device)
b = b.to(device)
# 包含了初始化的时间
t0 = time.time()
c = torch.matmul(a, b)
t2 = time.time()
print(a.device, t2-t0, c.norm(2))
t0 = time.time()
c = torch.matmul(a, b)
t2 = time.time()
print(a.device, t2-t0, c.norm(2))

输出结果:

1.1.0
True
cpu 0.17958474159240723 tensor(141219.6406)
# 因为第一次需要加载,所以以第二次的时间为准。
cuda:0 2.2960894107818604 tensor(141437.2656, device='cuda:0')
cuda:0 0.002928495407104492 tensor(141437.2656, device='cuda:0')

如果print(torch.cuda.is_available())返回False说明pytorch与cuda没有匹配成功。

  • 自动求导

import torch
from torch import autograd
x = torch.tensor(1.)
a = torch.tensor(1., requires_grad=True)
b = torch.tensor(2., requires_grad=True)
c = torch.tensor(3., requires_grad=True)
y = a**2 * x + b * x + c
print('before', a.grad, b.grad, c.grad)
grads = autograd.grad(y, [a, b, c])
print('after:', grads[0], grads[1], grads[2])

  • 常用的网络层
    • nn.linear
    • nn.Conv2d
    • mm.LSTM
    • nn.ReLU
    • nn.Sigmoid
    • nn.softmax
    • nn.CrossEntropyLoss
    • nn.MSE

三、安装开发环境

第一种安装方式:默认没有安装cuda

第一步:安装anaconda5.3.1,默认安装python3.7。

第二步:安装CUDA,搜索Cuda download,下载CUDA Tookit10.0 Download(根据python版本选择相应的CUDA版本),安装完成之后,打开cmd检测安装是否成功。输入nvcc -V,如果失败,需要配置环境变量。

第三步:配置环境变量。CUDA默认安装路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin,打开我的电脑属性,将上述路径添加到环境变量中。

第四步:安装pytorch。打开pytorch官方网站,点击相应的选择,以管理员权限运行cmd中执行下面自动生成的命令。

conda install pytorch torchvision cudatoolkit=9.2 -c pytorch -c defaults -c numba/label/dev

《深度学习框架pytorch学习(一)准备环境》
《深度学习框架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 --remove-key channels

安装完成以后,默认会安装一些附属的包,比如torchvision等。

第二种安装方式:默认已经安装cuda

第一步:首先去清华镜像下载pytorch

https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/

找到对应的版本下载即可,我的是python3.6,cuda9.0。

《深度学习框架pytorch学习(一)准备环境》
《深度学习框架pytorch学习(一)准备环境》

第二步:打开anaconda prompt,执行如下操作

(base) D:\software\Anaconda3>conda install --offline -n base pytorch-nightly-1.0.0.dev20190101-py3.6_cuda90_cudnn7_0.tar.b

(注意 base是默认的虚拟环境,回车等待安装即可)

离线安装是真的快~~~!!!

我是尾巴

之前就一直觉得tensorflow的debug让人极其不爽,虽然keras使用起来很方便,但是对于学习来说还是要学pytorch,20190902从今天开始。

本次推荐:

[pytorch中文官方文档](https://pytorch-cn.readthedocs.io/zh/latest/)

[windowns下配置tensorflow环境](https://www.cnblogs.com/zhangkanghui/p/10756630.html)

继续加油~


推荐阅读
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • Google最新推出的嵌入AI技术的便携式相机Clips现已上架,旨在通过人工智能技术自动捕捉用户生活中值得纪念的时刻,帮助人们减少照片数量过多的问题。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本教程详细介绍了如何使用 TensorFlow 2.0 构建和训练多层感知机(MLP)网络,涵盖回归和分类任务。通过具体示例和代码实现,帮助初学者快速掌握 TensorFlow 的核心概念和操作。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 在Ubuntu 16.04中使用Anaconda安装TensorFlow
    本文详细介绍了如何在Ubuntu 16.04系统上通过Anaconda环境管理工具安装TensorFlow。首先,需要下载并安装Anaconda,然后配置环境变量以确保系统能够识别Anaconda命令。接着,创建一个特定的Python环境用于安装TensorFlow,并通过指定的镜像源加速安装过程。最后,通过一个简单的线性回归示例验证TensorFlow的安装是否成功。 ... [详细]
  • 本文详细介绍如何通过Anaconda 3.5.01快速安装TensorFlow,包括环境配置和具体步骤。 ... [详细]
  • 本文详细介绍了非极大值抑制(Non-Maximum Suppression, NMS)算法的原理及其在目标检测中的应用,并提供了C++语言的具体实现代码。NMS算法通过筛选出高得分的检测框并移除重叠度高的其他检测框,有效提高了检测结果的准确性和可靠性。 ... [详细]
author-avatar
kyle_G_476
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有