摘要:隨機(jī)數(shù)張量提供了一些函數(shù),去幫助我們構(gòu)建隨機(jī)數(shù)張量。該值表示正態(tài)分布的均值。一個(gè)維的,或者一個(gè)數(shù)據(jù)類型是的值,該值表示正態(tài)分布的標(biāo)準(zhǔn)偏差。解釋這個(gè)函數(shù)返回一個(gè)隨機(jī)數(shù)序列,數(shù)組里面的值按照均勻分布,數(shù)據(jù)范圍是。
作者:chen_h
微信號 & QQ:862251340
微信公眾號:coderpai
簡書地址:https://www.jianshu.com/p/d05...
計(jì)劃現(xiàn)將 tensorflow 中的 Python API 做一個(gè)學(xué)習(xí),這樣方便以后的學(xué)習(xí)。該章介紹有關(guān)常量張量,序列操作,隨機(jī)數(shù)張量的API
原文鏈接
Tensorflow提供了很多的操作,去幫助你構(gòu)建常量。
tf.zeros(shape, dtype = tf.float32, name = None)
解釋:這個(gè)函數(shù)返回一個(gè)全是零的張量,數(shù)據(jù)維度是 shape,數(shù)據(jù)類型是 dtype。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.zeros(shape = [2, 3], dtype = tf.int32, name = "input_data") print sess.run(data)
輸入?yún)?shù):
shape: 一個(gè)整型的數(shù)組,或者一個(gè)一維的Tensor,數(shù)據(jù)類型是:int32。
dtype: 輸出結(jié)果Tensor的數(shù)據(jù)類型。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,里面的所以數(shù)據(jù)都是0。
tf.zeros_like(tensor, dtype = None, name = None)
解釋:這個(gè)函數(shù)返回一個(gè)全是零的張量,數(shù)據(jù)維度是和Tensor一樣,數(shù)據(jù)類型是默認(rèn)是和Tensor一樣,但是我們也可以自己指定。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.zeros(shape = [2, 3], dtype = tf.int32, name = "input_data") d_1 = tf.zeros_like(data) d_2 = tf.zeros_like(data, tf.float32) print sess.run(d_1) print sess.run(d_2)
輸入?yún)?shù):
tensor: 一個(gè)Tensor。
dtype: 輸出結(jié)果Tensor的數(shù)據(jù)類型,必須是 float32,float64,int8,int16,int32,int64,uint8或者complex64。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,里面的所以數(shù)據(jù)都是0。
tf.ones(shape, dtype = tf.float32, name = None)
解釋:這個(gè)函數(shù)返回一個(gè)全是1的張量,數(shù)據(jù)維度是shape,數(shù)據(jù)類型是dtype。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.ones(shape = [2, 3], dtype = tf.int32, name = "input_data") print sess.run(data)
輸入?yún)?shù):
shape: 一個(gè)整型的數(shù)組,或者一個(gè)一維的Tensor,數(shù)據(jù)類型是 int32。
dtype: 輸出結(jié)果Tensor的數(shù)據(jù)類型。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,里面的所以數(shù)據(jù)都是1。
tf.ones_like(tensor, dtype = None, name = None)
解釋:這個(gè)函數(shù)返回一個(gè)全是一的張量,數(shù)據(jù)維度是和Tensor一樣,數(shù)據(jù)類型是默認(rèn)是和Tensor一樣,但是我們也可以自己指定。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.zeros(shape = [2, 3], dtype = tf.int32, name = "input_data") d_1 = tf.ones_like(data) d_2 = tf.ones_like(data, tf.float32) print sess.run(d_1) print sess.run(d_2)
輸入?yún)?shù):
tensor: 一個(gè)Tensor。
dtype: 輸出結(jié)果Tensor的數(shù)據(jù)類型,必須是 float32,float64,int8,int16,int32,int64,uint8或者complex64。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,里面的所以數(shù)據(jù)都是1。
tf.fill(dims, value, name = None)
解釋:這個(gè)函數(shù)返回一個(gè)Tensor,數(shù)據(jù)維度是dims,填充的數(shù)據(jù)都是value。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.fill([2,3], 9) print sess.run(data)
輸入?yún)?shù):
dim: 一個(gè)Tensor,數(shù)據(jù)類型是int32,表示輸出數(shù)據(jù)的維度。
value: 一個(gè)Tensor,數(shù)據(jù)維度是0維,即是一個(gè)常量(標(biāo)量),輸出數(shù)據(jù)所以填充的都是該值。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,數(shù)據(jù)類型和value相同。
tf.constant(value, dtype = None, shape = None, name = "Const")
解釋:這個(gè)函數(shù)返回一個(gè)常量Tensor。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.constant([1, 2, 3]) print sess.run(data) data = tf.constant(-1.0, shape = [2, 3]) print sess.run(data) data = tf.constant(2.0, dtype = tf.float32, shape = [2, 3]) print sess.run(data)
輸入?yún)?shù):
value: 一個(gè)常量或者是一個(gè)數(shù)組,該數(shù)據(jù)類型就是輸出的數(shù)據(jù)類型。
dtype: 輸出數(shù)據(jù)的類型。
shape:(可選)輸出數(shù)據(jù)的維度。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)常量Tensor。
Tensorflow提供了一些函數(shù),去幫助我們構(gòu)建序列。
tf.linspace(start, stop, num, name = None)
解釋:這個(gè)函數(shù)返回一個(gè)序列數(shù)組,數(shù)組的第一個(gè)元素是start,如果num>1,那么序列的最后一個(gè)元素就是 stop - start / num - 1。也就是說,最后一個(gè)元素肯定是stop。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.linspace(10.0, 15.0, 10) print sess.run(data)
輸入?yún)?shù):
start: 一個(gè)Tensor。數(shù)據(jù)類型必須是float32或者float64。該值是輸出序列的第一個(gè)元素。
stop: 一個(gè)Tensor。數(shù)據(jù)類型必須和start相同。該值是輸出序列的最后一個(gè)元素。
num: 一個(gè)Tensor,數(shù)據(jù)類型是int32。該值確定輸出序列的個(gè)數(shù)
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,數(shù)據(jù)類型和start相同,數(shù)據(jù)維度是一維。
tf.range(start, limit, delta = 1, name = "range")
解釋:這個(gè)函數(shù)返回一個(gè)序列數(shù)組,數(shù)組的第一個(gè)元素是start,之后的每一個(gè)元素都在前一個(gè)元素的基礎(chǔ)上,加上delta,直到limit,但是不包括limit。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.range(3, 15, 3) print sess.run(data)
輸入?yún)?shù):
start: 一個(gè)0維的Tensor,即一個(gè)標(biāo)量。數(shù)據(jù)類型必須是int32。該值是輸出序列的第一個(gè)元素。
limit: 一個(gè)0維的Tensor,即一個(gè)標(biāo)量。數(shù)據(jù)類型必須是int32。該值是輸出序列的最后限制,但不包含該值。
delta: 一個(gè)0維的Tensor,即一個(gè)標(biāo)量。數(shù)據(jù)類型必須是int32。(可選)該值默認(rèn)是1,也就是說輸出數(shù)據(jù)從start開始。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,數(shù)據(jù)類型int32,數(shù)據(jù)維度是一維。
Tensorflow提供了一些函數(shù),去幫助我們構(gòu)建隨機(jī)數(shù)張量。
tf.random_normal(shape, mean = 0.0, stddev = 1.0, dtype = tf.float32, seed = None, name = None)
解釋:這個(gè)函數(shù)返回一個(gè)隨機(jī)數(shù)序列,數(shù)組里面的值按照正態(tài)分布。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.random_normal([2, 3]) print sess.run(data)
輸入?yún)?shù):
shape: 一個(gè)一維的Tensor,或者是一個(gè)python數(shù)組。該值是確定輸出序列的數(shù)據(jù)維度。
mean: 一個(gè)0維的Tensor,或者一個(gè)數(shù)據(jù)類型是dtype的python值。該值表示正態(tài)分布的均值。
stddev: 一個(gè)0維的Tensor,或者一個(gè)數(shù)據(jù)類型是dtype的python值,該值表示正態(tài)分布的標(biāo)準(zhǔn)偏差。
dtype: 輸出數(shù)據(jù)的數(shù)據(jù)類型。
seed: 一個(gè)python整型,為分布產(chǎn)生一個(gè)隨機(jī)種子,具體可以參見set_random_seed函數(shù)。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,數(shù)據(jù)類型是dtype,數(shù)據(jù)維度是shape,里面的值符合正態(tài)分布。
tf.truncated_normal(shape, mean = 0.0, stddev = 1.0, dtype = tf.float32, seed = None, name = None)
解釋:這個(gè)函數(shù)返回一個(gè)隨機(jī)數(shù)序列,數(shù)組里面的值按照正態(tài)分布,但和random_normal函數(shù)不同的是,該值返回的是一個(gè)截?cái)嗟恼龖B(tài)分布類型。也就是說,產(chǎn)生出來的值范圍都是在 [mean - 2 * standard_deviations, mean + 2 * standard_deviations]內(nèi),下圖可以告訴你這個(gè)具體范圍在哪。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.truncated_normal([2, 3]) print sess.run(data)
輸入?yún)?shù):
shape: 一個(gè)一維的Tensor,或者是一個(gè)python數(shù)組。該值是確定輸出序列的數(shù)據(jù)維度。
mean: 一個(gè)0維的Tensor,或者一個(gè)數(shù)據(jù)類型是dtype的python值。該值表示正態(tài)分布的均值。
stddev: 一個(gè)0維的Tensor,或者一個(gè)數(shù)據(jù)類型是dtype的python值,該值表示正態(tài)分布的標(biāo)準(zhǔn)偏差。
dtype: 輸出數(shù)據(jù)的數(shù)據(jù)類型。
seed: 一個(gè)python整型,為分布產(chǎn)生一個(gè)隨機(jī)種子,具體可以參見set_random_seed函數(shù)。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,數(shù)據(jù)類型是dtype,數(shù)據(jù)維度是shape,里面的值是一個(gè)截?cái)嗟恼龖B(tài)分布。
tf.random_uniform(shape, minval = 0.0, maxval = 1.0, dtype = tf.float32, seed = None, name = None)
解釋:這個(gè)函數(shù)返回一個(gè)隨機(jī)數(shù)序列,數(shù)組里面的值按照均勻分布,數(shù)據(jù)范圍是 [minval, maxval)。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.random_uniform([2, 3]) print sess.run(data)
輸入?yún)?shù):
shape: 一個(gè)一維的Tensor,或者是一個(gè)python數(shù)組。該值是確定輸出序列的數(shù)據(jù)維度。
minval: 一個(gè)0維的Tensor,或者一個(gè)數(shù)據(jù)類型是dtype的python值。該值表示均勻分布的最小值。
maxval: 一個(gè)0維的Tensor,或者一個(gè)數(shù)據(jù)類型是dtype的python值,該值表示均勻分布的最大值,但是不能取到該值。
dtype: 輸出數(shù)據(jù)的數(shù)據(jù)類型。
seed: 一個(gè)python整型,為分布產(chǎn)生一個(gè)隨機(jī)種子,具體可以參見set_random_seed函數(shù)。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,數(shù)據(jù)類型是dtype,數(shù)據(jù)維度是shape,里面的值符合均勻分布。
tf.random_shuffle(value, seed = None, name = None)
解釋:這個(gè)函數(shù)返回一個(gè)隨機(jī)數(shù)序列,將value中的數(shù)據(jù)打亂輸出。
使用例子:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np sess = tf.Session() data = tf.constant([[1, 2], [3, 4], [5, 6]]) shuff_data = tf.random_shuffle(data) print sess.run(data) print sess.run(shuff_data) data = tf.constant([1, 2, 3, 4, 5, 6]) shuff_data = tf.random_shuffle(data) print sess.run(data) print sess.run(shuff_data)
輸入?yún)?shù):
value: 一個(gè)Tensor,需要打亂的數(shù)據(jù)。
seed: 一個(gè)python整型,為分布產(chǎn)生一個(gè)隨機(jī)種子,具體可以參見set_random_seed函數(shù)。
name:(可選)為這個(gè)操作取一個(gè)名字。
輸出參數(shù):
一個(gè)Tensor,數(shù)據(jù)類型和數(shù)據(jù)維度都和value相同。
tf.set_random_seed(seed)
解釋:這個(gè)函數(shù)是設(shè)置圖層面的隨機(jī)種子。隨機(jī)種子分為兩類,一類是圖層面的隨機(jī)種子,另一類是操作層面的隨機(jī)種子。具體區(qū)別如下:
第一種,如果圖層面和操作層面的隨機(jī)種子都沒有設(shè)置,那么隨機(jī)種子將在每個(gè)操作中被更新。例子如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np a = tf.random_uniform([1]) b = tf.random_normal([1]) print "Session 1" with tf.Session() as sess1: print sess1.run(a) # generates "A1" print sess1.run(a) # generates "A2" print sess1.run(b) # generates "B1" print sess1.run(b) # generates "B2" print "Session 2" with tf.Session() as sess2: print sess2.run(a) # generates "A3" print sess2.run(a) # generates "A4" print sess2.run(b) # generates "B3" print sess2.run(b) # generates "B4"
第二種,如果圖層面的隨機(jī)種子被設(shè)置了,但是操作層面的隨機(jī)種子沒有被設(shè)置。那么,系統(tǒng)將把圖層面的隨機(jī)種子設(shè)置成操作層面的隨機(jī)種子,以至于操作層面的隨機(jī)種子將被確定下來。
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np tf.set_random_seed(1234) a = tf.random_uniform([1]) b = tf.random_normal([1]) # Repeatedly running this block with the same graph will generate different # sequences of "a" and "b". print "Session 1" with tf.Session() as sess1: print sess1.run(a) # generates "A1" print sess1.run(a) # generates "A2" print sess1.run(b) # generates "B1" print sess1.run(b) # generates "B2" print "Session 2" with tf.Session() as sess2: print sess2.run(a) # generates "A1" print sess2.run(a) # generates "A2" print sess2.run(b) # generates "B1" print sess2.run(b) # generates "B2"
第三種,如果圖層面的隨機(jī)種子沒有被設(shè)置,但是操作層面的隨機(jī)種子被設(shè)置了,那么被設(shè)置隨機(jī)種子的操作層將有確定的唯一種子,其他操作層不具有唯一種子。
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np a = tf.random_uniform([1], seed=1) b = tf.random_normal([1]) # Repeatedly running this block with the same graph will generate the same # sequence of values for "a", but different sequences of values for "b". print "Session 1" with tf.Session() as sess1: print sess1.run(a) # generates "A1" print sess1.run(a) # generates "A2" print sess1.run(b) # generates "B1" print sess1.run(b) # generates "B2" print "Session 2" with tf.Session() as sess2: print sess2.run(a) # generates "A1" print sess2.run(a) # generates "A2" print sess2.run(b) # generates "B3" print sess2.run(b) # generates "B4"
第四種,如果圖層面和操作層面都設(shè)置了隨機(jī)種子,那么這兩個(gè)隨機(jī)種子都將被使用,但是最后起作用的隨機(jī)種子是唯一的,即操作的隨機(jī)輸出值是確定的。
#!/usr/bin/env python # -*- coding: utf-8 -*- import tensorflow as tf import numpy as np tf.set_random_seed(1234) a = tf.random_uniform([1], seed = 1) b = tf.random_normal([1], seed = 2) # Repeatedly running this block with the same graph will generate the same # sequence of values for "a", but different sequences of values for "b". print "Session 1" with tf.Session() as sess1: print sess1.run(a) # generates "A1" print sess1.run(a) # generates "A2" print sess1.run(b) # generates "B1" print sess1.run(b) # generates "B2" print "Session 2" with tf.Session() as sess2: print sess2.run(a) # generates "A1" print sess2.run(a) # generates "A2" print sess2.run(b) # generates "B1" print sess2.run(b) # generates "B2"
輸入?yún)?shù):
seed: 一個(gè)整數(shù)類型。
作者:chen_h
微信號 & QQ:862251340
簡書地址:https://www.jianshu.com/p/d05...
CoderPai 是一個(gè)專注于算法實(shí)戰(zhàn)的平臺,從基礎(chǔ)的算法到人工智能算法都有設(shè)計(jì)。如果你對算法實(shí)戰(zhàn)感興趣,請快快關(guān)注我們吧。加入AI實(shí)戰(zhàn)微信群,AI實(shí)戰(zhàn)QQ群,ACM算法微信群,ACM算法QQ群。長按或者掃描如下二維碼,關(guān)注 “CoderPai” 微信號(coderpai)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41234.html
摘要:解釋這個(gè)函數(shù)的作用是對的維度進(jìn)行重新組合。其中,表示要解壓出來的的個(gè)數(shù)。如果,無法得到,那么系統(tǒng)將拋出異常。異常如果沒有被正確指定,那么將拋出異常。向量中的值必須滿足,并且其長度必須是。對于每個(gè)切片的輸出,我們將第維度的前的數(shù)據(jù)進(jìn)行翻轉(zhuǎn)。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/00...
摘要:數(shù)據(jù)維度是一維,表示輸出密集張量的維度。解釋這個(gè)函數(shù)的作用是將稀疏張量的坐標(biāo)轉(zhuǎn)換成密集張量中的布爾坐標(biāo)。一個(gè)布爾類型的向量,向量長度是,并且其中包含個(gè)值。一個(gè)布爾類型的向量,數(shù)據(jù)長度是,如果該行填充了,那么該位置的布爾值為。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/c23... 計(jì)...
摘要:輸出數(shù)據(jù)的第維將根據(jù)指定。輸入數(shù)據(jù)必須是一個(gè)二維的矩陣,經(jīng)過轉(zhuǎn)置或者不轉(zhuǎn)置,內(nèi)部維度必須相匹配。默認(rèn)情況下,該標(biāo)記都是被設(shè)置為。解釋這個(gè)函數(shù)的作用是將兩個(gè) 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/ce4... 計(jì)劃現(xiàn)將 tensorflow 中的 Python API 做一個(gè)學(xué)習(xí),...
摘要:使用例子輸入?yún)?shù)一個(gè),數(shù)據(jù)類型必須是以下之一,,,,,,。解釋這個(gè)函數(shù)的作用是沿著指定的維度,分割張量中的值,并且返回最大值。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/4da... 計(jì)劃現(xiàn)將 tensorflow 中的 Python API 做一個(gè)學(xué)習(xí),這樣方便以后的學(xué)習(xí)。原文鏈接...
摘要:表示元素是否放電的概率。更加具體的表示細(xì)節(jié)為注意,必須有。數(shù)據(jù)維度是四維。在大部分處理過程中,卷積核的水平移動步數(shù)和垂直移動步數(shù)是相同的,即。 作者:chen_h微信號 & QQ:862251340微信公眾號:coderpai簡書地址:https://www.jianshu.com/p/e3a... 計(jì)劃現(xiàn)將 tensorflow 中的 Python API 做一個(gè)學(xué)習(xí),這樣方便以后...
閱讀 1164·2023-04-25 17:28
閱讀 3568·2021-10-14 09:43
閱讀 3973·2021-10-09 10:02
閱讀 1950·2019-08-30 14:04
閱讀 3137·2019-08-30 13:09
閱讀 3278·2019-08-30 12:53
閱讀 2907·2019-08-29 17:11
閱讀 1829·2019-08-29 16:58