python庫--tensorflow


 

方法 返回值類型 參數 說明
張量   
.constant()

Tensort

張量

實例t

value 創建一個常量tensor
dtype=None 輸出類型
shape=None 返回tensor的形狀
name='Const' 張量名
verify_shape=False 是否保留輸入數據的形狀且不能被更改. True若shape與輸入形狀不一致則報錯
t.device str 表示tensor將被產生的設備名稱
t.dtype   元素類型
t.graph   此tensor被哪個圖所有
t.name   張量名
t.op   產生這個tensor作為輸出的操作
t.shape TensorShape tensor的形狀
t.value_index   表示這個tensor在其操作結果中的索引
t.consumers() list   返回消耗這個tensor的操作列表
t.eval() ndarray feed_dict=None 用於placeholder賦初始值{placeholder_object: value}
session=None 用來計算此tensor的session
t.get_shape() TensorShape   tensor的形狀
t.set_shape() None shape 更新tensor的形狀, verify_shape=False
       
.zeros() Tensor (shape, dtype=tf.float32, name=None) 按shape生成一個全0 tensor
.zeros_like() Tensor (tensor, dtype=None, name=None) 按tensor的shape創建一個新全0 tensor
.ones()   .ones_like() Tensor 參考上面兩個, 創建全1 tensor
.fill() Tensor (dims, value, name=None) 值全為value, 形狀為dims的tensor
.linspace() 1DTensor 創建包含num個元素, 且步長固定的tensor
start 起始值(包含)
stop 結束值(包含)
num 步長 = (stop - start) / (num-1)
name=None 張量名
.range() 1DTensor (start, limit, delta=1, name='range') 創建范圍為[start, limit)步長為delta的tensor

.placeholder()

占位符(feed_dictation) run的時候才賦初始值

Tensor dtype 數據類型, 必須制定, 推薦float32(或1)
shape=None 指定返回張量的形狀, None表示任意形狀, 某一維為None則表示次維不做限制
name=None 張量名
       
       

.nn.embedding_

lookup()

Tensor params 多維數據,
ids 多維數據, 值為params的索引, 返回params的對應值
partition_strategy='mod'  
name=None 張量名
validate_indices=True  
max_norm=None  
       
 

.layers.dense()

全連接層

Tensor  
inputs 二維tensor
units 輸出空間的維度(該層神經單元節點數)
activation及其以后參數同tf.layers.conv1d
       
變量   
.Variable()

Variable

變量

實例v

initial_value Tensor or Tensor_like. 變量的初始化值. 必須指定shape, 除非validate_shape=False
trainable=True 是否將該變量添加到圖形集合`GraphKeys.TRAINABLE_VARIABLES`
collections=None 圖表集合鍵的列表。新的變量被添加到這些集合中。默認為`[GraphKeys.GLOBAL_VARIABLES]`
validate_shape=True 是否允許變量初始化為未知形狀的值
caching_device=None 描述設備的字符串, 表示哪個設備用來讀取緩存. 默認是device
name=None 變量名
variable_def=None  
dtype=None 指定數據類型
expected_shape=None TensorShape類型. 要是設置了, 那么初始的值會是這種形狀
import_scope=None  
v.device   設備名稱
v.dtype   數據類型
v.graph   存放變量的圖
v.initial_value Tensor 變量的初始值
v.initializer   變量的初始化器
v.name   變量名
v.op   產生這個variable作為輸出的操作
v.assign() Variable value 為變量指定一個新值(形狀相同)
use_locking=False  
v.assign_add() Variable delta, use_locking 為這個變量加上一個值(形狀相同)
v.assign_sub() Variable delta, use_locking 為這個變量減去一個值(形狀相同)
v.count_up_to() Variable limit 上限值. 當Op運行時, 它試圖將變量+1, 如果增加變量使其超過限制, 將會引發異常
v.eval()   session=None 在一個session里計算並返回變量值
v.get_shape()     返回變量的形狀
v.initialized_value() Tensor   返回已經初始化變量的值
v.load() Variable value 新的變量值. 把新值載入到變量里
session=None 用來估算這個變量的Session
v.read_value() Tensor   返回這個變量的值
v.scatter_sub()   sparse_delta  
use_locking=False  
v.set_shape() Variable shape 改變變量形狀
       
 .get_variable() Variable name 新的或現有變量名(可用於變量復用)
