官方文檔
Keras:基于Theano和TensorFlow的深度學習庫之中文文檔
http://blog.csdn.net/u010402786/article/details/51330803
http://keras-cn.readthedocs.io/en/latest/#theanotensorflow
https://github.com/fchollet/keras
https://github.com/MoyanZitto/keras-cn
https://groups.google.com/forum/#!forum/keras-users 谷歌論壇
http://keras-cn.readthedocs.io/en/latest/blog/cnn_see_world/
利用Keras解釋CNN的濾波器
http://keras-cn.readthedocs.io/en/latest/blog/autoencoder/
各種各樣的自動編碼器
http://keras-cn.readthedocs.io/en/latest/backend/
Keras后端
http://keras.io/layers/recurrent/
http://blog.keras.io/
https://groups.google.com/forum/#!forum/keras-users
https://tensortalk.com/-
Which is the most recommended framework for machine learning?
I personally love coding in Python, but with Theano, you have to write low-level neural networks. So combine Keras with Theano and it is very easy. However I am currently using Torch now (very similar to Keras) as installations are the simplest and I don’t use any of CNN or LSTM.
This examples gives a very good understanding of the implementation of Dynamic RNN in tensorflow. These code can be extended to create neural stack machine, neural turing machine, RNN-EMM in tensorflow.
這兩個之間推薦使用TensorFlow,因為都是基于Python的符號運算庫,TensorFlow顯然支持更好,Google也比高校有更多的人力投入。Theano的主要開發(fā)者現(xiàn)在都在Google,可以想見將來的工程資源上也會更偏向于TF一些。
Theano的一個優(yōu)勢在于代碼是在計算時生成并編譯的,所以理論上可以達到更高的速度(不需要運行時的polymorphism,而且如果寫得好的話可以fuse kernel),但是因為是學術(shù)實現(xiàn),沒有花大精力在優(yōu)化上面,所以實際速度并不占優(yōu)勢。另外現(xiàn)在大家都高度依賴于第三方庫比如說cudnn,所以比較速度已經(jīng)是上個時代的事情了,不必太在意。
另外吐槽一下,TensorFlow的分布式計算不是最快的,單機使用CPU作reduction,多機用基于socket的RPC而不是更快的RDMA,主要的原因是TF現(xiàn)有框架的抽象對于跨設備的通訊不是很友好(最近開始有一些重新設計的傾向,待考)。
在分布式上百度美研的解決方案要好得多,雖然沒有開源,但是Bryan Cantazaro很愿意分享技術(shù)細節(jié),混NVidia machine learning summit的大家應該都知道百度在高性能分布式深度學習上的造詣的確很深,作為競爭對手也必須要贊一下。另外,我沒有拿百度的錢,求不黑。
作者:賈揚清
鏈接http://www.zhihu.com/question/41907061/answer/99405271
Theano 和 tensorflow的速度都差不多的(慢),然而一看tensorflow的文檔就知道是個大公司的成熟產(chǎn)品,api文檔詳細,結(jié)構(gòu)和抽象都很合理。
再看看Theano (以及mxnet),一看就是幾個做科研的寫的,api文檔寫得非常隨意,真是難讀。
然而我還是選擇了mxnet,畢竟速度快內(nèi)存占用小,對于用自己打游戲的電腦來跑模型的人來說還是挺重要的。
作者:小格波
鏈接http://www.zhihu.com/question/41907061/answer/99391201



http://keras.io/faq/#how-can-i-visualize-the-output-of-an-intermediate-layer
-
Comparison of Keras vs. TFlearn
Both pieces of code run at approximately the same speed. In terms of accuracy, as you can see on the following screenshots, They give quite comparable results, with slightly better results for Keras.
Are you using TF 0.8+? The main reason that TF is sometimes slower than theano is that it is newer. It's currently much faster than after release but there's still room for optimization. This takes time, though.
Predicting sequences of vectors (regression) in Keras using RNN - LSTM
A complete guide to using Keras as part of a TensorFlow workflow

The purpose of Keras is to be a model-level framework, providing a set of "Lego blocks" for building Deep Learning models in a fast and straightforward way. Among Deep Learning frameworks, Keras is resolutely high up on the ladder of abstraction.
Tensorflow 和 theano在keras中 性能比較

