本节对5个开源深度学习框架进行对比研究,主要侧重于3个维度研究:硬件支持率、速度和准确率、社区活跃性。他们分别是:TensorFlow、Caffe、Keras、Torch、DL4j 。
2.3.1 硬件支持率
本节研究的硬件利用率指不同开源深度学习框架对于不同CPU/GPU配置下对硬件的支持效率与通用性能表现。
表2.1展示了各框架对于不同硬件的通用支持性能。
2.3.2 速度和准确率
本节将梯度计算时间、前馈传播和反馈传播时间总和度量,不对各项进行细分。且所有试验数据基于CPU。
模型本节选取全链接神经网络(Fully Connected Neural Network, FCNN)作为深度学习框架速度测试模型。FCNN被视为前馈多层感知网络,意味着网络神经元之间的连接是单向的,不包含环状连接,因此容易获得时间数据。FCNN最主要的用途在于进行数据分类工作,因此适合对不同框架下的准确率进行对比。
数据集本节选取MNIST手写数字图片集作为FCNN的数据集对不同框架进行测试。MNIST数据集由6000张训练图像集和1000张测试图像集组成,均为28X28像素的手写数字图片。
测试方法本节目标在于对比测试FCNN类型的神经网络在不同框架上的收敛所耗时间以及预训练网络在不同框架上对于分类结果预测的准确性。主要考察以下方面:1.收敛速度;2.预测耗时;3.分类准确性;4.源代码规模;
为了评估模型的可扩展性,采用不同的扩展性因子来度量上述1-3点。神经网络结构采用两种尺度进行测试:1.使用相同的神经元数来改变网络的“深度”(见图2.10);2.使用相同的层数来改变网络的“宽度”(见图2.11);
图2.9 “深度”改变了的神经网络
图2.10 “宽度”改变了的神经网络
测试结果图2.11-图2.14展示了FCNN基于各框架使 用Tanh非线性激活函数的情况下的训练时间、预测时间和分类准确度。所有试验的Epoch设定为10。
图2.11 基于Tanh激活的FCNN在改变“深度”情况下的训练时间
图2.12 基于Tanh激活的FCNN在改变“深度”情况下的预测时间
图2.13 基于Tanh激活的FCNN在改变“深度”情况下的分类准确率
类似的,图2.14-图2.16展示了FCNN基于各框架使用ReLU非线形激活函数的情况下的训练时间。
图2.14 基于ReLU激活的FCNN在改变“深度”情况下的训练时间
图2.15 基于ReLU激活的FCNN在改变“深度”情况下的预测时间
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)