Tensorflow中placeholder传入值与feed_dict喂食器的联系与用法
生活随笔
收集整理的這篇文章主要介紹了
Tensorflow中placeholder传入值与feed_dict喂食器的联系与用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.placeholder傳入值
可以理解為提前占據一個存儲空間,比如說你在一個城市中心買了一套房子,這個房子你也不知道是用來放貨物還是用來住人的,但是你可以提前將這棟房子買下來,等以后再說以后的事情。
tf.placeholder(type,shape)?? ,像是 a = tf.placeholder(tf.float32,[2,3],keep_prob:0.5)
第一個參數tf.float32是a的類型
第二個參數[2,3]是要輸入的矩陣的維數,即輸入一個兩行三列的矩陣
第三個參數 keep_prob 是設置神經元被選中的概率,在初始化是keep_prob是一個占位符keep_prob = tf.placeholder(tf.float32),但是在神經網絡run時設置具體的值,像是keep_prob:0.5,即隨機選取一半的神經元進行激活,在不同的訓練過程中隨機扔掉一部分神經元,也就是讓某個神經元的激活值以一定的概率p,讓其停止工作,這次訓練過程中不更新權值,也不參加神經網絡的計算。但是它的權重得保留下來(只是暫時不更新而已),因為下次樣本輸入時它可能又得工作了。
示意圖如下:
2.feed_dict喂食器
在這里我的理解是將要輸入的數據直接喂入placeholder傳入值中,但是不是什么數據類型都可以喂入,比如說剛才我在placeholder傳入值的時候設定是float型和維度為兩行三列的矩陣,那么必須要喂入符合要求的矩陣,要不然會出錯,比如能吃一個饅頭,你讓人家吃兩個或吃半個都不好對吧
3.廢話不多說,直接上例子
# -*- coding: utf-8 -*-
"""
Created on Sat Mar 17 20:35:14 2018@author: DuYanfang
"""import tensorflow as tf
a = tf.placeholder(tf.int32)
b = tf.placeholder(tf.int32)
c= tf.multiply(a,b)
with tf.Session() as sess:print(sess.run(c,feed_dict = {a:100,b:200}))x1 = tf.placeholder(tf.float32,[2,3])
x2 = tf.placeholder(tf.float32,[3,2])
x3 = tf.matmul(x1,x2)
with tf.Session() as sess:print(sess.run(x3,feed_dict = {x1:[[1,2,3],[4,5,6]],x2:[[1,2],[3,4],[5,6]]}))
運行結果:
20000 [[ 22. 28.][ 49. 64.]]總結
以上是生活随笔為你收集整理的Tensorflow中placeholder传入值与feed_dict喂食器的联系与用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL常见备份与恢复方案
- 下一篇: 深度学习中,Batch_Normaliz