cs231n lecture8 笔记

这一讲节介绍了GPU的一些特性以及tensorflow, pytorch等一些其他深度学习框架,框架基本使用部分不会在这篇笔记中,主要是为了记录深度学习一些重要而基础的概念。

CPU vs GPU

CPU上有更少的核,但每个核更加强大,比较适合顺序处理,时钟频率更快

GPU的核数多得多,但单一核能力不如CPU,适合并行处理,如在矩阵计算中(拆成每个行列相乘)

建议:在比较CPU与GPU性能或者Deep Learning的性能时,需要尽量做到公平,比如,优化到最佳的CPU与GPU进行比较

显存

GPU有自己的显存,尽量使用其显存。训练过程中如果一直在调用硬盘上的训练数据,会拖慢计算速度,这也是设计算法时需要考虑的。

一些策略:数据全部读入内存(RAM),或者多线程提前提取数据给训练

Programming GPU

  • CUDA

类似C的程序,可以直接在GPU运行

Optimized APIs: cuBLAS, cuFFT, cuDNN, etc

  • OpenCL

不限于NVIDIA显卡,在NVIDIA硬件上会更慢

为什么使用深度学习框架

  1. 更快的开发与测试新的想法
  2. 可以自动计算梯度而不用自己写代码
  3. 可以高效的在GPU上运行

TensorFlow (static graph)

  • define computational graph
  • run the graph many times

PyTorch (dynamic graph)

  • Tensor
  • Autograd
  • Module

Static vs Dynamic Graphs

静态图(TensorFlow):

  • 建图一次,可以跑多次
  • 框架可以优化计算图

  • 建图后,可以被序列化,不再需要建图的代码就能运行,可以部署在别的地方
  • 需要学习自己的控制流,一些函数式编程思想
  • TF 1.7加入了eager execution用于动态图

动态图(PyTorch):

  • 可以像numpy操作一样设计控制流
  • 更容易实现想法

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值