日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python系列-人工智能篇:帶你搞懂TensorFlow基礎(chǔ)入門

 測試開發(fā)技術(shù) 2022-06-18 發(fā)布于廣東

 閱讀全文需8.5分鐘,公號內(nèi)回復me可免費領(lǐng)取學習資料。

01

開篇

當今在互聯(lián)網(wǎng)混,不隨口說出深度學習,人工智能,機器學習,神經(jīng)網(wǎng)絡等詞,人家都懷疑是個假的互聯(lián)網(wǎng)人了,但相信大部分沒有深入接觸這塊知識的人來說,對于這幾個概念,都還是傻傻分不清?

記得,自從AlphaGo那波,業(yè)界似乎對機器學習推到一個新的高度??

本來是不太想沾這趟混水的,但是作為一名技術(shù)控,還是需要了解一下,至少也得對概念有點印象。

對于人工智能這塊領(lǐng)域,筆者也還是一名小學生,如果對這塊有不對的地方,請各位同學及時提出~

02


掃盲

深度學習,人工智能,機器學習,神經(jīng)網(wǎng)絡,這4個詞在近幾年出現(xiàn)的比較多,但是它們之間有什么關(guān)系呢?尤其,機器學習跟深度學習區(qū)別在哪里??

人工智能,英文Artificial Intelligence,簡稱AI,那人工智能的目的是什么?
網(wǎng)上一大堆,好聽的叫解放/發(fā)展生產(chǎn)力,解放人類,總的來說是提高效率?。?!

但更通俗的理解就是幫助人們:偷懶!

比如當你說一句話時,機器能夠識別成文字,并理解你話的意思,進行分析和對話等。

人工智能的核心在于智能兩字,那智能怎么來的?主要歸功于一種實現(xiàn)人工智能的方法--機器學習;

那目前人工智能的應用場景有哪些:OCR、語音技術(shù)(比如Siri)、大數(shù)據(jù)應用等。

機器學習:一種實現(xiàn)人工智能的方法!

機器學習最基本的做法,是使用算法來解析數(shù)據(jù)、從中學習,然后對事件做出決策和預測。
需要用大量的數(shù)據(jù)來“訓練”,通過各種算法從數(shù)據(jù)中學習如何完成任務。

舉個例子,當瀏覽網(wǎng)上商城時,經(jīng)常會出現(xiàn)商品推薦的信息。
這是商城根據(jù)往期的購物記錄和冗長的收藏清單,識別出這其中哪些是真正感興趣,并且愿意購買的產(chǎn)品。
這樣的決策模型,可以幫助商城為客戶提供建議并鼓勵產(chǎn)品消費。

機器學習通常分為三類

第一類是無監(jiān)督學習,指的是從信息出發(fā)自動尋找規(guī)律,并將其分成各種類別,有時也稱"聚類問題"。

第二類是監(jiān)督學習,監(jiān)督學習指的是給歷史一個標簽,運用模型預測結(jié)果。
如有一個水果,我們根據(jù)水果的形狀和顏色去判斷到底是香蕉還是蘋果,這就是一個監(jiān)督學習的例子。

最后一類為強化學習,是指可以用來支持人們?nèi)プ鰶Q策和規(guī)劃的一個學習方式,它是對人的一些動作、行為產(chǎn)生獎勵的回饋機制,通過這個回饋機制促進學習,這與人類的學習相似,所以強化學習是目前研究的重要方向之一。

深度學習:一種實現(xiàn)機器學習的技術(shù)
深度學習是機器學習的一個子領(lǐng)域,是利用深度的神經(jīng)網(wǎng)絡,將模型處理得更為復雜,從而使模型對數(shù)據(jù)的理解更加深入;

深度學習的核心是,我們現(xiàn)在有足夠快的計算機和足夠的數(shù)據(jù)來實際訓練大型神經(jīng)網(wǎng)絡

三者的區(qū)別和聯(lián)系:
機器學習是一種實現(xiàn)人工智能的方法,深度學習是一種實現(xiàn)機器學習的技術(shù)。

神經(jīng)網(wǎng)絡:是一種機器學習的算法
以“停止(Stop)標志牌”為例,將一個停止標志牌圖像的所有元素都打碎,然后用神經(jīng)元進行“檢查”:八邊形的外形、消防車般的紅顏色、鮮明突出的字母、交通標志的典型尺寸和靜止不動運動特性等等。神經(jīng)網(wǎng)絡的任務就是給出結(jié)論,它到底是不是一個停止標志牌。神經(jīng)網(wǎng)絡會根據(jù)所有權(quán)重,給出一個經(jīng)過深思熟慮的猜測——“概率向量”。

神經(jīng)網(wǎng)絡是需要調(diào)制、訓練的,不然會很容易出錯的。

OK,講到這里,相信大家對幾者之間的概念已經(jīng)有所了解了,至少知道這些是什么東西了。


簡單總結(jié)下:

機器學習是一種實現(xiàn)人工智能的方法,深度學習是一種實現(xiàn)機器學習的技術(shù),神經(jīng)網(wǎng)絡是一種實現(xiàn)機器學習的算法!

03


TensorFlow簡介

TensorFlow是Google在2015年11月份開源的人工智能系統(tǒng),由Google Brain團隊的研發(fā)人員負責,該系統(tǒng)可以被用于實現(xiàn)機器學習和深度學習語音識別、圖片識別等多個領(lǐng)域。

官網(wǎng)對TensorFlow的介紹是一個使用數(shù)據(jù)流圖技術(shù)來進行數(shù)值計算的開源軟件庫。

  • 數(shù)據(jù)流圖中的節(jié)點,代表數(shù)值運算;

  • 節(jié)點節(jié)點之間的邊,代表多維數(shù)據(jù)(tensors)之間的某種聯(lián)系。

  • 可以在多種設備(含有CPU或GPU)上通過簡單的API調(diào)用來使用該系統(tǒng)的功能。

