2021-05-12 14:32:11
TensorFlow 常用函數整理
TensorFlow 將圖形定義轉換成分散式執行的操作, 以充分利用可用的計算資源(如 CPU 或 GPU。一般你不需要顯式指定使用 CPU 還是 GPU, TensorFlow 能自動檢測。如果檢測到 GPU, TensorFlow 會盡可能地利用找到的第一個 GPU 來執行操作.平行計算能讓代價大的演算法計算加速執行,TensorFlow也在實現上對複雜操作進行了有效的改進。大部分核相關的操作都是裝置相關的實現,比如GPU。
下面是一些重要的操作/核:
操作組 | 操作 |
Maths | Add, Sub, Mul, Div, Exp, Log, Greater, Less, Equal |
Array | Concat, Slice, Split, Constant, Rank, Shape, Shuffle |
Matrix | MatMul, MatrixInverse, MatrixDeterminant |
Neuronal Network | SoftMax, Sigmoid, ReLU, Convolution2D, MaxPool |
Checkpointing | Save, Restore |
Queues and syncronizations | Enqueue, Dequeue, MutexAcquire, MutexRelease |
Flow control | Merge, Switch, Enter, Leave, NextIteration |
一、 TensorFlow的算術操作
操作 | 描述 |
tf.add(x, y, name=None) | 求和 |
tf.sub(x, y, name=None) | 減法 |
tf.mul(x, y, name=None) | 乘法 |
tf.div(x, y, name=None) | 除法 |
tf.mod(x, y, name=None) | 取模 |
tf.abs(x, name=None) | 求絕對值 |
tf.neg(x, name=None) |
取負 (y = -x) |
tf.sign(x, name=None) |
返回符號 y = sign(x) = -1 if x < 0; 0 if x == 0; 1 if x > 0. |
tf.inv(x, name=None) | 取反 |
tf.square(x, name=None) | 計算平方 (y = x * x = x^2) |
tf.round(x, name=None) |
捨入最接近的整數 # ‘a’ is [0.9, 2.5, 2.3, -4.4] |
tf.sqrt(x, name=None) | 開根號 (y = sqrt{x} = x^{1/2}). |
tf.pow(x, y, name=None) |
冪次方 (元素級) # tensor ‘x’ is [[2, 2], [3, 3]] |
tf.exp(x, name=None) | 計算e的次方 |
tf.log(x, name=None) | 計算log,一個輸入計算e的ln,兩輸入以第二輸入為底 |
tf.maximum(x, y, name=None) | 返回最大值 (x > y ? x : y) |
tf.minimum(x, y, name=None) | 返回最小值 (x < y ? x : y) |
tf.cos(x, name=None) | 三角函數cosine |
tf.sin(x, name=None) | 三角函數sine |
tf.tan(x, name=None) | 三角函數tan |
tf.atan(x, name=None) | 三角函數ctan |
二、張量操作Tensor Transformations
2.1 資料型別轉換Casting
操作 | 描述 |
tf.string_to_number (string_tensor, out_type=None, name=None) |
字串轉為數位 |
tf.to_double(x, name=’ToDouble’) | 轉為64位元浮點型別–float64 |
tf.to_float(x, name=’ToFloat’) | 轉為32位元浮點型別–float32 |
tf.to_int32(x, name=’ToInt32’) | 轉為32位元整型–int32 |
tf.to_int64(x, name=’ToInt64’) | 轉為64位元整型–int64 |
tf.cast(x, dtype, name=None) |
將x或者x.values轉換為dtype # tensor |
2.2 形狀操作Shapes and Shaping
操作 | 描述 |
tf.shape(input, name=None) |
返回資料的shape # ‘t’ is [[[1, 1, 1], [2, 2, 2]], [[3, 3, 3], [4, 4, 4]]] |
tf.size(input, name=None) |
返回資料的元素數量 # ‘t’ is [[[1, 1, 1], [2, 2, 2]], [[3, 3, 3], [4, 4, 4]]]] |
tf.rank(input, name=None) |
返回tensor的rank(維度) 注意:此rank不同於矩陣的rank, |
tf.reshape(tensor, shape, name=None) |
改變tensor的形狀 # tensor ‘t’ is [1, 2, 3, 4, 5, 6, 7, 8, 9] |
tf.expand_dims(input, dim, name=None) |
相關文章 |