最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Keras 中加入lambda層無法正常載入模型問題

 更新時間:2020年06月16日 16:45:36   作者:機器玄學實踐者  
這篇文章主要介紹了解決Keras 中加入lambda層無法正常載入模型問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

剛剛解決了這個問題,現在記錄下來

問題描述

當使用lambda層加入自定義的函數后,訓練沒有bug,載入保存模型則顯示Nonetype has no attribute 'get'

問題解決方法:

這個問題是由于缺少config信息導致的。lambda層在載入的時候需要一個函數,當使用自定義函數時,模型無法找到這個函數,也就構建不了。

m = load_model(path,custom_objects={"reduce_mean":self.reduce_mean,"slice":self.slice})

其中,reduce_mean 和slice定義如下

  def slice(self,x, turn):
    """ Define a tensor slice function
    """
    return x[:, turn, :, :]
  def reduce_mean(self, X):
    return K.mean(X, axis=-1)

補充知識:含有Lambda自定義層keras模型,保存遇到的問題及解決方案

一,許多應用,keras含有的層已經不能滿足要求,需要透過Lambda自定義層來實現一些layer,這個情況下,只能保存模型的權重,無法使用model.save來保存模型。

保存時會報

TypeError: can't pickle _thread.RLock objects

二,解決方案,為了便于后續(xù)的部署,可以轉成tensorflow的PB進行部署。

from keras.models import load_model
import tensorflow as tf
import os, sys
from keras import backend as K
from tensorflow.python.framework import graph_util, graph_io

def h5_to_pb(h5_weight_path, output_dir, out_prefix="output_", log_tensorboard=True):
  if not os.path.exists(output_dir):
    os.mkdir(output_dir)
  h5_model = build_model()
  h5_model.load_weights(h5_weight_path)
  out_nodes = []
  for i in range(len(h5_model.outputs)):
    out_nodes.append(out_prefix + str(i + 1))
    tf.identity(h5_model.output[i], out_prefix + str(i + 1))
  model_name = os.path.splitext(os.path.split(h5_weight_path)[-1])[0] + '.pb'
  sess = K.get_session()
  init_graph = sess.graph.as_graph_def()
  main_graph = graph_util.convert_variables_to_constants(sess, init_graph, out_nodes)
  graph_io.write_graph(main_graph, output_dir, name=model_name, as_text=False)
  if log_tensorboard:
    from tensorflow.python.tools import import_pb_to_tensorboard
    import_pb_to_tensorboard.import_to_tensorboard(os.path.join(output_dir, model_name), output_dir)

def build_model():
  inputs = Input(shape=(784,), name='input_img')
  x = Dense(64, activation='relu')(inputs)
  x = Dense(64, activation='relu')(x)
  y = Dense(10, activation='softmax')(x)
  h5_model = Model(inputs=inputs, outputs=y)
  return h5_model

if __name__ == '__main__':
  if len(sys.argv) == 3:
    # usage: python3 h5_to_pb.py h5_weight_path output_dir
    h5_to_pb(h5_weight_path=sys.argv[1], output_dir=sys.argv[2])

以上這篇解決Keras 中加入lambda層無法正常載入模型問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • python的scrapy框架之Pipeline文件的用法詳解

    python的scrapy框架之Pipeline文件的用法詳解

    這篇文章主要介紹了python的scrapy框架之Pipeline文件的用法詳解,Pipeline是一個獨立的模塊,用于處理從Spider中提取的Item對象,實現對數據的進一步處理、存儲和清洗等操作,下面將詳細介紹Scrapy框架中Pipeline的用法,需要的朋友可以參考下
    2023-10-10
  • Python基于pillow判斷圖片完整性的方法

    Python基于pillow判斷圖片完整性的方法

    這篇文章主要介紹了Python基于pillow判斷圖片完整性的方法,結合實例形式簡單分析了pillow的安裝及圖片完整性判斷的相關操作技巧,需要的朋友可以參考下
    2016-09-09
  • pytorch模型保存到本地后,如何實現繼續(xù)訓練

    pytorch模型保存到本地后,如何實現繼續(xù)訓練

    在PyTorch中,保存和加載模型對于實現模型訓練的中斷和恢復非常有用,保存模型主要有兩種方式:一是保存整個模型包括結構與參數;二是僅保存模型的state_dict,加載模型時,若保存了整個模型則直接加載,若僅保存了state_dict,則需先實例化模型結構后加載
    2024-09-09
  • 從局部變量和全局變量開始全面解析Python中變量的作用域

    從局部變量和全局變量開始全面解析Python中變量的作用域

    無論是以類為基礎的面相對象編程,還是單純函數內部變量的定義,變量的作用域始終是Python學習中一個必須理解掌握的環(huán)節(jié),下面我們從局部變量和全局變量開始全面解析Python中變量的作用域,需要的朋友可以參考下
    2016-06-06
  • Jupyter Notebook讀入csv文件時出錯的解決方案

    Jupyter Notebook讀入csv文件時出錯的解決方案

    這篇文章主要介紹了Jupyter Notebook讀入csv文件時出錯的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 如何用六步教會你使用python爬蟲爬取數據

    如何用六步教會你使用python爬蟲爬取數據

    網絡爬蟲就是按照一定規(guī)則自動訪問互聯(lián)網上的信息并把內容下載下來的程序或腳本,下面這篇文章主要給大家介紹了關于如何用六步教會你使用python爬蟲爬取數據的相關資料,需要的朋友可以參考下
    2022-04-04
  • Python編程如何在遞歸函數中使用迭代器

    Python編程如何在遞歸函數中使用迭代器

    今天下午想要復現一下學長的recursion file,想模仿源碼里的精髓:迭代器遇到了bug,花了一兩個小時才解決?,F總結如下,有需要的朋友也可借鑒參考下
    2021-09-09
  • C語言實現二叉搜索樹的完整總結

    C語言實現二叉搜索樹的完整總結

    這篇文章主要介紹了C語言實現二叉搜索樹的完整總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • python3 中使用urllib問題以及urllib詳解

    python3 中使用urllib問題以及urllib詳解

    這篇文章主要介紹了python3 中使用urllib問題以及urllib詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Python pass 語句使用示例

    Python pass 語句使用示例

    這篇文章主要介紹了Python pass 語句的使用方法示例,需要的朋友可以參考下
    2014-03-03

最新評論

南充市| 定兴县| 宽城| 志丹县| 霍林郭勒市| 林口县| 平邑县| 万年县| 岱山县| 沈阳市| 昌黎县| 日土县| 容城县| 扎囊县| 长沙县| 渝北区| 和田市| 确山县| 兴文县| 宜宾县| 长岛县| 濉溪县| 吉林市| 巴塘县| 龙口市| 应用必备| 靖远县| 房产| 祁阳县| 西吉县| 二连浩特市| 定边县| 北票市| 新安县| 淮北市| 安国市| 英超| 黑龙江省| 宜州市| 东光县| 晋州市|