<strike id="ddzbl"><span id="ddzbl"><em id="ddzbl"></em></span></strike>
    <font id="ddzbl"><sub id="ddzbl"><mark id="ddzbl"></mark></sub></font>

      <address id="ddzbl"></address>
      <listing id="ddzbl"></listing>

        <track id="ddzbl"><span id="ddzbl"><progress id="ddzbl"></progress></span></track>

        首頁人工智能技術資訊正文

        tf.keras 實現深度學習

        更新時間:2022-02-15 來源:黑馬程序員 瀏覽量:

        tf.keras是TensorFlow 2.0的高階API接口,為TensorFlow的代碼提供了新的風格和設計模式,大大提升了TF代碼的簡潔性和復用性,官方也推薦使用tf.keras來進行模型設計和開發。

        tf.keras是什么

        常用模塊

        tf.keras中常用模塊如下表所示:


        模塊概述
        activations激活函數
        applications預訓練網絡模塊
        Callbacks在模型訓練期間被調用
        datasetstf.keras數據集模塊,包括boston_housing,cifar10,fashion_mnist,imdb ,mnist
        layersKeras層API
        losses各種損失函數
        metircs各種評價指標
        models模型創建模塊,以及與模型相關的API
        optimizers優化方法
        preprocessingKeras數據的預處理模塊
        regularizers正則化,L1,L2等
        utils輔助功能實現

        常用方法

        深度學習實現的主要流程:1.數據獲取,2,數據處理,3.模型創建與訓練,4 模型測試與評估,5.模型預測。

        深度學習常用方法

        1.導入tf.keras

        使用 tf.keras,首先需要在代碼開始時導入tf.keras。

        import tensorflow as tf
        from tensorflow import keras

        2.數據輸入

        對于小的數據集,可以直接使用numpy格式的數據進行訓練、評估模型,對于大型數據集或者要進行跨設備訓練時使用tf.data.datasets來進行數據輸入。

        3.模型構建

        • 簡單模型使用Sequential進行構建
        • 復雜模型使用函數式編程來構建
        • 自定義layers

        4.訓練與評估

        • 配置訓練過程:
        # 配置優化方法,損失函數和評價指標
        model.compile(optimizer=tf.train.AdamOptimizer(0.001),
                      loss='categorical_crossentropy',
                      metrics=['accuracy'])

        模型訓練:

        # 指明訓練數據集,訓練epoch,批次大小和驗證集數據model.fit/fit_generator(dataset, epochs=10, 
                                batch_size=3,
                  validation_data=val_dataset,
                  )

        模型評估:

        # 指明評估數據集和批次大小
        model.evaluate(x, y, batch_size=32)

        模型預測:

        # 對新的樣本進行預測
        model.predict(x, batch_size=32)

        5.回調函數(callbacks)

        回調函數用在模型訓練過程中,來控制模型訓練行為,可以自定義回調函數,也可使用tf.keras.callbacks 內置的 callback :

        ModelCheckpoint:定期保存 checkpoints。 LearningRateScheduler:動態改變學習速率。 EarlyStopping:當驗證集上的性能不再提高時,終止訓練。 TensorBoard:使用 TensorBoard 監測模型的狀態。

        6.模型的保存和恢復

        只保存參數:

        # 只保存模型的權重
        model.save_weights('./my_model')
        # 加載模型的權重
        model.load_weights('my_model')
        保存整個模型:
        # 保存模型架構與權重在h5文件中
        model.save('my_model.h5')
        # 加載模型:包括架構和對應的權重
        model = keras.models.load_model('my_model.h5')





        猜你喜歡:

        Numpy數組運算【黑馬程序員】

        SIFT算法原理:SIFT算法詳細介紹

        線性回歸定義和線性回歸方程公式

        黑馬程序員Ai人工智能開發培訓班

        分享到:
        在線咨詢 我要報名

        CHINESE熟女老女人HD

          <strike id="ddzbl"><span id="ddzbl"><em id="ddzbl"></em></span></strike>
          <font id="ddzbl"><sub id="ddzbl"><mark id="ddzbl"></mark></sub></font>

            <address id="ddzbl"></address>
            <listing id="ddzbl"></listing>

              <track id="ddzbl"><span id="ddzbl"><progress id="ddzbl"></progress></span></track>