深度學習 初識TensorFlow

2021-10-08 13:29:26 字數 3861 閱讀 5564

深度學習使用場景:

● 影象理解

● 語音識別

● 自然語言處理

● 機器自主(無人駕駛)

深度學習,如深度神經網路、卷積神經網路和遞迴神經網路已被應用計算機視覺、語音識別、自然語言處理、音訊識別與生物資訊學等領域並取得了很好的效果。

深度學習在人工智慧領域的地位:

深度學習框架:

● google brain計畫產物

● 應用於alpha go,gmail,google maps等1000多個產品

● 於2023年11月開源,2023年2月發布1.0版本。2023年10月發布2.0版本

● 架構師jeff deam

● 領導實現mapreduce、bigtable、spanner

1、真正的可移植性

引入各種計算裝置的支援,包括:cpu/gpu/tpu,以及能夠很好地執行在移動端,如安卓裝置、io、樹莓派等等。

2、多語言支援

tensorflow有乙個合理的c++使用介面,也有乙個易用的python使用介面來構建和執行你的graphs,你可以直接寫python/c++程式。

3、高度的靈活性和效率

tensorflow是乙個採用資料流圖(data flow graphs),用於數值計算的開源軟體庫能夠靈活進行組裝圖,執行圖。隨著開發的進展,tensorflow的效率在不斷的提高。

4、支援

tensorflow由谷歌提供支援,谷歌投入了大量精力開發tensorflow,它希望tensorflow成為機器學習研究人員和開發人員的通用語言。

谷歌數千種產品使用了tensorflow:

無數公司也用了tensorflow:

通過案例來了解分析tensorflow的整個結構

常規加法運算:

# coding:utf-8

def add(a, b):

return a + b

a = 1

b = 2

c = add(1, 2)

print(c)

tensorflow加法運算:

# coding:utf-8

import tensorflow as tf

tf.compat.v1.disable_eager_execution()

# 實現乙個加法演算法

a = tf.constant(5.0)

b = tf.constant(6.0)

sum1 = tf.add(a, b)

sess = tf.compat.v1.session()

print(sess.run(sum1))

tensorflow資料流圖:

● 圖預設已經註冊,一組表示tf.operation計算單位的物件和tf.tensor表示操作之間流動的資料單元的物件

● 獲取呼叫

1.tf.get_default_graph

2.op、sess或者tensor的graph屬性

● tf.graph()

● 使用新建立的圖

g = tf.graph()

with g.as_default():

a = tf.constant(1.0)

assert c.graph is g

**:

# coding:utf-8

import tensorflow as tf

import os

os.environ['tf_cpp_min_log_level'] = '2'

# 建立一張圖,上下文環境

g = tf.graph()

print(g)

with g.as_default():

c = tf.constant(11.0)

print(c.graph)

# 實現乙個加法運算

tf.compat.v1.disable_eager_execution()

# 實現乙個加法演算法

a = tf.constant(5.0)

b = tf.constant(6.0)

sum1 = tf.add(a, b)

sess = tf.compat.v1.session()

print(sess.run(sum1))

print(a.graph)

print(sum1.graph)

print(sess.graph)

輸出:

11.0

● tf.session()

執行tensorflow操作圖的類,使用預設註冊的圖(可以指定執行圖)

● 會話資源

會話可能擁有很多資源,如tf.variable,tf.queuebase和tf.readerbase,會話結束後需要進行資源釋放

1.sess = tf.session()         sess.run(...)         tf.queuebase

2.使用上下文管理器

with tf.session() as sess:

sess.run(...)

● config = tf.configproto(log_device_placement=true)

● 互動式:tf.interactivesession()

● run(fetches,feed_dict=none,graph=none)

執行ops和計算tensor

● 巢狀列表,元祖,

namedtuple,dict或ordereddict(過載的運算子也能執行)

● feed_dict允許呼叫者覆蓋圖中指定張量的值,提供給placeholder使用

● 返回值異常

runtimeerror:如果它session處於無效狀態(例如已關閉)。

typeerrror:如果feches或feed_dict鍵是不合適的型別。

valueerror:如果feches或feed_dict鍵無效或引起tensor不存在。

**:

# coding:utf-8

import tensorflow.compat.v1 as tf

tf.disable_eager_execution()

# 訓練模型

# 實時地提供資料去訓練

# placeholder是乙個佔位符,feed_dict乙個字典

plt = tf.placeholder(dtype=tf.float32, shape=[none, 3])

sess = tf.session()

print(sess.run(plt, feed_dict=))

初識深度學習

初識深度學習 深度學習裡面有兩個重要的數學概念 導數 偏導數。深度學習是採用神經網路,用於解決線性不可分的問題。所謂深度學習,就是具有很多個隱層的神經網路。神經網路分為輸入層 輸出層和隱層。不斷學習訓練和修正。深度學習是乙個不斷磨合的過程,剛開始定義乙個標準引數 這些都是驗值 然後不斷地修正,得出每...

深度學習初識(1)

1.深度學習從生命的生物機理中獲得靈感,但是它與大腦的工作原理差別非常巨大。2.描述深度學習 1 學著描繪世界的機器 machines that learn to represent the word 端對端的機器學習 end to end machine learning 在乙個能夠學習的機器中,...

大話深度學習(一) 初識深度前饋神經網路

初識深度前饋神經網路 深度前饋神經網路可簡稱為前饋神經網路,前饋神經網路最具有代表性的乙個樣例就是多層感知機 mlp 模型。前饋神經網路的模型是向前的,模型的輸入與輸出不存在鏈結,例如乙個輸入輸出滿足乙個函式y f x x為輸入,y為輸出。資訊從x經過f x 到達y,這個過程中f以及x並沒有因為y的...