神经网络图像分类,最有效的解决方案/建议 [英] Neural Network Image Classification, The Most Efficient Solution / Suggestion

查看:370
本文介绍了神经网络图像分类,最有效的解决方案/建议的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在Matlab中建立了一个深度神经网络图像分类器程序(为每个例子给出1个输出,例如是否是汽车),使用梯度下降和反向传播算法。它是一个简单的前馈网络,有1或2个隐藏层。我使用获得的权重在一个nvcc C ++实时对象检测。

I have already built a deep neural network image classifier program in Matlab (gives 1 output for each example, such as is it a car or not), using gradient descent and back propagation algorithms. It is a simple feed forward network, with 1 or 2 hidden layers. I'm using the obtained weights in a nvcc C++ for real time object detection.

NN训练结果有相当好的准确性(超过%99.9,但不够) ,并且可以处理超过100,000个大小为32x32的图像文件。但是只有Matlab代码的问题是:它在每次训练中以局部最小值结束,因此需要许多不同的训练,但训练速度相当慢。

NN training results have quite a good accuracy (more than %99.9, but not enough), and can process more than 100,000 image files of size 32x32. But only problem with the Matlab code is: it ends up in local minimums in each training, so requires many different trainings but its training speed is quite slow.

慢慢工作Matlab NN训练代码,我试过:

Other than my slowly working Matlab NN training code, I have tried:

1)OpenCV 3.0.0,它可能有一个错误在虚拟float cv :: ml :: StatModel :: predict函数。所以我不能正确使用它。

1) OpenCV 3.0.0, it "probably" has a bug in virtual float cv::ml::StatModel::predict function at the moment. So I weren't able to use it properly.

2)试用了 OpenNN with gui ,但它甚至在装载和训练期间被卡住。我仍在努力解决这个问题。

2) Tried OpenNN with gui, but it even gets stuck during loading and training. I'm still working on to fix that.

3)选中 FANN ,但是只能找到用一个C ++编写的一个教程代码。可能需要相当多的时间让我掌握它的例子。

3) Checked FANN, but could only find "one" tutorial code written in C++. May take quite a time for me to master it with out examples.

4)我几个月前在Python尝试了Theano,它是相当可定制的,许多教程。但是从来没有尝试过训练图像文件。

4) I had tried Theano in Python a few months ago, it was quite customizable, and has quite many tutorials. But had never tried training image files with it.

5)我也可以将我的Matlab代码转换为nvcc C ++,并尝试共轭梯度法进一步加快。

5) I can also transfer my Matlab code to nvcc C++, and try conjugate gradients method to speed up further. But didn't try this yet, it is the last choice for me.

掌握每个路径可能需要相当长的时间,而且我有更多不同的作品做也。我应该采取哪条路径,还是你有另一个建议?谢谢

Mastering in each path may take quite a big time, and I have many more different works to do too. Which path should I take, or do you have another suggestion? Thank you

推荐答案

如果你有Matlab的经验,最简单的途径是通过VGG卷积神经网络实践请使用Matlab的开源MatConvNet工具箱: http://www.vlfeat.org/matconvnet/

If you have experience with Matlab, the easiest path is to go through the "VGG Convolutional Neural Networks Practical" and use their open source MatConvNet toolbox for Matlab: http://www.vlfeat.org/matconvnet/.

这篇关于神经网络图像分类,最有效的解决方案/建议的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