我知道有很多用于机器学习和深度学习的库,例如caffe,Theano,TensorFlow,keras等。但是对我来说,我似乎必须了解我想使用的神经网络的体系结构。
是否有一个(可视的)工具可以试验不同的网络设计并将其应用于自己的数据?
我正在考虑使用TensorFlow Playground之类的东西,但是具有n维数据和不同的图层类型。
提前致谢!
我知道有很多用于机器学习和深度学习的库,例如caffe,Theano,TensorFlow,keras等。但是对我来说,我似乎必须了解我想使用的神经网络的体系结构。
是否有一个(可视的)工具可以试验不同的网络设计并将其应用于自己的数据?
我正在考虑使用TensorFlow Playground之类的东西,但是具有n维数据和不同的图层类型。
提前致谢!
Answers:
是的,有很多工具可以通过拖放操作来设计和应用神经网络,其中之一是Deep Cognition Inc.开发的Deep Learning Studio,其强大的深度学习平台在生产中具有可视界面,可为数据提取提供全面的解决方案,模型开发,培训,部署和管理。深度学习Studio用户能够通过与TensorFlow,MXNet和Keras的强大集成来快速开发和部署深度学习解决方案。
他们的自动ML功能将自动生成神经网络模型。
对于Caffe,有一个称为Expresso的第三方工具(http://val.serc.iisc.ernet.in/expresso/),提供了一些GUI来帮助您入门。
此外,NVIDIA DIGITS(https://developer.nvidia.com/digits)也声称是一种交互式工具:
DIGITS简化了常见的深度学习任务,例如管理数据,在多GPU系统上设计和训练神经网络,通过高级可视化实时监视性能以及从结果浏览器中选择性能最佳的模型进行部署。DIGITS是完全交互式的,因此数据科学家可以专注于设计和培训网络,而不是编程和调试。
希望这可以帮助!
为您的问题找到最佳网络架构的过程是深度学习过程的核心-在这里,您可以使用先验知识来优化性能。
老实说,我真的没有看到您所建议的GUI如何实现此目的,例如:
为了能够评估给定的体系结构,您需要对数据进行网络训练(从头开始)。对于深度神经网络,此过程可能需要一段时间。因此,如果您每次单击都需要一个小时的计算,则几乎可以完全利用图形用户界面的全部优势。
大多数实现(caffe,TensorFlow)具有如此简单的语法,以至于更改体系结构(更改层,调整超参数)实际上只能归结为更改单个字符串或常量的值:您实际上不需要GUI。
另一方面,如果您正在寻找的是一种更系统的参数调整业务方法,则可以阅读《自动参数调整》。
我一直在研究拖放式神经网络用户界面(Ennui),该界面在浏览器上进行训练,并允许用户导出代码生成的Python。我们具有各种层,包括密集层,卷积层,maxpooling层,batchnorm层等。还支持构建分支模型,例如ResNets。我们还实现了一些常见的可视化。
您可以访问该网站,网址为https://math.mit.edu/ennui
开源实现位于https://github.com/martinjm97/ENNUI
欢迎提出意见或问题。