1. 程式人生 > >TensorFlow學習--tf.FIFOQueue佇列

TensorFlow學習--tf.FIFOQueue佇列

佇列

tf.FIFOQueue

FIFOQueue類基於基類QueueBase.QueueBase主要包含入列(enqueue)和出列(dequeue)兩個操作.enqueue操作返回計算圖中的一個Operation節點,dequeue操作返回一個Tensor值.Tensor在建立時同樣只是一個定義,需要放在Session中執行才能獲得真正的數值.

tensorflow使用tf.FIFOQueue類建立一個先入先出佇列.
屬性:
capacity:指定佇列中的元素數量的上限。
dtypes:DType物件的列表。dtypes的長度必須等於每個佇列元素中張量的數量。
shapes:(可選項)
names:(可選項)命名佇列的字串。
shared_name :(可選項)如果非空,則將在多個會話中以給定名稱共享此佇列。
name:佇列操作的可選名稱。

#!/usr/bin/python
# coding:utf-8

# 佇列與多執行緒
import tensorflow as tf

# 建立一個先入先出的佇列,指定佇列最多可以儲存3個元素,並指定型別為整數
q = tf.FIFOQueue(3, 'int32')
# 初始化佇列中的元素,將[0,10,20]3個元素排入此佇列
init = q.enqueue_many(([0, 10, 20], ))
# 將佇列中的第1個元素出佇列,並存入變數x中
x = q.dequeue()
# 將得到的值加1
y = x + 1
# 將加1後的值重新加入佇列
q_inc = q.enqueue([y])

with
tf.Session() as sess: # 佇列初始化 init.run() for _ in range(5): # 執行資料出佇列/出隊元素+1/重新加入佇列的過程 v, _ = sess.run([x, q_inc]) print v

佇列開始有[0,10,20]三個元素,執行5次資料出佇列,出隊元素+1,重新加入佇列的過程中:
x=0,  y=1,   佇列:[10,20,1]
x=10,  y=11,  佇列:[20,1,11]
x=20,  y=21,  佇列:[1,11,21]
x=1,   y=2,   佇列:[11,21,2]
x=11,  y=12,  佇列:[21,2,12]

相關推薦

TensorFlow學習tf.FIFOQueue佇列

佇列 tf.FIFOQueue FIFOQueue類基於基類QueueBase.QueueBase主要包含入列(enqueue)和出列(dequeue)兩個操作.enqueue操作返回計算圖中的一個Operation節點,dequeue操作返回一個Ten

Tensorflow學習筆記之tf.nn.relu

Tensorflow學習筆記之tf.nn.relu 關於Tensorflow的學習筆記大部分為其他部落格或者書籍轉載,只為督促自己學習。 線性整流函式(Rectified Linear Unit,ReLU),又稱修正線性單元。其定義如下圖,在橫座標的右側,ReLU函式為線性函式。在橫座標

Tensorflow學習筆記之tf.layers.conv2d

