日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

深度学习tensorflow数据流图基础知识点

發布時間:2024/1/23 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深度学习tensorflow数据流图基础知识点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

一、深度學習與機器學習區別

(一)特征提取方面

1、機器學習的特征工程步驟是要靠手動完成的,而且需要大量領域專業知識? 深度學習通常由多個層組成,它們通常將更簡單的模型組合在一起,通過將數

據從一層傳遞到另一層來構建更復雜的模型。通過大量數據的訓練自動得到模型,不需

要人工設計特征提取環節。

2、深度學習算法試圖從數據中學習高級功能,這是深度學習的一個非常獨特的部

分。因此,減少了為每個問題開發新特征提取器的任務。適合用在難提取特征的圖像、

語音、自然語言領域。

(二)數據方面

1、機器學習需要的執行時間遠少于深度學習

2、深度學習參數往往很龐大,需要通過大量數據的多次優化來訓練參數。

(三)算法方面

1、?機器學習

代表:K-Means、決策樹、線性回歸等

2、?深度學習

代表:神經網絡

(四)深度學習應用場景

1、?圖像識別

物體識別

車型識別

人臉檢測跟蹤

人臉身份認證

2、?自然語言處理技術

機器翻譯

聊天對話

3、?語音技術

語音識別

(五)常用的深度學習框架

1、?Caffe

2、Torch

3、?Theano

4、TensorFlow

5、?MXNet

6、?PaddlePaddle--百度飛漿

二、TensorFlow 框架 簡介

1、高度靈活(Deep Flexibility)

它不僅是可以用來做神經網絡算法研究,也可以用來做普通的機器學習算

法,甚至是只要你能夠把計算表示成數據流圖,都可以用 TensorFlow。

2、語言多樣(Language Options)

TensorFlow 使用 C++實現的,然后用 Python 封裝。

3、設備支持

TensorFlow 可以運行在各種硬件上,同時根據計算的需要,合理將運算分配

到相應的設備,比如卷積就分配到 GPU 上,也允許在 CPU 和 GPU 上的計算分

布,甚至支持使用 gRPC 進行水平擴展。

4、Tensorboard 可視化

TensorBoard 是 TensorFlow 的一組 Web 應用,用來監控 TensorFlow 運行過

程,或可視化 Computation Graph。

三、tensorflow數據流圖基礎知識點

1、什么是tensorflow數據流圖(Data Flow Graph):
官方的解釋為:數據流圖用“結點”(nodes)和“線”(edges)的有向圖來描述數學計算。“節點” 一般用來表示施加的數學操作,但也可以表示數據輸入(feed in)的起點/輸出(push out)的終點,或者是讀取/寫入持久變量(persistent variable)的終點。“線”表示“節點”之間的輸入/輸出關系。這些數據“線”可以輸運“size可動態調整”的多維數據數組,即“張量”(tensor)。張量從圖中流過的直觀圖像是這個工具取名為“Tensorflow”的原因。一旦輸入端的所有張量準備好,節點將被分配到各種計算設備完成異步并行地執行運算。

2、tensorflow數據流圖如下所示

3、直接打印tensor相加之和,沒有得到相加的結果定義一個op之后得到一個tensor,tensor包含的是op

import tensorflow as tf import oscon_a = tf.constant(3) con_b = tf.constant(4)con_c = tf.add(con_a,con_b)print(con_c) #Tensor("Add:0", shape=(), dtype=int32)


返回的結果為Tensor("Add:0", shape=(), dtype=int32),而不是結果預期的數值


4、如果我們要得到運行結果,需要進行下面開啟會話執行op的代碼

import tensorflow as tf import oscon_a = tf.constant(3) con_b = tf.constant(4)con_c = tf.add(con_a,con_b) #開啟會話,執行op with tf.Session() as ss:print(ss.run(con_c))


得到的結果為數值7。

5、會話是什么?
tensorflow底層是c++寫的,而我們寫的代碼是python代碼,所謂會話便是連接python和c++的地方。

6、關于op與tensor
op其實是操作,tensor張量的本質是n維數組。

7、tensor和session都有grap圖屬性,通過graph來獲取圖屬性,如果不特殊指定,都在默認的圖中執行

import tensorflow as tfcon_a = tf.constant(3) con_b = tf.constant(4)con_c = tf.add(con_a,con_b) print(con_a.graph) print(con_b.graph) print(con_c.graph)g = tf.Graph() with tf.Session() as ss:print(ss.graph)''' <tensorflow.python.framework.ops.Graph object at 0x000000000239F390> <tensorflow.python.framework.ops.Graph object at 0x000000000239F390> <tensorflow.python.framework.ops.Graph object at 0x000000000239F390> <tensorflow.python.framework.ops.Graph object at 0x000000000239F390> '''


8、使用get_default_graph()獲取默認圖的地址

import tensorflow as tfcon_a = tf.constant(3) con_b = tf.constant(4)con_c = tf.add(con_a,con_b) print(con_c.graph) print(tf.get_default_graph()) g = tf.Graph() with tf.Session() as ss:print(ss.graph) ''' <tensorflow.python.framework.ops.Graph object at 0x000000000258F390> <tensorflow.python.framework.ops.Graph object at 0x000000000258F390> <tensorflow.python.framework.ops.Graph object at 0x000000000258F390> '''


9、使用tf.Graph()創建自定義圖來運行數據
在這里我們要先創建圖,創建完成后在圖中定義tensor和op,之后使用with tf.Session(graph=g) as ss來開啟graph指定要運行的圖。

import tensorflow as tf# 創建圖 g = tf.Graph() with g.as_default():#在創建的圖中定義tensor和opg_a = tf.constant(5.0)print(g_a)#Tensor("Const:0", shape=(), dtype=float32)#開啟graph指定要運行的圖,如果我們想要得到運行的結果,必須進行下面這段代碼 with tf.Session(graph=g) as ss:print(ss.run(g_a)) #5.0


10、在上述代碼大體分成兩個階段
1.構建圖階段

2.執行圖階段

11、關于結果標紅問題
代碼運行可能出現下面的結果:I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2

這時候加入下面兩句話即可解決這個問題:

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

?
?

總結

以上是生活随笔為你收集整理的深度学习tensorflow数据流图基础知识点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。