1.資料型別轉換函式
# 定義乙個張量
a = tf.constant([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]], dtype=tf.int64)
# 強制轉換型別函式
b = tf.cast(a, tf.float32)
# reduce_max查詢張量中最大的數,axis=x表示對對應的行或者列求和
# 本例中為二維張量,0對應的對列進行操作,1表示對行進行操作
# 如果沒有設定axis則表示在整個張量中進行操作。
max_col = tf.reduce_max(b, axis=0)
max_val = tf.reduce_max(b)
# reduce_max查詢張量中最小的數或者行列
min_row = tf.reduce_min(b, axis=1)
min_val = tf.reduce_min(b)
#根據操作軸求出對應操作軸的均值,沒有設定axis時,得到總的平均值。
mean_col = tf.reduce_mean(b, axis=0)
# 對張量進行求和,axis沒設定時,得到張量所有元素的和
sum_row = tf.reduce_sum(a, axis=1)
#輸出結果b
tf.tensor([6. 7. 8.], shape=(3,), dtype=float32)
tf.tensor(8.0, shape=(), dtype=float32)
tf.tensor([0. 3. 6.], shape=(3,), dtype=float32)
tf.tensor(0.0, shape=(), dtype=float32)
tf.tensor([3. 4. 5.], shape=(3,), dtype=int64)
tf.tensor([ 3 12 21], shape=(3,), dtype=int64)
2.標記可訓練的引數的函式
被標記的引數會在反向傳播中記錄梯度資訊
w = tf.variable(tf.random.normal([2, 2], mean=0.5, stddev=1))
#輸出結果
3.數**算函式
數的加減乘除,次方,平方,開方
注:進行數**算時,必須保證shape,dtype相同才能運算
x = tf.ones([2, 3])
y = tf.fill([2, 3], 5.)
add = tf.add(x, y)
sub = tf.subtract(x, y)
mul = tf.multiply(x, y)
*** = tf.divide(y, x)
pou = tf.pow(y, 3)
sqr = tf.square(y)
sqt = tf.sqrt(y)
#輸出結果
tf.tensor([[1. 1. 1.]], shape=(1, 3), dtype=float32)
tf.tensor([[5. 5. 5.]], shape=(1, 3), dtype=float32)
tf.tensor([[6. 6. 6.]], shape=(1, 3), dtype=float32)
tf.tensor([[-4. -4. -4.]], shape=(1, 3), dtype=float32)
tf.tensor([[5. 5. 5.]], shape=(1, 3), dtype=float32)
tf.tensor([[5. 5. 5.]], shape=(1, 3), dtype=float32)
tf.tensor([[125. 125. 125.]], shape=(1, 3), dtype=float32)
tf.tensor([[25. 25. 25.]], shape=(1, 3), dtype=float32)
tf.tensor([[2.236068 2.236068 2.236068]], shape=(1, 3), dtype=float32)
矩陣乘法運算
x = tf.ones([2, 3])
y = tf.fill([3, 2], 5.)
mat = tf.matmul(x, y)
# 輸出結果
tf.tensor(
[[15. 15.]
[15. 15.]], shape=(2, 2), dtype=float32)
4.求導函式
使用函式,對指定的變數進行求導,注意變數型別。
with tf.gradienttape() as tape:
w = tf.variable(tf.constant(3.0))
loss = tf.pow(w, 2)
grad = tape.gradient(loss, w)
print(grad)
輸出結果:
tf.tensor(6.0, shape=(), dtype=float32)
5.特徵標籤配對函式
使用dataset.from_tensor_slices((特徵,標籤)),對特徵和標籤進行配對,構建資料集
feature = tf.constant([9, 8, 7, 6])
label = tf.constant([0, 1, 1, 0])
dataset = tf.data.dataset.from_tensor_slices((feature, label))
print(dataset)
for element in dataset:
print(element)
# 輸出結果
(, )
(, )
(, )
(, )
tensorflow2 0學習筆記(3 2)
自編碼器變種 1 denoising auto encoder 加隨機雜訊 2 dropout auto encoder 防止過擬合 3 adversarial auto encoder 利用額外的判別器網路來判定降維的隱藏變數?是否取樣先驗分布?對抗自編碼器是從下一章要介紹的生成對抗網路演算法衍生...
Tensorflow2 0學習筆記 建立張量
使用constant建立張量 使用constant函式建立張量 其中 1,5 表示張量內容,dtype表示資料型別 a tf.constant 1,5 dtype tf.int32 輸出a,a的資料型別,a的形狀 print a print a.dtype print a.shape 輸出結果 tf...
tensorflow2 0視訊記憶體設定
遇到乙個問題 新買顯示卡視訊記憶體8g但是tensorflow執行的時候介面顯示只有約6.3g的視訊記憶體可用,如下圖 即限制了我的視訊記憶體,具體原因為什麼我也不知道,但原來的視訊記憶體小一些的顯示卡就沒有這個問題。目前的解決辦法是 官方文件解決 然後對應的中文部落格 總結一下,就是下面的兩個辦法...