官术网_书友最值得收藏!

1.2 TFLearn

TFLearn是一個模塊化和透明的深度學習庫,構建在TensorFlow之上,它為TensorFlow提供高層次API,目的是快速搭建試驗環境,同時保持對TensorFlow的完全透明和兼容性。

TFLearn具有以下特點https://zhuanlan.zhihu.com/p/25322066

? 容易使用和易于理解的高層次API用于實現深度神經網絡,附帶教程和例子。

? 通過高度模塊化的內置神經網絡層、正則化器、優化器等進行快速原型設計。

? 強大的輔助函數,訓練任意TensorFlow圖,支持多輸入、多輸出和優化器。

? 簡單而美觀的圖可視化,具有關于權值、梯度、特征圖等細節。

? 無需人工干預,可使用多CPU、多GPU。

本書的主要代碼都是基于TFLearn開發的。

1.安裝。

TFLearn的安裝推薦使用使用pip工具:

        pip install tflearn

如果需要使用源碼安裝,可以直接從GitHub上下載對應源碼:

        https://github.com/tflearn

然后進入TFLearn目錄安裝即可:

        python setup.py install

2.使用舉例。

TFLearn自帶MNIST數據,使用函數mnist.load_data接口,并且可以通過指定one_hot=True直接獲取使用獨熱編碼的標簽:

        X, Y, testX, testY = mnist.load_data(one_hot=True)

構造一個隱藏層為2層,每層核數分別為64、64,輸出層核數為10的多層感知機,使用fully_connected函數即可完成構造全連接網絡的工作,使用tflearn.input_data定義輸入數據大小。為了避免過擬合,每層之間使用Dropout函數進行部分丟失處理:

        # Building deep neural network
        input_layer = tflearn.input_data(shape=[None, 784])
        dense1 = tflearn.fully_connected(input_layer, 64, activation='tanh',
                                  regularizer='L2', weight_decay=0.001)
        dropout1 = tflearn.dropout(dense1, 0.8)
        dense2 = tflearn.fully_connected(dropout1, 64, activation='tanh',
                                  regularizer='L2', weight_decay=0.001)
        dropout2 = tflearn.dropout(dense2, 0.8)
        softmax = tflearn.fully_connected(dropout2, 10, activation='softmax')

使用多層感知機進行訓練,通過n_epoch設置訓練的輪數:

        # Training
        model = tflearn.DNN(net, tensorboard_verbose=0)
        model.fit(X, Y, n_epoch=20, validation_set=(testX, testY),
                show_metric=True, run_id="dense_model")

經過20輪的訓練后,準確率達到了99.54%:

        Training Step: 17200  | total loss: 0.43454 | time: 5.444s
        | SGD | epoch: 020 | loss: 0.43454- top3: 0.9685 | val_loss: 0.10618- val_
            acc: 0.9954-- iter: 55000/55000
主站蜘蛛池模板: 讷河市| 调兵山市| 阳曲县| 安仁县| 华容县| 奇台县| 威信县| 利津县| 茶陵县| 晋中市| 桦甸市| 延津县| 屏南县| 和田县| 化州市| 神农架林区| 内丘县| 鹤峰县| 定西市| 石渠县| 清涧县| 江川县| 临武县| 米易县| 麻栗坡县| 本溪| 宜黄县| 资阳市| 梅州市| 安溪县| 凤城市| 南阳市| 贡觉县| 凤城市| 布拖县| 荔波县| 永清县| 长治县| 娄烦县| 奉贤区| 嘉禾县|