Keras官网,Python版本的TensorFlow深度学習API
什么是Keras?
Keras 是一个用 Python 编寫的高級神經網路 API,它能够以 TensorFlow, CNTK, 或者 Theano 作為后端運行。Keras 的開發重点是支持快速的實验。能够以最小的时延把你的想法轉换為實验結果,是做好研究的關键。
Keras官网: https://keras.io/zh/
如果你在以下情况下需要深度学習库,请使用 Keras:
允許简單而快速的原型設计(由于用户友好,高度模块化,可擴展性)。
同时支持卷积神經網路和循環神經網路,以及两者的组合。
在 CPU 和 GPU 上無缝運行。
指導原则
用户友好。 Keras 是為人类而不是為机器設计的 API。它把用户体验放在首要和中心位置。Keras 遵循減少认知困难的最佳實践:它提供一致且简單的 API,將常見用例所需的用户操作數量降至最低,并且在用户错誤时提供清晰和可操作的反馈。
模块化。 模型被理解為由独立的、完全可配置的模块构成的序列或圖。这些模块可以以尽可能少的限制组装在一起。特别是神經網路層、損失函數、優化器、初始化方法、激活函數、正则化方法,它们都是可以結合起来构建新模型的模块。
易擴展性。 新的模块是很容易添加的(作為新的类和函數),现有的模块已經提供了充足的示例。由于能够轻松地創建可以提高表现力的新模块,Keras 更加适合高級研究。
基于 Python 實现。 Keras 没有特定格式的單独配置文件。模型定義在 Python 代碼中,这些代碼紧凑,易于调試,并且易于擴展。
快速開始:30 秒上手 Keras
Keras 的核心資料結构是 model,一种组織網路層的方式。最简單的模型是 Sequential 顺序模型,它由多个網路層线性堆叠。對于更复雜的結构,你应该使用 Keras 函數式 API,它允許构建任意的神經網路圖。
Sequential 模型如下所示:
from keras.models import Sequential
model = Sequential()
可以简單地使用 .add() 来堆叠模型:
from keras.layers import Dense
model.add(Dense(units=64, activation=’relu’, input_dim=100))
model.add(Dense(units=10, activation=’softmax’))
在完成了模型的构建后, 可以使用 .compile() 来配置学習过程:
model.compile(loss=’categorical_crossentropy’,
optimizer=’sgd’,
metrics=[‘accuracy’])
如果需要,你还可以进一步地配置你的優化器。Keras 的核心原则是使事情變得相当简單,同时又允許用户在需要的时候能够进行完全的控制(終极的控制是源代碼的易擴展性)。
model.compile(loss=keras.losses.categorical_crossentropy,
optimizer=keras.optimizers.SGD(lr=0.01, momentum=0.9, nesterov=True))
现在,你可以批量地在訓练資料上进行迭代了:
# x_train 和 y_train 是 Numpy 數组 — 就像在 Scikit-Learn API 中一样。
model.fit(x_train, y_train, epochs=5, batch_size=32)
或者,你可以手动地將批次的資料提供给模型:
model.train_on_batch(x_batch, y_batch)
只需一行代碼就能評估模型性能:
loss_and_metrics = model.evaluate(x_test, y_test, batch_size=128)
或者對新的資料生成预测:
classes = model.predict(x_test, batch_size=128)
构建一个問答系統,一个圖像分类模型,一个神經圖靈机,或者其他的任何模型,就是这么的快。深度学習背后的思想很简單,那么它们的實现又何必要那么痛苦呢?
有關 Keras 更深入的教程,请查看:
開始使用 Sequential 模型
開始使用函數式 API
在代碼仓库的 examples 目錄中,你会找到更多高級模型:基于記忆網路的問答系統、基于棧式 LSTM 的文本生成等等。
数据评估
本站ai工具百寶箱提供的Keras都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由ai工具百寶箱实际控制,在2024年12月6日 上午11:41收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,ai工具百寶箱不承担任何责任。