Tensorflow學習筆記 關於Tensorflow的學習筆記大部分為其他部落格或者書籍轉載,只為督促自己學習。 conv2d(inputs, filters, kernel_size, strides=(1, 1), padding='valid', d

TensorFlow學習筆記之--[tf.clip_by_global_norm,tf.clip_by_value,tf.clip_by_norm等的區別]

以下這些函式可以用於解決梯度消失或梯度爆炸問題上。 1. tf.clip_by_value tf.clip_by_value( t, clip_value_min, clip_value_max, name=None ) 輸入一個張量t,把t中的每一個元素的值都

TensorFlow學習筆記》tf.concat函式用法

tf版本:1.5.0 concat官方定義 Args: values: A list of Tensor objects or a single Tensor. 單個張量或是一個關於張量的

TensorFlow學習tensorflow影象處理--影象讀取/格式轉換1

一張RGB格式的彩色影象可以看成是一個三維矩陣,矩陣中的每一個數代表影象不同的位置上不同的顏色的亮度.但是影象儲存時並不是直接儲存這些三維矩陣,而是要先對其進行壓縮編碼再儲存.因此讀取影象的過程其實是先讀取其壓縮編碼後的結果,然後將其解碼的過程. 讀取影象&轉換格

TensorFlow學習CIFAR-10

CIFAR-10資料集 CIFAR-10資料集包含10個類的60000張32x32的彩色影象,每個類有6000張影象.有50000張訓練影象和10000張測試影象.CIFAR-10資料集 10個分類明細及對應的部分圖片: 教程程式碼 其中主要涉及的檔

TensorFlow學習tensorflow影象處理--影象讀取/格式轉換

tensorflow影象處理 一張RGB格式的彩色影象可以看成是一個三維矩陣,矩陣中的每一個數代表影象不同的位置上不同的顏色的亮度.但是影象儲存時並不是直接儲存這些三維矩陣,而是要先對其進行壓縮編碼再

TensorFlow學習卷積神經網路訓練CIFAR-10資料集

CIFAR-10資料集 CIFAR-10資料集包含10個類的60000張32x32的彩色影象,每個類有6000張影象。 有50000張訓練影象和10000張測試影象。 10個分類明細及對應的部分圖片: 卷積神經網路訓練CIFAR-10資料集

TensorFlow學習AlexNet實現&影象識別

AlexNet主要技術點 AlexNet使用的主要技術: 1. 使用ReLU作為CNN的啟用函式,解決了Sigmoid在較深網路中的梯度彌散問題(vanishing gradient problem). 2. 訓練時使用Dropout隨機忽略一部分神經

菜鳥的mongoDB學習(六)MongoDB 索引

val drop -m 單位 處理 數列 track 掃描 大量 MongoDB 索引 ps:大概有半個月木有更新了,因為前一階段的出差和這幾天突然來的項目。導致上網時間急劇降低,實在是sorry,以後預計會好一點。 索引通常可以極大的提高查詢的效率。假設沒有

Android學習心得(13) Android代碼混淆(1)

簽名 ref nes 三分 pen key this tool prop 我在博客上發表一些我的Android學習心得,希望對大家能有幫助。 這一篇我們講述一下最新的ADT環境下怎樣進行Android混淆 在新版本號的ADT創建項目時。混碼的文

Perl 學習筆記高級控制結構.unless控制結構

over 優先 span perl 運算符 spa size i++ php 1.unless控制結構  類似於獨立的else語句; 要麽條件為真, 要麽執行語句塊內的代碼; unless(<condition>){code...;} 等價於 if(<

python學習03數據類型

默認 1.5 mos borde 基本數據類型 order end mod 技術分享 一、基本數據類型——數字 布爾型 bool型只有兩個值:True和False 之所以將bool值歸類為數字,是因為我們也習慣用1表示True,0表示False。 以下是布爾

python學習04數據類型(元組、字典、集合)

ext false 增刪改 put 一個 section mod ict call 一、基本數據類型——元組   元組:是一種與列表非常相似的數據類型。但是它一旦創建便不能再修改,所以又叫只讀列表。   定義:與列表類似,只不過[]改成()   特性: 可

python學習05文件操作

print 內存 文件句柄 file 創建 一行 進制 移動 ()   文件操作分為讀、寫、修改,以什麽模式存文件,就以什麽模式編碼打開文件。 打開文件的模式有: r,只讀模式(默認)。 # 以什麽模式存文件,就以什麽模式編碼打開文件 # 示例一:r是文本只讀模式 f

python學習06函數

users eth 成功 視頻 rgs 情況 也會 嵌套 linu 一、函數的定義及語法 函數一詞來源於數學,編程中的"函數"與數學中的函數與歐很大的不同。  (BASIC中叫subroutine,C中叫function,java中叫method) 定義:函數是

Python3學習筆記字符串和字符串操作

isl int 字符串操作 博客 mys 索引 很多 map format 字符串,可以存任意類型的字符串,比如名字,一句話等等 name = ‘Sriba‘ msg = ‘Welcome to my blog.‘ 字符串還有很多內置的方法,對字符串進行操作,常用的

Python3學習筆記列表(list)

ray trace 默認 indexer pan rec strong 不存在 mov Python內置的一種數據類型是列表:list。list是一種有序的集合,可以隨時添加和刪除其中的元素。 註:列表、list、數組、array 是一個東西,只是叫法不一樣 列表的索引(

Python3學習筆記元組(tuple)

小括號 方括號 初始 clas 需要 -- 信息 數量 erro 元組:tuple 是一種有序列表。tuple和list非常類似,但是tuple一旦初始化就不能修改 元組使用小括號,列表使用方括號。 元組創建很簡單,只需要在括號中添加元素,並使用逗號隔開即可。 eg: