有關(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表示法: ?基本編程模式:
04 可視化利器TensorBoard使用TensorBoard可以輸出像下面這樣的流程圖,使得程序變得可視化,使得程序結(jié)構(gòu)非常清晰,。 使用TensorBoard的步驟: 1.用TensorFlow保存圖的信息到日志中
2.用TensorFlow讀取并展示日志
命令行輸入 tensorboard --logdir=log 雙擊output,可以看到計算表達式的結(jié)構(gòu) |
|