欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談keras中Dropout在預(yù)測(cè)過(guò)程中是否仍要起作用

 更新時(shí)間:2020年07月09日 09:04:53   作者:zyl681327  
這篇文章主要介紹了淺談keras中Dropout在預(yù)測(cè)過(guò)程中是否仍要起作用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

因?yàn)樾枰?,要重?xiě)訓(xùn)練好的keras模型,雖然只具備預(yù)測(cè)功能,但是發(fā)現(xiàn)還是有很多坑要趟過(guò)。其中Dropout這個(gè)坑,我記憶猶新。

一開(kāi)始,我以為預(yù)測(cè)時(shí)要保持和訓(xùn)練時(shí)完全一樣的網(wǎng)絡(luò)結(jié)構(gòu),也就是預(yù)測(cè)時(shí)用的網(wǎng)絡(luò)也是有丟棄的網(wǎng)絡(luò)節(jié)點(diǎn),但是這樣想就掉進(jìn)了一個(gè)大坑!因?yàn)闊o(wú)法通過(guò)已經(jīng)訓(xùn)練好的模型,來(lái)獲取其訓(xùn)練時(shí)隨機(jī)丟棄的網(wǎng)絡(luò)節(jié)點(diǎn)是那些,這本身就根本不可能。

更重要的是:我發(fā)現(xiàn)每一個(gè)迭代周期丟棄的神經(jīng)元也不完全一樣。

假若迭代500次,網(wǎng)絡(luò)共有1000個(gè)神經(jīng)元, 在第n(1<= n <500)個(gè)迭代周期內(nèi),從1000個(gè)神經(jīng)元里隨機(jī)丟棄了200個(gè)神經(jīng)元,在n+1個(gè)迭代周期內(nèi),會(huì)在這1000個(gè)神經(jīng)元里(不是在剩余得800個(gè))重新隨機(jī)丟棄200個(gè)神經(jīng)元。

訓(xùn)練過(guò)程中,使用Dropout,其實(shí)就是對(duì)部分權(quán)重和偏置在某次迭代訓(xùn)練過(guò)程中,不參與計(jì)算和更新而已,并不是不再使用這些權(quán)重和偏置了(預(yù)測(cè)時(shí),會(huì)使用全部的神經(jīng)元,包括使用訓(xùn)練時(shí)丟棄的神經(jīng)元)。

也就是說(shuō)在預(yù)測(cè)過(guò)程中完全沒(méi)有Dropout什么事了,他只是在訓(xùn)練時(shí)有用,特別是針對(duì)訓(xùn)練集比較小時(shí)防止過(guò)擬合非常有用。

補(bǔ)充知識(shí):TensorFlow直接使用ckpt模型predict不用restore

我就廢話不多說(shuō)了,大家還是直接看代碼吧~

# -*- coding: utf-8 -*-
# from util import *
import cv2
import numpy as np
import tensorflow as tf
# from tensorflow.python.framework import graph_util
import os

os.environ['CUDA_DEVICE_ORDER'] = 'PCI_BUS_ID'
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
image_path = './8760.pgm'

input_checkpoint = './model/xu_spatial_model_1340.ckpt'

sess = tf.Session()
saver = tf.train.import_meta_graph(input_checkpoint + '.meta')
saver.restore(sess, input_checkpoint)

# input:0作為輸入圖像,keep_prob:0作為dropout的參數(shù),測(cè)試時(shí)值為1,is_training:0訓(xùn)練參數(shù)
input_image_tensor = sess.graph.get_tensor_by_name("coef_input:0")
is_training = sess.graph.get_tensor_by_name('is_training:0')
batch_size = sess.graph.get_tensor_by_name('batch_size:0')
# 定義輸出的張量名稱
output_tensor_name = sess.graph.get_tensor_by_name("xuNet/logits:0") # xuNet/Logits/logits
image = cv2.imread(image_path, 0)
# 讀取測(cè)試圖片
out = sess.run(output_tensor_name, feed_dict={input_image_tensor: np.reshape(image, (1, 512, 512, 1)),
                       is_training: False,
                       batch_size: 1})
print(out)

ckpt模型中的所有節(jié)點(diǎn)名稱,可以這樣查看

[n.name for n in tf.get_default_graph().as_graph_def().node]

以上這篇淺談keras中Dropout在預(yù)測(cè)過(guò)程中是否仍要起作用就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python3實(shí)現(xiàn)發(fā)送QQ郵件功能(附件)

    Python3實(shí)現(xiàn)發(fā)送QQ郵件功能(附件)

    這篇文章主要為大家詳細(xì)介紹了Python3實(shí)現(xiàn)發(fā)送QQ郵件功能,附件方面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python3.5內(nèi)置模塊之random模塊用法實(shí)例分析

    Python3.5內(nèi)置模塊之random模塊用法實(shí)例分析

    這篇文章主要介紹了Python3.5內(nèi)置模塊之random模塊用法,結(jié)合實(shí)例形式分析了Python3.5 random模塊生成隨機(jī)數(shù)與隨機(jī)字符串相關(guān)操作技巧,需要的朋友可以參考下
    2019-04-04
  • 在pycharm下設(shè)置自己的個(gè)性模版方法

    在pycharm下設(shè)置自己的個(gè)性模版方法

    今天小編就為大家分享一篇在pycharm下設(shè)置自己的個(gè)性模版方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python中如何使用正則表達(dá)式的非貪婪模式示例

    python中如何使用正則表達(dá)式的非貪婪模式示例

    貪婪與非貪婪模式影響的是被量詞修飾的子表達(dá)式的匹配行為,下面這篇文章主要給大家介紹了關(guān)于python中如何使用正則表達(dá)式的非貪婪模式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-10-10
  • python實(shí)現(xiàn)購(gòu)物車小程序

    python實(shí)現(xiàn)購(gòu)物車小程序

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)購(gòu)物車小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • linux環(huán)境下Django的安裝配置詳解

    linux環(huán)境下Django的安裝配置詳解

    這篇文章主要介紹了linux環(huán)境下Django的安裝配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • pygame編寫(xiě)音樂(lè)播放器的實(shí)現(xiàn)代碼示例

    pygame編寫(xiě)音樂(lè)播放器的實(shí)現(xiàn)代碼示例

    這篇文章主要介紹了pygame編寫(xiě)音樂(lè)播放器的實(shí)現(xiàn)代碼示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python中asyncore異步模塊的用法及實(shí)現(xiàn)httpclient的實(shí)例

    Python中asyncore異步模塊的用法及實(shí)現(xiàn)httpclient的實(shí)例

    asyncore即是一個(gè)異步的socket封裝,特別是dispatcher類中包含了很多異步調(diào)用的socket操作方法,非常犀利,下面我們就來(lái)講解Python中asyncore異步模塊的用法及實(shí)現(xiàn)httpclient的實(shí)例
    2016-06-06
  • Python彈球小游戲的項(xiàng)目代碼

    Python彈球小游戲的項(xiàng)目代碼

    本文主要介紹了Python彈球小游戲的項(xiàng)目代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 淺析Python 實(shí)現(xiàn)一個(gè)自動(dòng)化翻譯和替換的工具

    淺析Python 實(shí)現(xiàn)一個(gè)自動(dòng)化翻譯和替換的工具

    這篇文章主要介紹了Python 實(shí)現(xiàn)一個(gè)自動(dòng)化翻譯和替換的工具,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04

最新評(píng)論