文档章节

用Mxnet和Tensorflow做简单多分类器的对比测试

q
 qinhui99
发布于 2017/04/06 21:18
字数 713
阅读 849
收藏 8

几个月前,刚开始接触mxnet和Tensorflow时,编写的自己案例使用的就是简单的数据集iris。因为它足够简单(只有3个分类,150条数据),很容易分析。 和很多研究者不太一样,他们只是跑跑训练程序,看看打印出来的train accuracy就结束了。我训练完模型后,还喜欢继续编一些自定义的数据,然后让模型去做预测或分类,看看模型是否足够好。对Iris数据集,我用mxnet实现了一个MLP模型进行分类。在训练完后(打印出来的train accuracy在0.9以上的),马上做一些自定义数据的预测,结果发现预测分类结果很差,没法用。当时觉得是自己不熟悉Mxnet ,所以才会有这样的结果,就不管了。可是,后来转为用Tensorflow实现类似的MLP模型对iris数据集进行分类,然后预测同样的自定义数据,突然发现Tensorflow的代码表现很不错。这种强烈对比差距让我很惊讶,于是又用mxnet和Tensorflow编写MLP模型测试另外两个数据集,结果还是如此(Tensorflow基本可以分类,mxnet不行)。我把一些测试的数据列出来:

 

测试1. sonar dataset(两个标签值,60个特征,208条数据。):

a)Tensorflow codes :

train Accuracy: 0.833333

测试4个新的数据:

New samples accuracy: 0. 50000

 

b) mxnet codes:

train Accuracy: 0.6

测试4个新的数据:

('New samples accuracy:', 0.25)

 

测试2. iris dataset(三个标签值,4个特征,150条数据):

a)Tensorflow codes :

train Accuracy: 1.0

测试10个新的数据:

New samples accuracy: 0.900000

 

b) mxnet codes:

train Accuracy: 0.975

测试10个新的数据:

('New samples accuracy:', 0.20)

 

测试3. 自定义数据集(三个标签值,3个特征,10000条数据。这个数据集是我编的,其中前两个特征是无关紧要的,第三列特征才是决定因素。故意这样设置,让神经网络去自己判断谁最重要。

a)Tensorflow codes :

train Accuracy: 0.9

测试10个新的数据:

New samples accuracy: 0.700000.

 

b) mxnet codes:

train Accuracy: 1.0

测试10个新的数据:

New samples accuracy: 0.3.

 

可以看到,用mxnet编写的MLP模型对3个不同文本数据集进行新数据分类的精确度很差,没法用。Tensorflow编写的MLP模型能用。mxnet为啥表现不佳呢?我怀疑mxnet代码有bug,特别是模型定义和模型训练这块的代码。在mxnet的github上提了这个问题,但是没人理睬。算了。没找出bug前还是用Tensorflow做这些简单分类的分类器吧。

 

相关的测试对比代码放在这里:

https://github.com/qinhui99/mxnetSamples.git

 

有兴趣的可以去看看。

 

© 著作权归作者所有

q
粉丝 66
博文 73
码字总数 34091
作品 0
深圳
程序员
私信 提问
机器学习和深度学习的最佳框架大比拼

在过去的一年里,咱们讨论了六个开源机器学习和/或深度学习框架:Caffe,Microsoft Cognitive Toolkit(又名CNTK 2),MXNet,Scikit-learn,Spark MLlib和TensorFlow。如果把网撒得大些,可...

凝小紫
2017/02/05
29.5K
4
mxnet使用mxboard实现网络和训练过程可视化

版权声明:原创文章如需转载,请在左侧博主描述栏目扫码联系我并取得授权,谢谢 https://blog.csdn.net/u012234115/article/details/80736531 mxnet作为一个强大的机器学习工具,一直缺乏像t...

踏莎行hyx
2018/06/19
0
0
MXNet 宣布支持 Keras 2,可更加方便快捷地实现 CNN 及 RNN 分布式训练

雷锋网(公众号:雷锋网) AI 研习社按,近期,AWS 表示 MXNet 支持 Keras 2,开发者可以使用 Keras-MXNet 更加方便快捷地实现 CNN 及 RNN 分布式训练。AI 研习社将 AWS 官方博文编译如下。 Ke...

孔令双
2018/05/23
0
0
高性能分布式深度学习训练框架 - BytePS

BytePS 是字节跳动开源的高性能分布式深度学习训练框架,官方宣称 BytePS 在性能上颠覆了过去几年 allreduce 流派一直占据上风的局面,超出目前其他所有分布式训练框架一倍以上的性能,且同时...

匿名
06/27
3K
2
深度学习框架 MXNet 成为 Apache 孵化器项目

MXNet 是一个轻量级、可移植、灵活的分布式深度学习框架,2017 年 1 月 23 日,该项目进入 Apache 基金会,成为 Apache 的孵化器项目。 MXNet 项目由 DMLC(Distributied (Deep) Machine ...

局长
2017/02/06
3.3K
5

没有更多内容

加载失败,请刷新页面

加载更多

【2019年8月版本】OCP 071认证考试最新版本的考试原题-第9题

Choose three Which three statements are true about views in an Orade batabase? A) A SELECT statement cannot contain a where clause when querying a view contaning a WHERE clause ......

oschina_5359
40分钟前
5
0
[JSON].connectionValue()

本文转载于:专业的前端网站➭[JSON].connectionValue() 语法: [JSON].connectionValue() 说明: 将对象的所有键值接连成新的字符串值 返回: [String] 示例: Set a = toJson()c = Array(1,2,...

前端老手
41分钟前
4
0
云计算给大数据分析工具带来了什么

如果大数据是一块蛋糕,那么大数据分析工具就是切蛋糕的刀叉。人们都期待着能用“刀叉”从大数据中挖出自己想要的“价值”,因此大数据分析工具被人们寄予厚望。而云计算技术的兴起似乎又给大...

青果云小潘
43分钟前
4
0
centOS7下es的使用

安装启动es7.4.0 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.4.0docker run -d -p 9200:9200 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elast......

无畏的老巨人
51分钟前
4
0
iptables删除命令中的相关问题

最近在做一个中间件的配置工作,在配置iptables的时候,当用户想删除EIP(即释放当前连接),发现使用iptables的相关命令会提示错误。iptables: Bad rule (does a matching rule exist in t...

xiangyunyan
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部