shape=None 新變量或現有變量的形狀
dtype=None 新變量或現有變量的類型
initializer=None 變量的初始值設定項
regularizer=None  
trainable=True 是否將變量添加到圖形集合
collections=None 圖形集合鍵列表
caching_device=None  
partitioner=None  
validate_shape=True 是否允許變量初始化為未知形狀的值
use_resource=None  
custom_getter=None  
       
    將value賦給ref來更新ref
.assign() Variable ref Veriable
    value 跟ref同類型的Tensor
    validate_shape=None True: value需和ref形狀相同(默認)
    False: ref將對value的形狀進行引用
    use_locking=None  
    name=None 操作的名稱
       
.global_variables()     返回全局變量
.local_variables()     返回局部變量
.variables_ initializer()   var_list 待初始化變量列表
name='init' 操作的名稱
.global_variables_ initializer() Op   (替換tf.initialize_all_variables()的新方法)返回一個初始化所有全局變量的操作. 類似variables_initializers(global_variables())
.local_variables_ initializer() Op   返回一個初始化所有局部變量的操作
       
Graph(圖)   
.get_default_graph()     返回默認圖
.Graph() 實例g   創建一個圖
g.building_function      
g.finalized     若此圖被終止了則返回True
g.graph_def_versions      
g.seed     此圖的圖層隨機種子
g.version      
g.add_to_collection()    
name  
value  
g.as_default() with...:   將此圖設為默認, 其包含的張量將在此圖中
g.device()   matmul_on_gpu 參見tf.device
g.finalize()     結束這個Graph, 使得它只讀
g.get_all_collection_ key() list   返回Graph中的collection列表
g.get_operation_ by_name()   name 根據操作名返回操作
g.get_operations() list   返回圖中操作列表
g.get_tensor_by_ name() Tensor name 根據張量名返回tensor
g.is_feedable() bool tensor 判斷tensor能否被feed
g.is_fetchable() bool tensor_or_op 判斷tensor或op能否被取到
g.name_scope()     參考tf.name_scope()
       
Session
.InteractiveSession() 實例s 創建一個新的session並設為默認
target='' 連接執行引擎, 默認in-process
graph=None 要計算的graph
config=None  
.Session() 實例s 創建一個新的session, 包含了操作對象執行的環境
target='' 連接執行引擎, 默認in-process
graph=None 要計算的graph
config=None  
s.graph     "投放"到session中的圖
s.graph_def     圖的描述
s.sess_str      
s.run()   運行操作計算tensor
fetches 圖中的一個元素, 或元素列表. 或一個字典, 返回也將是字典, key不變, 值變為運算后的值
feed_dict=None 用於placeholder賦初始值
options=None  
run_metadata=None  
s.close()     關閉這個session
s.as_default() with...:   將此對象設為默認的session
       
優化器Optimizer(tf.train)
.Optimizer()     優化器類的基類(基本不用)
       
.GradientDescent Optimizer() Op 創建一個梯度下降算法的優化器
learning_rate 要是用的學習率
use_locking=False  
name='GradientDescent' 操作的名稱
Op.compute_ gradients()    
loss 待減小的值
var_list=None 默認GraphKey.TRAINABLE_VARIABLES
gate_gradients= GATE_OP  
aggregation_method=N  
colocate_gradients_with_ ops=False  
grad_loss=None  
       
.AdadeltaOptimizer   實現了Adadelta算法的優化器, 可以算是Adagrad算法的改進版
learning_rate=0.001 學習率
rho=0.95 衰減率
epsilon=1e-08  
use_locking=False  
name='Adadelta' 操作的名稱
       
.AdagradOptimizer   實現了Adagrad算法的優化器
learning_rate 學習率
initial_accumulator_ value=0.1  
use_locking=False  
name='Adagrad' 操作的名稱
       
.Momentum Optimizer()      
       
.AdamOptimizer()      
       
數學函數(Math)點擊跳轉到官方API(有牆)
       
.argmax() Tensor 返回指定維度最大值的位置
input Tensor
axis=None 默認維度0
name=None 操作名稱
output_type=tf.int64 tf.int32或tf.int64
.argmin() Tensor 同.argmax但作用相反
       
