cs231n_2018_lecture08_notes_nn硬软件平台


  •    要点:神经 络的硬件和软件平台

在课件最开始总结了lecture07讲的关键:

  1. optimization的选择——SGD+Momentum,Nesterov,RMSProp,Adam
  2. dropout正则化可以看作是在  络的前向传播过程中加噪  ,同样思想的也有 stochastic pooling,fractional pooling,data augmentation…
  3. transfer learning注意其与finetune的区别,冻结“特征提取”的所有层

 

  • 硬件平台

CPU(central processing unit)、 GPU(graphics processing unit)、 TPU(tensor processing unit)

GPU编程:CUDA(on NVIDIA only)、 OpenCL(on anything), 注意采用parallel programming。

从硬盘读取数据过程中,注意以下几点:将所有数据读取到RAM中,使用SSD代替HDD硬盘,使用多个CPU线程预取数据。

  • 软件平台

framworks: Caffe, Caffe2, Torch, PyTorch, Theano, TensorFlow, MXNet, PaddlePaddle, CNTK ……

它们都可以运行在GPU上,能够自动计算梯度。重点介绍Facebook的Pytorch和Google的TensorFlow。

使用PyTorch的整个代码优化过程Tensors传统类numpy的前向+后向代码->Autograd简化后向传播过程代码->nn模块简化前向传播代码->optim模块集成的optimization方法,除了使用nn自带的层还可以自定义新的层模块,并且可以将其一并使用在nn.Sequential中。小技巧:使用DataLoader重新定义x和y集合,它不仅提供了集合的数据,还提供minibatching、shuffling、multithreading功能。当然可以利用torchvision使用已有的 络模型,比如torchvision.models.resnet101。同时PyTorch也提供了可视化工具:visdom

使用TensorFlow的整个代码优化过程与PyTorch类似,都是使用了集成的module,不同的是TensorFlow需要写定义出computation graph然后再在tf.Session()中反复运行,而PyTorch是在反复的运行中动态地构建graph。TenorFlow整个的官方资源都相当的完善,官 或github上可学习。TensorFlow的可视化工具:Tensorboard。

 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月18日
下一篇 2019年1月18日

相关推荐