深度學習使用場景:
● 影象理解
● 語音識別
● 自然語言處理
● 機器自主(無人駕駛)
深度學習,如深度神經網路、卷積神經網路和遞迴神經網路已被應用計算機視覺、語音識別、自然語言處理、音訊識別與生物資訊學等領域並取得了很好的效果。
深度學習在人工智慧領域的地位:
深度學習框架:
● 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的...