【Tensorflow】小白入门实战基础篇(下)
生活随笔
收集整理的這篇文章主要介紹了
【Tensorflow】小白入门实战基础篇(下)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import tensorflow as tf
import numpy as npsess = tf.Session()# 一、矩陣運算# div返回的是商的向下取整 數據類型與輸入數據類型一致
print(sess.run(tf.div(3,4)))
# truediv在除法前強制轉換整數為浮點數
print(sess.run(tf.truediv(3,4)))
# 對浮點數進行整數除法,可以使用floordiv()函數。
# 注意,此函數也返回浮點數結果,但是其會向下舍去小數位到最近的整數
print(sess.run(tf.floordiv(3.0,4.0)))
# 另外一個重要的函數是mod()(取模)。此函數返回除法的余數
print(sess.run(tf.mod(22.0,5.0)))
# 通過cross()函數計算兩個張量間的點積。
# 記住,點積函數只為三維向量定義,所以cross()函數以兩個三維張量作為輸入
print(sess.run(tf.cross([1.,0.,0.],[0.,1.,0.])))# 二、實現激勵函數
# 激勵函數是神經網絡引入的非線性部分,并需要知道在什么位置使用激勵函數。
# ①如果激勵函數的取值范圍在0和1之間,比如sigmoid激勵函數,
# 那計算圖輸出結果也只能在0到1之間取值。
# ②如果激勵函數隱藏在節點之間,
# 就要意識到激勵函數作用于傳入的張量的影響。
# ③如果張量要縮放為均值為0,
# 就需要使用激勵函數使得盡可能多的變量在0附近。
# 這暗示我們選用(tanh)函數或者softsign函數。# 1. 整流線性單元ReLU=max(0,x)連續但不平滑
print(sess.run(tf.nn.relu([-3.,3.,10.])))
# [ 0. 3. 10.]# 2. ReLU6=min(max(0,x),6)用來抵消ReLU的線性增長的部分
# hard-sigmod函數的變種,運行速度快,解決梯度消失
print(sess.run(tf.nn.relu6([-3.,3,10])))
# [0. 3. 6.]# 3. sigmod=1/1+(exp(-x))∈[-1,1]是最常用的連續平滑的激勵函數也被成為邏輯函數
# 由于在機器學習訓練過程中反向傳播項趨近于0,因此不怎么使用
print(sess.run(tf.nn.sigmoid([-1.,0.,1.])))
#[0.26894143 0.5 0.7310586 ]# 4. tanh=((exp(x)-exp(-x))/(exp(x)+exp(-x))雙曲正切函數∈[0,1]曲線類似于sigmoid
print(sess.run(tf.nn.tanh([-1.,0.,1.])))# 5. softsign=x/(abs(x)+1) 是符號函數的連續估計(-1,1)
print(sess.run(tf.nn.softsign([-1.,0.,-1.])))# 6. softplus激勵函數是ReLU激勵函數的平滑版(0,∞)
# 表達式為:log(exp(x)+1)
print(sess.run(tf.nn.softplus([-1.,0.,-1.])))
# 當輸入增加時,softplus激勵函數趨近于∞,softsign函數趨近于1;
# 當輸入減小時,softplus激勵函數趨近于0,softsign函數趨近于-1。# 7. ELU激勵函數與softplus激勵函數相似
# 不同點在于:當輸入無限小時,ELU激勵函數趨近于-1,而softplus激勵函數趨近于0
# 表達式為(exp(x)+1) if x<0 else x
print(sess.run(tf.nn.elu([-1.,0.,-1.])))# 三、讀取數據源# 1.鳶尾花數據集
from sklearn import datasets
iris = datasets.load_iris() # 鳶尾花數據集
print(len(iris.data)) # 150 特征
print(len(iris.target)) # 150 標簽
print(iris.data[0]) # [5.1 3.5 1.4 0.2]
print(set(iris.target)) # {0, 1, 2}# 2.出生體重數據
birth_url = 'https://www.umass.edu/statdata/statdata/data/lowbwt.dat'# 3.波士頓房價
house_url='https://archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data'
house_header = ['CRIM','ZN','INDUS','CHAS','NOX','RM','AGE','DIS','RAD','TAX','PTRATIO','B','LSTAT','MEDV0']# 4. MNIST手寫字體庫 要科學上網才能訪問
# from tensorflow.examples.tutorials.mnist import input_data
# mnist = input_data.read_data_sets("MNIST_data/",one_hot=True)
# print(len(mnist.test.images))
# print(len(mnist.train.images))
# print(len(mnist.validation.images))
# print(mnist.train.labels[1,:])# 5. 電影數據集
file_url ='http://www.cs.cornell.edu/people/pabo/movie-review-data/'
# 6. 垃圾短信
message_url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/00228/smsspamcollection.zip'
# 7. 莎士比亞文本數據集
text_url = 'http://gutenberg.org/cache/epub/100/pg100.txt'
# 8. 翻譯樣本集
sentence_url = 'http://www.manythings.org/anki/deu-eng.zip'
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的【Tensorflow】小白入门实战基础篇(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可信知识实证在UGC时代情报应用中的思考
- 下一篇: 基于裁判文书与犯罪案例文本挖掘项目