自動機器學習框架之三 Auto Keras

2021-09-18 04:35:10 字數 1371 閱讀 1073

對於訓練深度學習,設計神經網路結構是其中技術含高最高的任務,優秀的網路架構往往依賴建構模型的經驗,專業領域知識,以及大量的算力試錯。實際應用中往往基於類似功能的神經網路微調生成新的網路結構。

auto-keras是乙個離線使用的開源庫,用於構建神經網路結構和搜尋超引數,支援rnn,cnn神經網路,它使用了高效神經網路搜尋enas,利用遷移學習的原理將在前面任務中學到的權值應用於後期的模型中,效率相對較高。除了支援keras,它還提供tensorflow他pytorch的版本。

$ apt install graphviz 

$ pip3 install pydot

$ pip3 install autokeras

$ git clone
from keras.datasets import mnist

from autokeras import imageclassifier

from autokeras.constant import constant

import autokeras

from keras.utils import plot_model

if __name__ == '__main__':

(x_train, y_train), (x_test, y_test) = mnist.load_data()

x_train = x_train.reshape(x_train.shape + (1,))

x_test = x_test.reshape(x_test.shape + (1,))

clf = imageclassifier(verbose=true, augment=false)

clf.fit(x_train, y_train, time_limit=10 * 60)

clf.final_fit(x_train, y_train, x_test, y_test, retrain=true)

y = clf.evaluate(x_test, y_test)

print(y * 100)

clf.export_keras_model('model.h5')

plot_model(clf, to_file='model.png')

# 返回值: 99.21

# 謝彥的技術部落格

上述程式在我的機器上執行後訓練出了17層網路,其中包括dropout層,池化層,卷積層,全連線層等,程式以方式將描述資訊儲存在model.png中,下面擷取了中的部分層作為示例,如下圖所示:

自動機器學習框架之一 Auto Sklearn

當我們做完了特徵工程之後,就可以代入模型訓練和 對於模型的選擇及調參,主要根據分析者的經驗。在具體使用時,經常遇到同一批資料,同一種模型,不同的分析者得出的結果相差很多。前面學習了幾種常用的機器學習方法原理以及適用場景,對於完全沒有經驗的開發者,只要有足夠時間,嘗試足夠多的演算法和引數組合,理論上也...

自動機器學習框架之二 AutoML

auto ml auto machine learning 自動機器學習是個寬泛的概念,有不只乙個軟體以此命名,本篇介紹的auto ml並非谷歌基於雲平台的 automl。本篇介紹的auto ml也是一款開源的離線工具,它的優勢在於簡單快速,且輸出資訊比較豐富。它預設支援keras tensorfl...

自動機器學習簡述(AutoML)

一 為什麼需要自動機器學習 二 超引數優化 hyper parameter optimization 三 元學習 meta learning 四 神經網路架構搜尋 neural architecture search 五 自動化特徵工程 六 其它自動機器學習工具集 對於機器學習的新使用者而言,使用機...