1. 程式人生 > >tensorflow載入資料的三種方式 之 TF生成資料的方法

tensorflow載入資料的三種方式 之 TF生成資料的方法

Tensorflow資料讀取有三種方式:

  • Preloaded data: 預載入資料 Feeding:
  • Python產生資料,再把資料餵給後端。 Reading from
  • file: 從檔案中直接讀取
    具體可以參考:極客學院的資料讀取

這裡介紹下:

TF生成資料的方式

正常情況下,使用tf.initialize_all_variables()初始化變數,在完全構建好模型並載入之後才執行這個操作。生成資料的主要方法如下
1)如果需要利用已經初始化的引數給其他變數賦值
TF的變數有個initialized_value()屬性,就是初始化的值,使用方法如下:

# 原始的變數  
weights = tf.Variable(tf.random_normal([784, 200], stddev=0.35),name="weights") # 創造相同內容的變數 w2 = tf.Variable(weights.initialized_value(), name="w2") # 也可以直接乘以比例 w_twice = tf.Variable(weights.initialized_value() * 0.2, name="w_twice")

tf.set_random_seed(seed)
設定產生隨機數的種子。
1. 生成tensor:

①tf.zeros(shape, dtype=tf.float32, name=None)
#tf.zeros([2, 3], int32) ==> [[0, 0, 0], [0, 0, 0]]
②tf.ones(shape, dtype=tf.float32, name=None)
#tf.ones([2, 3], int32) ==> [[1, 1, 1], [1, 1, 1]]
③tf.zeros_like(tensor, dtype=None, name=None)
新建一個與給定的tensor型別大小一致的tensor,其所有元素為1。# 'tensor' is [[1, 2, 3], [4, 5, 6]]
tf.ones_like(tensor) ==> [[1, 1, 1], [1, 1, 1]] ④tf.constant(value, dtype=None, shape=None, name='Const')建立一個常量tensor,先給出value,可以設定其shape # Constant **1-D** Tensor populated with value list. tensor = tf.constant([1, 2, 3, 4, 5, 6, 7]) => [1 2 3 4 5 6 7] # Constant **2-D** tensor populated with scalar value -1. tensor = tf.constant(-1.0, shape=[2, 3]) => [[-1. -1. -1.] [-1. -1. -1.] ⑤tf.fill(dims, value, name=None) 建立一個形狀大小為dim的tensor,其初始值為value # Output tensor has shape [2, 3]. fill([2, 3], 9) ==> [[9, 9, 9],[9, 9, 9]] ⑥tf.ones_like(tensor, dtype=None, name=None)

2.生成序列

⑦tf.range(start, limit, delta=1, name='range')
返回一個tensor等差數列,該tensor中的數值在start到limit之間,不包括limit,delta是等差數列的差值。start,limit和delta都是int32型別。
# 'start' is 3 
# 'limit' is 18 
# 'delta' is 3
tf.range(start, limit, delta) ==> [3, 6, 9, 12, 15] 
# 'limit' is 5 start is 0
tf.range(start, limit) ==> [0, 1, 2, 3, 4]
⑧tf.linspace(start, stop, num, name=None)返回一個tensor,該tensor中的數值在start到stop區間之間取等差數列(包含start和stop),如果num>1則差值為(stop-start)/(num-1),以保證最後一個元素的值為stop。其中,start和stop必須為tf.float32或tf.float64。num的型別為int。
tf.linspace(10.0, 12.0, 3, name="linspace") => [ 10.0 11.0 12.0]

3.生成隨機數

⑨tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
返回一個tensor其中的元素的值服從正態分佈。
seed: A Python integer. Used to create a random seed for the distribution.See set_random_seed for behavior。
⑩tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
返回一個tensor其中的元素服從截斷正態分佈
理解:shape表示生成張量的維度,mean是均值,stddev是標準差。這個函式產生正太分佈,均值和標準差自己設定。這是一個截斷的產生正太分佈的函式,就是說產生正太分佈的值如果與均值的差值大於兩倍的標準差,那就重新生成。和一般的正太分佈的產生隨機資料比起來,這個函式產生的隨機數與均值的差距不會超過兩倍的標準差,但是一般的別的函式是可能的。
⑩①tf.random_uniform(shape, minval=0.0, maxval=1.0, dtype=tf.float32, seed=None, name=None)
返回一個形狀為shape的tensor,其中的元素服從minval和maxval之間的均勻分佈。
⑩②tf.random_shuffle(value, seed=None, name=None)
對value(是一個tensor)的第一維進行隨機化。
       [[1,2],            [[2,3],
        [2,3],     ==>     [1,2],
        [3,4]]             [3,4]] 

引數說明:參考官網:連結

shape: 用於表示維度,通常為一個int32型別陣列,或者一個一維(1-D)的tf.int32數字.注意不能直接使用數字
dtype: 所要建立的tensor物件的資料型別
tensor: tensor物件
mean:資料型別為dtype的張量值或Python值。是正態分佈的均值。
stddev:資料型別為dtype的張量值或Python值。是正態分佈的標準差
seed:一個Python整數。是隨機種子。
name: 操作的名稱(可選)
操作案例:這裡之選擇一個操作,用with開與關
data1=tf.zeros([2, 3],tf.int32)
with tf.Session() as sess1:
    print(sess1.run(data1))
receive:
[[0 0 0]
 [0 0 0]]

相關推薦

tensorflow載入資料方式 TF生成資料方法

Tensorflow資料讀取有三種方式: Preloaded data: 預載入資料 Feeding: Python產生資料,再把資料餵給後端。 Reading from file: 從檔案中直接讀取 具體可以參考:極客學院的資料讀取 這裡介紹下:

