我刚刚开始学习用于从CS231进行深度学习的神经网络。我正在尝试在Python中实现神经网络。我正在使用Tensorflow或scikit-learn。这些库对于此应用程序有哪些优缺点?
我刚刚开始学习用于从CS231进行深度学习的神经网络。我正在尝试在Python中实现神经网络。我正在使用Tensorflow或scikit-learn。这些库对于此应用程序有哪些优缺点?
Answers:
在cs231n课程中,据我所知,您花费了大部分时间自己使用NumPy来实现神经网络!对我来说,那绝对是一次了不起的学习经历。
之后,在最后的任务中,您肯定需要查看TensorFlow(示例)或Pytorch(示例)以构建更复杂的网络。这些框架是由像CS231n之类的课程开发人员(研究人员和行业专家)建立的。
所述SciKit了解神经网络模块包括用于任一分类或消退,但没有发烧友前馈网络,诸如卷积网络(细胞神经网络),复发性网络(RNNs)或其他更奇异的组分,如单独的激活功能。
我同意Djib2011的观点,认为Keras是入门的绝佳选择-并允许您在TensorFlow,CNTK或Theano作为后端之间进行选择。Keras是围绕三个怪物框架的一个很好的统一包装,所以让您快速启动并运行。这是Keras与Pytorch的最近和有用的比较
一旦您熟悉Keras之类的工具,它就会比SciKit Learn中的简单产品更快地使用。
我知道您没有询问PyTorch,但是我想提到它,因为CS231n的最初创建者之一安德烈·卡帕蒂(Andrej Karpathy)表示这是最好的框架(来源1,来源2)。
tf.eager
api(与PyTorch相当)支持动态网络。