.matmul() Tensor 計算矩陣的積  
a,b 需要計算的兩個矩陣
transpose_a=False 是否將a計算前進行轉置
transpose_b=False 是否將b計算前進行轉置
adjoint_a=False 是否將a計算前進行共軛轉置
adjoint_b=False 是否將b計算前進行共軛轉置
a_is_sparse=Fasle a是否是稀疏矩陣
b_is_sparse=Fasle b是否是稀疏矩陣
       
隨機值   
.random_normal() Tensor 返回一個指定形狀,被隨機正態分布值填充的tensor
shape 指定返回張量的形狀
mean=0.0 正態分布的均值
stddev=1.0 正態分布的標准差
dtype=tf.float32 輸出類型: float32, float64, int32或int64
seed=None 隨機數種子
name=None 張量名
.truncated_normal() Tensor 返回一個指定形狀,被截斷正態分布(truncated normal distribution)值填充的tensor(參數同上)
.random_unifrom()

Tensor

服從均值分布的隨機數, 區間為[minval, maxval)
shape 指定返回張量的形狀
minval=0 隨機值范圍的下界(默認[0, 1))
maxval=None 隨機值范圍的上界(int則必須指定此值)
dtype, seed, name 同上
.random_shuffle()  Tensor  在第一個維度隨機打亂順序(可在隨機梯度下降的時候用)
value 待打亂的tensor
seed, name 同上
       
形狀相關操作
.shape() Tensor 返回輸入Tensor的形狀
input 輸入的Tensor
name=None 操作的名稱
out_type=tf.int32 輸出數據的數據類型
.shape_n()      
.size()   返回輸入Tensor的元素數量(參數同tf.shape)
.rank()   (input, name=None)返回tensor的維度數
.reshape() Tensor 改變一個tensor的形狀
tensor 輸入tensor
shape tensor形狀(某個分量可以是-1, 將將自動計算此值)
name=None 操作的名稱
.squeeze()      
.expand_dims()      
       

.reduce_max()

參考np.max

Tensor input_tensor 傳入一個tensor或可轉換為tensor的數據
axis=None(原reduction_indices) 選擇操作的維度, 默認操作全部數據
keep_dims=False 是否保留原維度, 否則計算后維度降低
name=None 張量名
.reduce_* Tensor 參考.reduce_max參數 參考np.*
       
基本神經網絡組件
激活函數(輸入輸出維度一致)    
.nn.relu() Tensor 計算修正線性單元
features tensor
name=None 操作的名稱
.nn.relu6()      
.nn.crelu()      
.nn.elu()      
.nn.softsign()      
.nn.dropout() Tensor 隨機丟棄一部分神經元 (有助於防止過度擬合)
inputs Tensor
rate=0.5 丟包率
noise_shape=None  
seed=None 隨機種子
training=False  
name=None 操作名稱
.nn.bias_add()      
.sigmoid()      
.tanh()      
       
分類      
.nn.sigmoid_cross_ entropy_with_logits()      
.nn.softmax() Tensor softmax = tf.exp(logits) / tf.reduce_sum(tf.exp(logits), dim)
logits Tensor
dim=-1 運算的維度, 默認最后一個維度
name=None 操作名稱
.nn.log_softmax() Tensor logsoftmax = logits - log(reduce_sum(exp(logits), dim))
參數同.nn.softmax()  
.nn.softmax_cross_ entropy_with_logits() Tensor 計算交叉熵(禁止使用位置參數)(損失函數, 越小模型越優)
labels=None 有效概率分布
logits=None 估計概率分布
dim=-1 維度, 默認最后一個維度
name=None 操作名稱
.nn.sparse_softmax_ cross_entropy_with_ logits()      
.nn.weighted_cross_ entropy_with_logits()      
       
各種卷積網絡
基本卷積操作      

.layers.conv1d()

