Tensorflow(一) 基础命令
Tensorflow是怎樣運(yùn)作的
1. 導(dǎo)入或生成數(shù)據(jù)集
2. 對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化
3. 將數(shù)據(jù)集劃分成三部分:訓(xùn)練集、測試集合驗(yàn)證(validation)集:驗(yàn)證集用于調(diào)整假設(shè)參數(shù),以獲取一組最好的假設(shè)參數(shù)
4. 設(shè)定算法參數(shù)
5. 初始化變量(Variable)和占位符(Placeholder)
6. 定義模型結(jié)構(gòu)
7. 聲明損失函數(shù)
8. 初始化并訓(xùn)練模型
9. 評(píng)估模型
10. 調(diào)整假設(shè)參數(shù)
11. 部署/預(yù)測新的輸出
聲明變量(Variable)和張量(Tensor)
固定張量:
創(chuàng)建一個(gè)由0填充的張量:
zero_tsr = tf.zeros([row_dim, col_dim])
創(chuàng)建一個(gè)由1填充的張量:
ones_tsr = tf.ones([row_dim, col_dim])
創(chuàng)建一個(gè)由常數(shù)填充的張量:
filled_tsr = tf.fill([row_dim, col_dim], 42)
創(chuàng)建一個(gè)張量類型的常數(shù)
constant_tsr = tf.constant([1,2,3])
序列張量:
linear_tsr = tf.linspace(start=0, stop=1, start=3)
integer_seq_tsr = tf.range(start=6, limit=15, delta=3)
隨機(jī)張量:
randunif_tsr = tf.random_uniform([row_dim, col_dim],minval=0, maxval=1)
randnorm_tsr = tf.random_normal([row_dim, col_dim],mean=0.0,stddev=1.0)
truncnorm_tsr = tf.truncated_normal([row_dim, col_dim],mean=0.0, stddev=1.0)
# mean表示均值,stddev表示偏差
randnorm=tf.random_normal(shape=[1000],mean=0 ,stddev=1.)
randtrun=tf.truncated_normal(shape=[1000],mean=0,stddev=1.)
對比
shuffled_output = tf.random_shuffle(input_tensor)
cropped_image = tf.random_crop(my_image, [height/2, width/2,3])
使用占位符(Placeholder)和變量(Variable)
變量:就是算法中的那些參數(shù),tenserflow框架會(huì)時(shí)刻追蹤著那些變量,調(diào)整變量的值,使算法最優(yōu)化。
placeholder:占位符,你可以往里面喂進(jìn)制定類型和形狀的張量。
代碼
使用矩陣
//創(chuàng)建對角矩陣
identity_matrix = tf.diag([1.0, 1.0, 1.0])
//將數(shù)組轉(zhuǎn)化為張量
D = tf.convert_to_tensor(np.array([[1., 2., 3.],[-3., -7.,-1.],[0., 5., -2.]]))
//兩個(gè)矩陣相乘
tf.matmul(m1,m2)
//對矩陣進(jìn)行轉(zhuǎn)置操作
tf.transpose(m)
//計(jì)算矩陣所對應(yīng)的行列式的值
tf.matrix_determinant(m)
//獲取該矩陣的逆矩陣
tf.matrix_inverse(m)
//使用cholesky分解:一個(gè)對稱正定矩陣可以表示成一個(gè)下三角矩陣L和其轉(zhuǎn)置的乘積的分解
tf.cholesky(m)
//獲取矩陣的特征值和特征向量
tf.self_adjoint_eig(m)
聲明操作(Operation)
abs()
求輸入tensor的絕對值
ceil()
對tensor進(jìn)行向上取整
cos()
求tensor的cos值
exp()
求tensor以e為底的指數(shù)
floor()
對tensor進(jìn)行向下取整
inv()
求tensor的倒數(shù)
log()
求tensor的自然對數(shù)
maximum()
選取兩個(gè)tensor中較大的那個(gè)元素
minimum()
選取兩個(gè)tensor中較小的那個(gè)元素
neg()
求tensor的負(fù)數(shù)
pow()
第一個(gè)tensor作為底數(shù),第二個(gè)tensor作為指數(shù)
round()
獲取tensor的約數(shù),四舍五入
rsqrt()
求tensor的平方根到倒數(shù)
sign()
根據(jù)tensor的sign值返回-1,0,1
sin()
求tensor的sin值
sqrt()
求tensor的平方根
square()
求tensor的平方
squared_difference()
求兩個(gè)tensor的差的平方
輸出結(jié)果
實(shí)現(xiàn)激活函數(shù)
sigmod 類:
sigmod: 1/(1+exp(-x))
tanh: ((exp(x)- exp(-x))/(exp(x)+exp(-x))
softsign: x/(abs(x) + 1)
輸出圖像
ReLu 類:
softplus: log(exp(x) + 1)
ReLu: max(0,x)
ReLu6: min(max(0,x),6)
ExpLu(elu): (exp(x)-1) if x < 0 else x
總結(jié)
以上是生活随笔為你收集整理的Tensorflow(一) 基础命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 情人节专属!vivo X90全新告白配色
- 下一篇: TensorFlow(二)函数基础