Day-12 Pytorch 介绍

  • 机器学习的路上仍然需要撰写程序来达到我们期望的效果,在前面的文章中,我们已经介绍了从机器学习的基本概念到深度学习会用到的特殊数学概念,那要如何实作呢?
  • 对於现在的基础 Linear Regression 跟 Linear Classification 的部分其实都不难,毕竟数学公式也不是那麽的复杂,真的要实作都可以用自己熟悉的程序语言直接去做撰写模拟,但是如果是更复杂的模型呢?或者你对程序语言并没有那麽丰富的经验却仍然想做机器训练,有没有工具能够帮你简化问题?
  • 有的,这就是 Machine Learning Framework 诞生的原因,他们的宗旨在简化复杂的数学过程,让使用者能更专注於建构模型本身,而非细节的数学重现,来达到快速建构,加速训练等等优势,当然,最重要的也有包含稳定性更好等等,也可以说,现在的机器学习已经慢慢离不开各种不同的 Framework 了,因为真的非常非常方便
  • Framework 有很多种,例如现在比较有名的 Pytorch、TensorFlow、scikit-learn 等等,各有优缺点,笔者自己也没有特别深入理解差异在哪,但是我们今天就挑其中一个来说明,那就是 Pytorch 了

About Pytorch

  • Pytorch 是一个基於 Torch 函式库所建立的 Open Source Machine Learning Framework,主要用於计算机视觉和自然语言处理等等应用。
  • 主要是由 Facebook 的人工智能研究实验室(FAIR)所开发,是一个基於 Python 所开发的框架
  • Pytorch 旨在提供几个核心功能
    • Deep Learning Primitives
    • Nueral Network Layer types
    • Activation & Loss Functions
    • Optimizers
  • 并且提供 GPU 接口实现加速运算,是个深受大家喜爱的机器学习框架

Install Pytorch

  • 我们要使用一个工具,首先就要先安装他,因此这里我们来说说如何安装 Pytorch

Pytorch 安装

  • 要安装 Pytorch 套件要先去 Pytorch 官网 进行安装

  • 选择你要的

    • Pytorch 版本
    • 你的作业系统
    • 安装的套件
      • Conda 需要 Anaconda,是目前最受欢迎的Python数据科学(Data Science)平台,但是环境庞大。
      • PIP 就是 python module
      • LibTorch
      • Source
    • 语言
      • Python
      • C++/Java
    • 是否需要 GPU CUDA
    • ==最後会帮你生成安装指令,只需要依照指令复制贴上到 terminal 就可以了==

CUDA

  • 如果需要跑 CUDA ,要先去 NVIDIA CUDA Downloads 去做下载


    :::danger

    • 请注意要安装你选择的 Pytorch 版本 CUDA,否则你的 Pytorch 会无法使用 CUDA


      :::

    • 版本不同请找这里 (这边以 CUDA 10.01 为例)



检查是否安装完成

Pytorch

  • 打开 Terminal
  • 输入 Python3 进入 Python3 的指令区
  • 输入 import torch 来检查是否成功安装 Pytorch
    • 如果安装失败,在这里会出现 module not found
    • 如果安装成功,会直接到下个指令列

CUDA

  • 打开 Terminal
  • 输入 Python3 进入 Python3 的指令区
  • 输入 import torch 来使用 Pytorch Module
  • 输入 torch.cuda.is_available() 来检查是否允许 CUDA
    • False 代表没有 CUDA
    • Ture 代表有 CUDA

Installation (Colab)

  • 找到 Google Colab

  • 使用 google account 登入之後即可使用

每日小结

  • 深度学习的神经网路往往异常复杂,单纯的程序撰写往往容易造成效率不彰或者过於复杂的问题产生,机器学习框架的诞生就是为了解决这部分的问题,因此在理解了基本的数学结构之後,如何灵活运用工具能替我们达到事倍功半的效果
  • Pytorch 是其中一种框架,他简洁乾净,受人喜爱,但仍有优缺点,笔者在这里的工作不是希望读者就局限於此,如果有兴趣当然也非常欢迎去玩玩看各种不同的框架,这里笔者希望的是引导读者去认识一种框架,并感受框架与一般程序撰写上的差异,希望能有所帮助
  • 下一堂课我们将开始聊聊如何使用 Pytorch 吧~

<<:  爬虫怎麽爬 从零开始的爬虫自学 DAY13 python条件判断语法 if else elif

>>:  D3JsDay12完成制作的压轴,画出图表座标轴

27. Vue 与 API 串接练习

课程练习 此阶段是实际串接 API 的差异,串接 API 後的一页式产品新增、删除、修改的页面。 先...

Android Studio初学笔记-Day22-ToolBar

Toolbar Toolbar是对於顶端横幅栏的设计,不同於之前介面设计的元件,对於整个程序来讲可以...

如果Pod应用程序出事情的话,还是做一下健康检查

检查後满血复原 当电脑在运行应用程序时,突然遇到当机,势必就需要重新启动,相对来说,当Pod里的Co...

[Day12]程序菜鸟自学C++资料结构演算法 – 树Tree

前言:相信大家对於「树」都不陌生,资料结构中的树其实是模拟现实生活中的树干、树枝和叶子,相当於树状结...

Day11-pod.jpg Pod建立与使用

在前一章介绍完如何安装kubectl以及利用kind建立node之後,接下来要开始介绍如何建立一个p...