如何入門Keras?

如何入門Keras?要具備什麼知識才能看懂Keras?


Keras 提供了一個更簡單,快捷的方式讓你可以在 TensorFlow 中構建並訓練模型,因為模型仍然是由 TensorFlow 引擎運行的,所以不會影響性能。所以如果你關心你自己的時間和生產效率的話,你就應該關注 Keras。

以下是Keras發明者Fran?ois Chollet的一些建議供參考。

如果你不是很熟悉深度學習和機器學習的話,你可能需要先確認下你是否學過下列教程,只要你有一些 Python 的背景,這些很基礎的課都很容易跟著學:

一個來自 CERN 的從零開始學神經網路和 Keras 的視頻教程(http://cds.cern.ch/record/2157570?ln=en)

來自 FastForwardLabs 的 Keras 「Hello world」(https://github.com/fastforwardlabs/keras-hello-world/blob/master/kerashelloworld.ipynb)

「通過 Keras,一步步用 Python 開發你的第一個神經網路」(http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/)

如果你已經了解了一些機器學習和深度學習的知識,那麼最快上手的方式是:

閱讀 Keras README(https://github.com/fchollet/keras/blob/master/README.md)

閱讀序列模型(https://keras.io/getting-started/sequential-model-guide/)

閱讀功能 API(https://keras.io/getting-started/functional-api-guide/)

閱讀一些關鍵的 Keras 代碼:

MLP(https://github.com/fchollet/keras/blob/master/examples/mnist_mlp.py)

Convnet(https://github.com/fchollet/keras/blob/master/examples/cifar10_cnn.py)

LSTM(https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py)

閱讀 Keras 博客里的教程:

使用少量數據構建圖象分類器(https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html)

使用預訓練詞嵌入(https://blog.keras.io/using-pre-trained-word-embeddings-in-a-keras-model.html)

使用 Keras 構建自動編碼器(https://blog.keras.io/building-autoencoders-in-keras.html) (https://blog.keras.io/building-autoencoders-in-keras.html%EF%BC%89)

然後通過參加 Kaggle 比賽來將你學到的技能應用到現實世界的問題。或者,這裡有一個 Keras 教程和項目的知Fran?ois Chollet - Session on Aug 15, 2016 - Quora 識庫(https://github.com/fchollet/keras-resources),你能在這裡找到很多教程和代碼實例。

參考資料:Fran?ois Chollet - Session on Aug 15, 2016 - Quora


keras有中文文檔啊,在這裡,Keras中文文檔,我就是看這個學keras的。

如果你還懶得點進去的話,那就搬出裡面最簡單的demo吧。

# 首先就是引入庫,並建立一個順序模型
from keras.models import Sequential
model = Sequential()
#再引入dense(也就是fc層)和激活函數層
from keras.layers import Dense, Activation
#再分別add fc,relu,fc,softmax層
model.add(Dense(units=64, input_dim=100))
model.add(Activation("relu"))
model.add(Dense(units=10))
model.add(Activation("softmax"))
#編譯模型,loss用交叉熵,優化器用sgd,評估用accuracy
model.compile(loss="categorical_crossentropy", optimizer="sgd", metrics=["accuracy"])
#載入訓練數據進行fit,和sklearn的方式一樣
model.fit(x_train, y_train, epochs=5, batch_size=32)
#對測試集進行evaluate
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)


這篇博客相信可以幫到你:

keras 手把手入門#1-MNIST手寫數字識別 深度學習實戰閃電入門


排名前三的答案很有意思, 分別代表了1英文文檔, 2中文文檔, 3從中文文檔中選取隻言片語作為教程,卻加上了自己的理解,以便讓讀更好的理解。 這三個答案可以讓學習者選擇更適合的資料。 贊


Keras快速上手——打造個人的第一個「聖誕老人」圖像分類模型

本文基於Python和Keras搭建的圖像分類模型,任務是判斷一張圖像中是否含有聖誕老人,模型借鑒於典型的Lenet網路,代碼講解詳細,適合快速上手。附件福利為作者新書Deep Learning for Computer Vision with Python的部分內容。


學習中,感覺中文文檔並不是很好的小白入門資料,


首先,買個N卡的電腦,能跑tensorflow或者theano的電腦。

其次,按官網教程去練手,


推薦閱讀:

scala和groovy的優勢有哪些?
python網路爬蟲(沒有使用scrapy)中如何克服封ip問題?
怎樣自學Python?
學習數據結構有什麼用?
為什麼 Python 中的複數形式是 (a + bj) 而不是 (a + bi) ?

TAG:Python | Python框架 | 神經網路 | 神經網路語言模型 |