Tensor inputs 張量輸入
filters 整數, 輸出空間的維數(即, 卷積核的數量)
kernel_size 一個整數或一個整數的元組/列表, 指定1D卷積窗的長度
strides=1 一個整數或一個整數的元組/列表, 指定卷積的步幅長度
padding='valid' 'valid'或'same'不區分大小寫
data_format= 'channels_last'  
dilation_rate=1  
activation=None 激活函數, 默認線性激活
ues_bias=True 是否使用偏置
kernel_initializer=None 卷積核初始化
bias_initializer= tf.zeros_initializer() 偏置初始化, 默認初始化為0
kernel_regularizer=None 卷積核化的正則化
bias_regularizer=None 偏置項的正則化
activity_regularizer=None 輸出的正則化函數
kernel_constraint=None  
bias_constraint=None  
trainable=True 該層的參數是否參與訓練, True則變量加入到圖集合中
name=None 該層的名稱
reuse=None 是否重復使用參數
       

.layers.conv2d()

Tensor 二維卷積
參數同.layers.conv1d, 只列出不同
kernel_size 一個整數或2個整數的元組/列表, 指定2D卷積窗口的高度和寬度. 一個整數表示高=寬
strides 一個整數或2個整數的元組/列表, 指定沿高度和寬度的步幅長度
dilation_rate  
       
.nn.conv2d() Tensor 二維卷積
input 輸入
filter [濾波器高,濾波器寬,深度(同輸入),濾波器個數(輸出的深度 )]
strides 滑動步長, 一般為[1, x_strides, y_strides, 1]
padding 'SAME'會有0填充, 使步長為1時保持輸入輸出尺寸不變, 而'VALID'則采取丟棄
use_cudnn_on_gpu=N  
data_format=None 指明輸入數據和輸出數據的格式. 'NHWC': 數據存儲格式為[batch, in_height, in_width, in_channels]; 'NCHW': 數據存儲格式為[batch, in_channels, in_height, in_width]
name=None 操作的名稱
       
.nn.atrous_conv2d() Tensor 空洞卷積(沒有stride參數, 因為被固定為了1)
value 4DTensor, 需要'NHWC'格式
filters [濾波器高,濾波器寬,深度(同輸入),濾波器個數(輸出的深度 )]
rate 插入(rate-1)數量的'0'
padding 'VALID'或'SAME'. 'VALID'返回:[batch, height-2*(filter_width-1), width-2*(filter_height-1), out_channels]的Tensor; 'SAME'返回:[batch, height, width, out_channels]的Tensore
name=None 操作的名稱
       
池化操作(Pooling)     
.nn.avg_pool() Tensor 平均
value [batch, height, width, channels]
ksize 濾波器形狀, 一般二維圖像為[1,高,寬,1]
strides 步長, 一般為[1, x_strides, y_strides, 1]
padding 'VALID'或'SAME'
date_format='NHWC' 'NHWC'或'NCHW'
name=None 操作名
.nn.max_pool()      
.nn.max_pool_with_ argmax()      
.nn.avg_pool3d()      
.nn.max_pool3d()      
.nn.fractional_avg_ pool()      
.nn.fractional_max_ pool()      
.nn.pool()      
       
.device() with...: '/cpu:0' 指定運算設備為CPU, 即使多個CPU也不區分.
'/gpu:n' 多個GPU的名稱是不同的, 第一個為'/gpu:0'
       
.name_scope() with...: name 在其下使用Variable, 變量名(V_n)前會被加上'name/...'且相同V_n會自動添加后綴加以區分, 使用get_variable, V_n不會變化, 且出現相同V_n會報錯
default_name=None 如果`name`參數是`None`,則使用默認名稱
values=None  
.variable_scope() with...as sc:

name_or_scope Variable以及get_variable變量名(V_n)前面都會被加上'name/...'但只有Variable的V_n會自動加后綴區分, 而在get_variable重復V_n前面加上sc.reuse_variables()可實現變量復用(指向同一變量)不加則報錯
default_name=None 如果`name_or_scope`參數是`None`,則使用默認名稱
values=None  
initializer=None 此范圍內變量的默認初始值設定項
regularizer=None 此范圍內的變量的默認regularizer
caching_device=None 此范圍內的變量的默認緩存設備
partitioner=None 此范圍內變量的默認分區程序
custom_getter=None 這個范圍內的變量的默認自定義getter
reuse=None  
dtype=None 在此作用域中創建的變量類型
use_resource=None  
       

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM