久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

谷歌機器學(xué)習(xí)框架 ---- TensorFlow

 小王曾是少年 2022-08-24 發(fā)布于江蘇

有關(guān)TensorFlow與其他框架的詳細對比可以閱讀:

https://zhuanlan.zhihu.com/p/25547838

01?TensorFlow的編程模式

編程模式分為兩種:命令式編程符號式編程

前者是我們常用的C++,java等語言的編程風(fēng)格如下

命令式編程看起來邏輯非常清晰,易于理解,。而符號式編程涉及較多的嵌入和優(yōu)化,如下

執(zhí)行相同的計算時c,d可以共用內(nèi)存,使用TensorFlow實現(xiàn)的語言如下

02?TensorFlow的基礎(chǔ)結(jié)構(gòu)

TF的基礎(chǔ)模型主要包括三個部分,即Tensor(張量),Graph(圖),Session(會話)

Tensor與Tensor之間可能有各種數(shù)學(xué)運算,所有的Tensor運算結(jié)構(gòu)就是一張Graph,而Session負責(zé)和設(shè)備交互

為了更好的理解圖和會話,可以把整個程序想象成高中化學(xué)經(jīng)常碰到的串聯(lián)反應(yīng)裝置

張量就像導(dǎo)管中流動的氣體,操作就像是“加熱、攪拌”等等,。會話(Session)的作用是將圖的某一部分運行起來

將上述過程類比到程序運行過程如下:

所以TF編程的基本流程即為:首先定義算法的計算圖結(jié)構(gòu),再使用會話執(zhí)行運算

?

03?Tensor(張量)

第零階張量 (r = 0) 為標(biāo)量?(Scalar),第一階張量 (r = 1) 為向量?(Vector), 第二階張量 (r = 2) 則成為矩陣?(Matrix),更高階數(shù)則統(tǒng)一稱為張量。

Tensor有兩個基本屬性即:數(shù)據(jù)類型dtype和形狀shape,。分為Constant(常量),、Variable(變量)、Placeholder(占位符),、SparseTensor(稀疏張量)

SparseTensor的概念類似線性代數(shù)里的稀疏矩陣概念,。

稀疏矩陣:在矩陣中,若數(shù)值為0的元素數(shù)目遠遠多于非0元素的數(shù)目,并且非0元素分布沒有規(guī)律時,則稱該矩陣為稀疏矩陣。

indices定義value中數(shù)值的下標(biāo)索引

Tensor表示法:

?基本編程模式:

import tensorflow as tf

# 創(chuàng)建一個常量 Operation(操作)
hw = tf.constant("Hello World! I love Tensorflow !")

# 啟動一個Tensorflow的Session()
sess = tf.Session()

# 運行 Graph(計算圖)
print(sess.run(hw))

# 關(guān)閉Session(會話)
sess.close()

04 可視化利器TensorBoard

使用TensorBoard可以輸出像下面這樣的流程圖,使得程序變得可視化,使得程序結(jié)構(gòu)非常清晰,。

使用TensorBoard的步驟:

1.用TensorFlow保存圖的信息到日志中

tf.summary.FileWriter("日志保存路徑", sess.graph)

2.用TensorFlow讀取并展示日志

tensorboard --logdir=日志所在路徑
import tensorflow as tf

# 構(gòu)造圖(Graph)的結(jié)構(gòu)
# 用一個線性方程的例子 y = w * x + b
w = tf.Variable(2.0, dtype=tf.float32, name="weight")
b = tf.Variable(1.0, dtype=tf.float32, name="bias")
x = tf.placeholder(dtype=tf.float32, name="input")

with tf.name_scope("output"):   # 輸出的命名空間
    y = w * x + b

# 定義保存日志的路徑
path = './log'

# 創(chuàng)建用于初始化所有變量的操作
init = tf.global_variables_initializer()

# 創(chuàng)建Session
with tf.Session() as sess:
    sess.run(init)  # 初始化變量
    writer = tf.summary.FileWriter(path, sess.graph)
    result = sess.run(y, {x: 3.0})
    print("y = %s" % result)

命令行輸入 tensorboard --logdir=log

雙擊output,可以看到計算表達式的結(jié)構(gòu)

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多