老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Keras將兩個模型連接到一起的實現方法-創新互聯

這篇文章主要講解了Keras將兩個模型連接到一起的實現方法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

讓胡路網站建設公司創新互聯建站,讓胡路網站設計制作,有大型網站制作公司豐富經驗。已為讓胡路超過千家提供企業網站建設服務。企業網站搭建\外貿網站制作要多少錢,請找那個售后服務好的讓胡路做網站的公司定做!

神經網絡玩得越久就越會嘗試一些網絡結構上的大改動。

先說意圖

有兩個模型:模型A和模型B。模型A的輸出可以連接B的輸入。將兩個小模型連接成一個大模型,A-B,既可以同時訓練又可以分離訓練。

流行的算法里經常有這么關系的兩個模型,對GAN來說,生成器和判別器就是這樣子;對VAE來說,編碼器和解碼器就是這樣子;對目標檢測網絡來說,backbone和整體也是可以拆分的。所以,應用范圍還是挺廣的。

實現方法

首先說明,我的實現方法不一定是最佳方法。也是實在沒有借鑒到比較好的方法,所以才自己手動寫了一個。

第一步,我們有現成的兩個模型A和B;我們想把A的輸出連到B的輸入,組成一個整體C。

第二步, 重構新模型C;我的方法是:讀出A和B各有哪些layer,然后一層一層重新搭成C。

可以看一個自編碼器的代碼(本人所編寫):

class AE:
 def __init__(self, dim, img_dim, batch_size):
  self.dim = dim
  self.img_dim = img_dim
  self.batch_size = batch_size
  self.encoder = self.encoder_construct()
  self.decoder = self.decoder_construct()
 
 def encoder_construct(self):
  x_in = Input(shape=(self.img_dim, self.img_dim, 3))
  x = x_in
  x = Conv2D(self.dim // 16, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(x)
  x = BatchNormalization()(x)
  x = LeakyReLU(0.2)(x)
  x = Conv2D(self.dim // 8, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(x)
  x = BatchNormalization()(x)
  x = LeakyReLU(0.2)(x)
  x = Conv2D(self.dim // 4, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(x)
  x = BatchNormalization()(x)
  x = LeakyReLU(0.2)(x)
  x = Conv2D(self.dim // 2, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(x)
  x = BatchNormalization()(x)
  x = LeakyReLU(0.2)(x)
  x = Conv2D(self.dim, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(x)
  x = BatchNormalization()(x)
  x = LeakyReLU(0.2)(x)
  x = GlobalAveragePooling2D()(x)
  encoder = Model(x_in, x)
  return encoder
 
 def decoder_construct(self):
  map_size = K.int_shape(self.encoder.layers[-2].output)[1:-1]
  # print(type(map_size))
  z_in = Input(shape=K.int_shape(self.encoder.output)[1:])
  z = z_in
  z_dim = self.dim
  z = Dense(np.prod(map_size) * z_dim)(z)
  z = Reshape(map_size + (z_dim,))(z)
  z = Conv2DTranspose(z_dim // 2, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(z)
  z = BatchNormalization()(z)
  z = Activation('relu')(z)
  z = Conv2DTranspose(z_dim // 4, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(z)
  z = BatchNormalization()(z)
  z = Activation('relu')(z)
  z = Conv2DTranspose(z_dim // 8, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(z)
  z = BatchNormalization()(z)
  z = Activation('relu')(z)
  z = Conv2DTranspose(z_dim // 16, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(z)
  z = BatchNormalization()(z)
  z = Activation('relu')(z)
  z = Conv2DTranspose(3, kernel_size=(5, 5), strides=(2, 2), padding='SAME')(z)
  z = Activation('tanh')(z)
  decoder = Model(z_in, z)
  return decoder
 
 def build_ae(self):
  input_x = Input(shape=(self.img_dim, self.img_dim, 3))
  x = input_x
  for i in range(1, len(self.encoder.layers)):
   x = self.encoder.layers[i](x)
  for j in range(1, len(self.decoder.layers)):
   x = self.decoder.layers[j](x)
  y = x
  auto_encoder = Model(input_x, y)
  return auto_encoder

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網站標題:Keras將兩個模型連接到一起的實現方法-創新互聯
URL地址:http://www.xueling.net.cn/article/dseioj.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 九色porny视频黑人 | 高清在线一区二区 | 91高清视频免费观看 | 搞逼视频免费看 | 有码av在线 | 啪视频网站 | 精品麻豆 | 日本亚洲一区 | 最近高清中文字幕免费mv | 国产一卡二卡三卡免费 | 国产一区二区极品 | av在线不卡播放 | 国产欧美性成人精品午夜 | 国产黄色麻豆视频 | 国产精品第3页 | 国产精品99久久久久久久 | 91黄色免费网站 | 荫蒂每天被三个男人添视频 | 成人久久18免费网站 | 国产精品对白交换绿帽视频 | 国产精品久久久久久无码不卡 | 久久精品资源 | 国产高清一二 | 内地老熟女老少配视频 | 亚洲人成网站在线播放942 | 久久一区二区精品视频 | 亚瑟国产精品久久 | 深夜在线观看视频 | 久久精品国产亚洲av影院 | 亚洲人成综合第一网 | 精品日本视频 | 一级做a爰片久久高潮 | 东北毛片 | 深夜影院在线观看 | 日本少妇xxxx动漫 | 国产第一页无线好源 | 免费黄色片一区二区 | a国产在线v的不卡视频 | 亚洲精品97久久中文字幕无码 | 99久久婷婷国产综合精品 | 欧美精品久久人妻无码 |