官網(wǎng)地址:https://github.com/tensorflow/tensorflow

什么是數(shù)據(jù)流圖?
數(shù)據(jù)流圖是描述有向圖中的數(shù)值計算過程。有向圖中的節(jié)點通常代表數(shù)學運算,但也可以表示數(shù)據(jù)的輸入、輸出和讀寫等操作;有向圖中的邊表示節(jié)點之間的某種聯(lián)系,它負責傳輸多維數(shù)據(jù)(Tensors)。

節(jié)點可以被分配到多個計算設備上,可以異步和并行地執(zhí)行操作。因為是有向圖,所以只有等到之前的入度節(jié)點們的計算狀態(tài)完成后,當前節(jié)點才能執(zhí)行操作。

TensorFlow的特性

  • 靈活性,TensorFlow不是一個嚴格的神經(jīng)網(wǎng)絡工具包,只要你可以使用數(shù)據(jù)流圖來描述你的計算過程,你可以使用TensorFlow做任何事情。你還可以方便地根據(jù)需要來構(gòu)建數(shù)據(jù)流圖,用簡單的Python語言來實現(xiàn)高層次的功能。

  • 可移植性,TensorFlow可以在任意具備CPU或者GPU的設備上運行,你可以專注于實現(xiàn)你的想法,而不用去考慮硬件環(huán)境問題,你甚至可以利用Docker技術(shù)來實現(xiàn)相關(guān)的云服務。

  • 提高開發(fā)效率,TensorFlow可以提升你所研究的東西產(chǎn)品化的效率,并且可以方便與同行們共享代碼- 支持語言選項,目前TensorFlow支持Python和C++語言。

  • 充分利用硬件資源,最大化計算性能。

TensorFlow最新版本為2.0,在TensorFlow2.x中擯棄了TensorFlow 1.x的諸多弊病,進一步整合TensorFlow和Keras,號稱能像Numpy一樣暢爽運行,快速、可擴展、可投入生產(chǎn)。

目前,TensorFlow包含開源的創(chuàng)新和社區(qū)參與,同時也具有大公司的支持,指導和穩(wěn)定性。

正是因為有著大量的優(yōu)勢,TensorFlow適合個人和企業(yè),從初創(chuàng)公司到大型公司,以及Google。即從2015年11月開源以來,TensorFlow已經(jīng)成為最為令人興奮的機器學習庫之一。它被越來越多地應用到研究,生產(chǎn)和教育中。

04


TensorFlow安裝

如果你已經(jīng)安裝了Python(或者是為了學習TensorFlow的目的安裝的),你可以通過下面的pip安裝:

pip install tensorflow

但是,這個方法的壞處在于,TensorFlow會覆蓋現(xiàn)有的包,并安裝特定的版本來滿足依賴性。

如果你要使用這個Python來做其他用途的話,這個方法是不可行的。一個常見的做法就是在虛擬環(huán)境中安裝TensorFlow,通過一個叫做virtualenv的軟件實現(xiàn)。這取決于你的環(huán)境,你可能不需要在你的機器上安裝virtualenv。要安裝virtualenv的話,輸入:

pip install virtualenv

可查看http://virtualenv. 獲取更多的操作指南。

為了在虛擬環(huán)境中安裝TensorFlow,你必須要先創(chuàng)建虛擬環(huán)境,例如將其放在~/envs目錄中,可以隨意放在你喜歡的任何地方。

cd ~mkdir envsvirtualenv ~/envs/tensorflow

這會在~/envs目錄下創(chuàng)建一個名為TensorFlow的虛擬環(huán)境(會展現(xiàn)為~/envs/tensorflow目錄的形式)。啟動這個虛擬環(huán)境,使用:

source ~/envs/tensorflow/bin/activate

提示會發(fā)現(xiàn)變化表明環(huán)境已經(jīng)啟動了,再使用輸入pip的安裝命令:

(tensorflow) pip install tensorflow

上面是CPU的版本,或者是安裝GPU的版本:

pip install tensorflow-gpu

更多詳細的安裝介紹可參考:

https://github.com/jikexueyuanwiki/tensorflow-zh/blob/master/SOURCE/get_started/os_setup.md

05


TensorFlow第一個示例

現(xiàn)在,我們已經(jīng)安裝并設置好了TensorFlow的環(huán)境。開始寫一個簡單的TensorFlow的程序吧,打印當前TensorFlow版本、計算1+2的值,并將“Hello”和“World”結(jié)合起來,顯示出字段——“HelloWorld”。

import osimport tensorflow as tf
os.environ["TF_CPP_MIN_LOG_LEVEL"]='2'
print(tf.__version__)print(tf.add(1, 2).numpy())hello = tf.constant('Hello, TensorFlow!')print(hello.numpy())

如果在運行過程中,提示:

這是因為tensorflow默認分布是在沒有CPU擴展的情況下構(gòu)建的,例如SSE4.1,SSE4.2,AVX,AVX2,F(xiàn)MA等。默認構(gòu)建(來自pip3 install tensorflow)可以與盡可能多的CPU兼容。如果沒有GPU,并希望盡可能利用CPU的資源。

可以在最頂行增加如下代碼

import os  # os.environ["TF_CPP_MIN_LOG_LEVEL"]='1' # 這是默認的顯示等級,顯示所有信息  os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # 只顯示 warning 和 Error   # os.environ["TF_CPP_MIN_LOG_LEVEL"]='3' # 只顯示 Error

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多