加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

2019 深度学习工具汇总

发布时间:2019-01-31 10:46:09 所属栏目:移动互联 来源:Edison_G
导读:深度学习工具 深度学习的进步也严重依赖于软件基础架构的进展。软件库如:Torch(2011),Theano(2012), DistBelief(2012),PyLearn2 (2013),Caffe(2013), MXNet (2015) 和 TensorFlow(2015) 都能支持重要的研究项目或商业产品。 如果说深度学习的话,我个人接
副标题[/!--empirenews.page--]

 深度学习工具

深度学习的进步也严重依赖于软件基础架构的进展。 软件库如: Torch(2011),  Theano(2012), DistBelief(2012), PyLearn2 (2013),  Caffe(2013), MXNet (2015) 和 TensorFlow(2015) 都能支持重要的研究项目或商业产品。

如果说深度学习的话,我个人接触是在2015年,这个技术其实被雪藏了很久,在2012年又得到了完全的爆发,至今已经是AI界的主流,那今天就来说说最实际也是接触最多的一个环节,那就是框架,也可以说是工具。

大家所了解的工具不知道有哪些???

今天,我以我使用过的工具来和大家分享,希望你们可以找到自己喜欢的工具,与其一起去“ 炼丹 ”(不知道这个意思的,百度下)嘿嘿!

2019 深度学习工具汇总

在我研究生入学以来,接触的深度学习工具一只手就可以数过来,有兴趣的小伙伴可以深入搜索,网上还是有很多不同说法。我接下来根基我自己的实际体验而大家说说深度学习工具这些事。 Matlab

2019 深度学习工具汇总

Matlab

2019 深度学习工具汇总

刚开始接触深度学习,第一个使用的工具就是:DeepLearnToolbox,一个用于深度学习的Matlab工具箱。 深度学习作为机器学习的一个新领域,它的重点是学习深层次的数据模型,其主要灵感来自于人脑表面的深度分层体系结构,深度学习理论的一个很好的概述是学习人工智能的深层架构。这个工具箱比较简单,当时我就做了一个手写数字和人脸分类(AR人脸数据库)。主要包括如下:

NN :前馈BP神经网络的库

CNN :卷积神经网络的库

DBN :深度置信网络的库

SAE :堆栈自动编码器的库

CAE :卷积自动编码器的库

Util :库中使用的效用函数

Data :数据存储

tests :用来验证工具箱正在工作的测试

案例如下

  1. rand('state',0)     
  2.   
  3. cnn.layers = {  
  4.   
  5. struct('type', 'i')            %输入  
  6.   
  7. struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5)  %卷积层  
  8.   
  9. struct('type', 's', 'scale', 2)    %下采样层  
  10.   
  11. struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %卷积层  
  12.   
  13. struct('type', 's', 'scale', 2)    %下采样层  
  14.   
  15. };     
  16.   
  17. cnn = cnnsetup(cnn, train_x, train_y);   opts.alpha = 1;     
  18.   
  19. opts.batchsize = 50;     
  20.   
  21. opts.numepochs = 5;     
  22.   
  23. cnn = cnntrain(cnn, train_x, train_y, opts); save CNN_5 cnn;  
  24.   
  25. load CNN_5;     
  26.   
  27. [er, bad]  = cnntest(cnn, test_x, test_y);   figure; plot(cnn.rL);     
  28.   
  29. assert(er<0.12, 'Too big error');  

运行界面比较单一:

2019 深度学习工具汇总

PyTorch

这个Pytorch库的话,其实我没怎么用,就是随便试玩了下,个人感觉还是不要碰了,没啥意思,我接下来也就简单聊一下。 他是一个基于Python的科学计算包,目标用户有两类。一类是 为了使用GPU来替代numpy;另一类是一个深度学习援救平台:提供最大的灵活性和速度。

2019 深度学习工具汇总

以深度学习来说,可以使用 torch.nn 包来构建神经网络。已知道autograd包,nn包依赖autograd包来定义模型并求导。一个nn.Module包含各个层和一个faward(input)方法,该方法返回output。

案例如下

  1. import torch from torch.autograd 
  2.  
  3. import Variable import torch.nn   
  4.  
  5. import torch.nn.functional as F   
  6.  
  7. class Net(nn.Module):      
  8.  
  9. def __init__(self):          
  10.  
  11. super(Net, self).__init__()          
  12.  
  13. # 1 input image channel, 6 output channels, 5*5 square convolution          
  14.  
  15. # kernel           
  16.  
  17. self.conv1 = nn.Conv2d(1, 6, 5)                  
  18.  
  19. self.conv2 = nn.Conv2d(6, 16, 5)          
  20.  
  21. # an affine operation: y = Wx + b              
  22.  
  23. self.fc1 = nn.Linear(16 * 5 * 5, 120)              
  24.  
  25. self.fc2 = nn.Linear(120, 84)              
  26.  
  27. self.fc3 = nn.Linear(84, 10)       
  28.  
  29. def forward(self, x):          
  30.  
  31. # max pooling over a (2, 2) window 
  32.  
  33. x = F.max_pool2d(F.relu(self.conv1(x)), (2, 2)) 
  34.  
  35. # If size is a square you can only specify a single number 
  36.  
  37. x = F.max_pool2d(F.relu(self.conv2(x)), 2) 
  38.  
  39. x = x.view(-1, self.num_flat_features(x)) 
  40.  
  41. x = F.relu(self.fc1(x)) 
  42.  
  43. x = F.relu(self.fc2(x)) 
  44.  
  45. x = self.fc3(x)          
  46.  
  47. return x       
  48.  
  49. def num_flat_features(self, x):          
  50.  
  51. size = x.size()[1:] 
  52.  
  53. # all dimensions except the batch dimension          
  54.  
  55. num_features = 1          
  56.  
  57. for s in size:              
  58.  
  59. num_features *= s          
  60.  
  61. return num_features 
  62.  
  63. net = Net()  
  64.  
  65. print(net) 

具体操作和细节过程,有兴趣的可以抽空去玩玩!

Caffe

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读