hive安裝過程:metastore(元資料儲存)的方式本地mysql方式

Hive版本:apache-hive-1.2.1 Hadoop版本:hadoop-2.5.1 Hive中metastore(元資料儲存)的三種方式:    a)本地Derby方式    b)本地mysql方式    c)Remote方式 2、解壓

資料遍歷的方式foreach 、for與Iterator

對資料的遍歷方式有三種:for迴圈遍歷、增強for迴圈遍歷、Iterator迭代器遍歷。這三種遍歷方式有他們自身使用的範圍。 增強for迴圈 增強for迴圈是JDK1.5版本後出來的一個高階for

vue-cli專案路由懶載入方式

閒嘮嗑幾句 今天公司有新的專案要開展,需要重新部署新的專案,所以說以前好多忘記的東西,又得重新撿起來一遍,配置路由的時候發現還是使用的普通的使用require懶載入路由,所以在檢視文件和資料後又重新總結了一遍,以加深記憶和方便下次查閱。 一、使用import非同步引入

50、多執行緒建立的方式實現Runnable介面

實現Runnable介面建立執行緒 使用Runnable建立執行緒步驟: package com.sutaoyu.Thread; //1.自定義一個類實現java.lang包下的Runnable介面 class MyRunnable implements Runnable{ /

java中內部類的建立四情況,方式,及內部資料訪問許可權

內部類和外部類的關係,及內部靜態類的資料訪問許可權,宣告方式。 第一種,在外部類內部宣告使用內部類,內部類的型別為static和非 static型別,內部類資料型別為private,protected,public 型別的訪問許可權。外部類為非靜態宣告和許可權如下: p

JS非同步載入方式

非同步載入又叫非阻塞載入,瀏覽器在下載執行js的同時,還會繼續進行後續頁面的處理。主要有三種方式。 方法一:也叫Script DOM Element (function(){ var scriptEle = document.createElement("script"); script

【Unity】Unity中資源動態載入的兩方式AssetsBundle

首先要說的是,我們的工程中有2個指令碼,分別是:Build(編輯器類指令碼,無需掛載到任何物體),但是必須要把Build指令碼放到Editor資料夾中Load指令碼,掛載到攝像機上<pre name="code" class="csharp">using Uni

實現多執行緒的第方式Callable

中說過,實現多執行緒有兩種方式:一種是繼承Thread類,另一種是實現Runnable介面。這兩種方式中真正起作用的是run方法,不過run方法並沒有返回值。如果我們希望任務在完成時能夠有返回值,這時就

啟動執行緒的第方式Callable

java中第三種啟動執行緒的方式是實現Callable介面package com.lyzx.juc; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException;

unity物體移動方式——Transform.Translate

  在unity中,經常遇到的一個問題就是物體移動的問題,Unity引擎給出了很多種解決方案,這裡先給大家介紹一種——Transform.Translate函式。   在Unity中這是最

tensorflow載入資料方式

Tensorflow資料讀取有三種方式: Preloaded data: 預載入資料Feeding: Python產生資料,再把資料餵給後端。Reading from file: 從檔案中直接讀取 這三種有讀取方式有什麼區別呢? 我們首先要知道TensorFlow(TF)

android開發為listview繫結資料方式

第一種,使用simple adapter simpleadapter 是最簡單的一種方式,但是其資料來源必須是map型別。 1.生成 SimpleAdapter()物件 2.設定資料來源 3.設定每個item的佈局 4.設定SimpleAdapter(Context con

TensorFlow基礎3:資料讀取的方式

‘在講述在TensorFlow上的資料讀取方式之前,有必要了解一下TensorFlow的系統架構,如下圖所示: TensorFlow的系統架構分為兩個部分: 前端系統:提供程式設計模型,負責構造計算圖; 後端系統:提供執行時環境,負責執行計算圖。

python收集網站資料方式

方式一:python之收集整個網站資料 目的: 建立一個爬蟲和資料收集程式(資料列印) 1:程式碼 # coding=utf-8 """ @author: jiajiknag 程式功能:收集整個網站資料 建立一個爬蟲和資料收集程式(

struts2資料載入到頁面的方式

 sruts2的資料共享的三種方式: 在web專案中都是使用域物件來共享資料。 struts2提供給開發者使用域物件來共享資料的方法一共有三種。 6.1 第一種方式 ServletActionContext類 getRequest() : 獲取request物件 getReq

TensorFlow中讀取影象資料方式

  本文面對三種常常遇到的情況,總結三種讀取資料的方式,分別用於處理單張圖片、大量圖片,和TFRecorder讀取方式。並且還補充了功能相近的tf函式。 1、處理單張圖片   我們訓練完模型之後,常常要用圖片測試,有的時候,我們並不需要對很多影象做測試,可能就是幾張甚至一張。這種情況下沒有必要用佇列機制。

Android——ContentResolver查詢的方式

popu com 耗時 封裝 target 最適 token res 數據庫 轉載請註明出處:http://blog.csdn.net/l1028386804/article/details/47785491 今天做到一個小項目。查詢手機中短信的信息,當然得去系

SpringjdbcTemplate:查詢的方式(單個值、單個對象、對象集合)

res finally 結構 execute date rep frame 參數 system JdbcTemplateDemo2.java 1 package helloworld.jdbcTemplate; 2 3 import org.springf

ssh框架總結action接收參數的方式

ext 方式 clas ems driver cor void 圖片 div 頁面將參數傳遞給action的三種方式 一是通過屬性傳值: 將頁面和action的的屬性值保持一致,在action上寫上該屬性的set和get方法,這樣在頁面提交參數的時候,action就會調用s