In this tutorial, we will answer some common questions about autoencoders, and we will cover code examples of the following models:
a simple autoencoder based on a fully-connected layer
a sparse autoencoder
a deep fully-connected autoencoder
a deep convolutional autoencoder
an image denoising model
a sequence-to-sequence autoencoder
a variational autoencoder ...
A complete guide to using Keras as part of a TensorFlow workflow,If TensorFlow is your primary framework, and you are looking for a simple & high-level model definition interface to make your life easier, this tutorial is for you.
發(fā)布
討論
討論
討論
討論 細致
I already played with it quite a bit Kobol.But it's very slow to train. Being able to use GPUs is much more efficient to test models faster.
Before I started machine learning I was a node hacker so I feel your pain. Karpathy wrote some pretty cool convnet stuff for javascript which I'd encourage you to check out if you have the time. http://cs.stanford.edu/people/karpathy/convnetjs/
論壇討論
Now, if I'm reading this right, given a list of 10 sequences [0,1,2,3,4,5,6,7,8,9] split into batches [0,1,2,3,4] and [5,6,7,8,9], does it mean that the model expects the couples of sequences (0,5), (1,6), (2,7), etc., to be one after the other? It seems quite an unnatural thing to do, I'd expect the model to treat sequence 5 as the follow-up of sequence 4. Am I missing something important here?
博客

A simple sin?It's an easy signal, easy to train with low error.
A Keras tutorial actually uses a sin for their example
-
Building DeepNets using Keras
-
mxnet, keras, lasagne, tensorflow, which should I learn?
-
How do I build and run my first deep learning network?
-
Online Learning in Keras?
I have put up a basic code for Online Deep Learning in Keras.
https://github.com/anujgupta82/DeepNets/blob/master/Online_Learnin/Online_Learning_DeepNets.ipynb
The key difference is the way training is done - refer to cell number 9 and 17 in the notebook.
基本概念以及理解、DNN深度神經(jīng)網(wǎng)絡 的原理 以及 使用、RNN循環(huán)網(wǎng)絡原理以及使用、DLSTM 雙向長短期記憶網(wǎng)絡 、RSNN深度殘差網(wǎng)絡、RCNN 區(qū)域卷積網(wǎng)絡(視頻偵測分析人臉偵測區(qū)域檢測 )
Run-time Performance test of RNN and Streamlined RNN.
I'm trying to follow the Deep Autoencoder Keras example. I'm getting a dimension mismatch exception, but for the life of me, I can't figure out why. It works when I use only one encoded dimension, but not when I stack them.
The Advantage of using Theano for Developing Neural Networks
Various approaches have been considered for the initial assignment of network weights. One method is theXavier algorithm, which balances initial weight assignments such that attenuation or unstable signal growth does not occur initially in convolutional neural networks (CNNs) [2]. The weights in this method are assigned within a uniform distribution having bounding values determined by network properties. In recurring networks, additional mechanisms must be introduced in order to prevent signal attenuation. Memory elements can be positioned in the network, where they effectively sustain signal strength at each stage of recurrence. Two memory models are the Long Short Term Memory (LSTM) [3], and the Gated Recurring Unit (GRU) [4]. The GRU is simpler in structure compared to the LSTM and has been demonstrated to perform better under certain circumstances. The LSTM model, however, has been shown to produce the best network performance given more training time, and a certain constant initial bias parameter value.
The Keras Framework
Since we will be using an NVIDIA Tesla K80 GPU card, we want to examine a network which has sufficient complexity, such that using a GPU provides some practical benefit. Simple models, or smaller components of larger networks, such as Perceptrons, Autoencoders (Restricted Boltzmann Machines), or Multi-layer Perceptrons (MLPs), do not contain enough neurons and connecting weights to require the use of GPUs. These smaller networks can instead be solved on a CPU within reasonable time. Larger networks, inspired by biological models, such as LeNet[5], AlexNet[6], GoogLeNet[7], and other deep network architectures, do require GPUs in order to decrease compute time to a practical range. Modern neural networks designed in order to do image classification, or Natural Language Processing (NLP), require a GPU [8].
Building a Movie Review Sentiment Classifier using Keras and Theano Deep Learning Frameworks
代碼
Building an Image Classifier Using Keras and Theano Deep Learning Frameworks
代碼
Benchmarking Results for Modified LeNet